@cubist-labs/cubesigner-sdk 0.4.241 → 0.4.244

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/src/schema.ts CHANGED
@@ -1751,34 +1751,99 @@ export type webhooks = Record<string, never>;
1751
1751
  export interface components {
1752
1752
  schemas: {
1753
1753
  AcceptedResponse: components["schemas"]["ErrorResponse"] & Record<string, never>;
1754
+ /** @description Different responses we return for success status codes. */
1755
+ AcceptedValue: OneOf<
1756
+ [
1757
+ {
1758
+ SignDryRun: components["schemas"]["SignDryRunArgs"];
1759
+ },
1760
+ {
1761
+ BinanceDryRun: components["schemas"]["BinanceDryRunArgs"];
1762
+ },
1763
+ {
1764
+ MfaRequired: components["schemas"]["MfaRequiredArgs"];
1765
+ },
1766
+ ]
1767
+ >;
1768
+ /** @enum {string} */
1769
+ AcceptedValueCode: "SignDryRun" | "BinanceDryRun" | "MfaRequired";
1770
+ /**
1771
+ * @description Determines who controls the keys within an org
1772
+ * @enum {string}
1773
+ */
1774
+ AccessModel: "User" | "Org";
1754
1775
  /**
1755
- * @description Different responses we return for status code "202 Accepted".
1776
+ * @description One asset balance entry in [`AccountInfoResponse::balances`]. Distinct from
1777
+ * [`SubAccountAsset`] because the spot-account schema lacks the `freeze` and
1778
+ * `withdrawing` fields.
1779
+ */
1780
+ AccountBalance: {
1781
+ /** @description Asset symbol (e.g. `"USDT"`, `"BTC"`). */
1782
+ asset: string;
1783
+ /** @description Available balance. */
1784
+ free: string;
1785
+ /** @description Balance locked in open orders. */
1786
+ locked: string;
1787
+ };
1788
+ /**
1789
+ * @description Parameters for `GET /api/v3/account`.
1756
1790
  *
1757
- * Even though "202 Accepted" is a successful response, we represent
1758
- * it as a Rust error because that makes it easy to have route handlers
1759
- * return `Result<T, SignerError>` where `T` is the type of the
1760
- * response for the status code "200 Ok".
1791
+ * Returns Spot account info for whichever account the signing key
1792
+ * authenticates as (master or sub).
1761
1793
  */
1762
- AcceptedValue: {
1763
- MfaRequired: {
1764
- /** @description Always set to first MFA id from `Self::ids` */
1765
- id: string;
1766
- /** @description Non-empty MFA request IDs */
1767
- ids: string[];
1768
- /** @description Organization id */
1769
- org_id: string;
1770
- /** @description Optional policy evaluation tree (included in signer responses, when requested) */
1771
- policy_eval_tree?: unknown;
1772
- session?: components["schemas"]["NewSessionResponse"] | null;
1773
- };
1794
+ AccountInfoRequest: {
1795
+ /**
1796
+ * @description If `true`, the response omits assets with all-zero balances. Defaults to
1797
+ * `false` (Binance's default).
1798
+ */
1799
+ omitZeroBalances?: boolean | null;
1800
+ };
1801
+ /** @description Response for [`BinanceManager::account_info`]. */
1802
+ AccountInfoResponse: {
1803
+ /** @description Account type, e.g. `"SPOT"`. Left as `String` for forward compatibility. */
1804
+ accountType: string;
1805
+ /** @description One entry per asset. Affected by the `omit_zero_balances` request flag. */
1806
+ balances: components["schemas"]["AccountBalance"][];
1807
+ brokered: boolean;
1808
+ /** Format: int64 */
1809
+ buyerCommission: number;
1810
+ canDeposit: boolean;
1811
+ canTrade: boolean;
1812
+ canWithdraw: boolean;
1813
+ commissionRates: components["schemas"]["CommissionRates"];
1814
+ /**
1815
+ * Format: int64
1816
+ * @description Maker commission, in basis points (e.g. `10` = 0.1%). Superseded by
1817
+ * [`AccountInfoResponse::commission_rates`] for fractional rates.
1818
+ */
1819
+ makerCommission: number;
1820
+ /** @description Permission flags, e.g. `["SPOT", "MARGIN"]`. */
1821
+ permissions: string[];
1822
+ preventSor: boolean;
1823
+ requireSelfTradePrevention: boolean;
1824
+ /** Format: int64 */
1825
+ sellerCommission: number;
1826
+ /** Format: int64 */
1827
+ takerCommission: number;
1828
+ /**
1829
+ * Format: int64
1830
+ * @description Account user id.
1831
+ */
1832
+ uid: number;
1833
+ /**
1834
+ * Format: int64
1835
+ * @description Last account update time (ms since epoch).
1836
+ */
1837
+ updateTime: number;
1774
1838
  };
1775
- /** @enum {string} */
1776
- AcceptedValueCode: "MfaRequired";
1777
1839
  /**
1778
- * @description Determines who controls the keys within an org
1840
+ * @description Wallet type used as the source or destination of a [`UniversalTransferRequest`].
1841
+ *
1842
+ * Serializes to the SCREAMING_SNAKE_CASE strings Binance expects. The default
1843
+ * is [`AccountType::Spot`].
1779
1844
  * @enum {string}
1780
1845
  */
1781
- AccessModel: "User" | "Org";
1846
+ AccountType: "SPOT" | "USDT_FUTURE" | "COIN_FUTURE" | "MARGIN";
1782
1847
  /** @description Request to add OIDC identity to an existing user account */
1783
1848
  AddIdentityRequest: {
1784
1849
  oidc_token: string;
@@ -2075,6 +2140,8 @@ export interface components {
2075
2140
  AuthenticatorTransport: "usb" | "nfc" | "ble" | "internal";
2076
2141
  /** @description Request to sign a serialized Avalanche transaction */
2077
2142
  AvaSerializedTxSignRequest: {
2143
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
2144
+ dry_run?: boolean;
2078
2145
  /**
2079
2146
  * @description Request additional information to be included in the response, explaining
2080
2147
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -2097,6 +2164,8 @@ export interface components {
2097
2164
  };
2098
2165
  /** @description Request to sign an Avalanche transaction */
2099
2166
  AvaSignRequest: {
2167
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
2168
+ dry_run?: boolean;
2100
2169
  /**
2101
2170
  * @description Request additional information to be included in the response, explaining
2102
2171
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -2134,6 +2203,8 @@ export interface components {
2134
2203
  /** @description Wrapper around a zeroizing 32-byte fixed-size array */
2135
2204
  B32: string;
2136
2205
  BabylonCovSignRequest: {
2206
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
2207
+ dry_run?: boolean;
2137
2208
  /**
2138
2209
  * @description Request additional information to be included in the response, explaining
2139
2210
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -2327,6 +2398,8 @@ export interface components {
2327
2398
  */
2328
2399
  value: number;
2329
2400
  }) & {
2401
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
2402
+ dry_run?: boolean;
2330
2403
  /**
2331
2404
  * @description Request additional information to be included in the response, explaining
2332
2405
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -2797,10 +2870,15 @@ export interface components {
2797
2870
  | "InvalidMfaReceiptInvalidOrgId"
2798
2871
  | "MfaRequestNotFound"
2799
2872
  | "InvalidKeyType"
2873
+ | "InvalidPropertiesForKeyType"
2874
+ | "MismatchedKeyPropertiesPatch"
2875
+ | "MissingBinanceApiKey"
2876
+ | "BinanceKeyMasterMismatch"
2800
2877
  | "InvalidKeyMaterial"
2801
2878
  | "InvalidHexValue"
2802
2879
  | "InvalidBase32Value"
2803
2880
  | "InvalidBase58Value"
2881
+ | "InvalidBase64Value"
2804
2882
  | "InvalidSs58Value"
2805
2883
  | "InvalidForkVersionLength"
2806
2884
  | "InvalidEthAddress"
@@ -3116,6 +3194,15 @@ export interface components {
3116
3194
  | "RpcCreateTransaction"
3117
3195
  | "RpcGetTransaction"
3118
3196
  | "RpcListTransactions"
3197
+ | "RpcBinanceSubToMaster"
3198
+ | "RpcBinanceSubToSub"
3199
+ | "RpcBinanceUniversalTransfer"
3200
+ | "RpcBinanceSubAccountAssets"
3201
+ | "RpcBinanceAccountInfo"
3202
+ | "RpcBinanceSubAccountTransferHistory"
3203
+ | "RpcBinanceUniversalTransferHistory"
3204
+ | "RpcBinanceWithdraw"
3205
+ | "RpcBinanceWithdrawHistory"
3119
3206
  | "CustomChainRpcCall"
3120
3207
  | "EsploraApiCall"
3121
3208
  | "SentryApiCall"
@@ -3125,6 +3212,176 @@ export interface components {
3125
3212
  | "UserOrgs"
3126
3213
  | "PublicOrgInfo"
3127
3214
  | "EmailMyOrgs";
3215
+ /** @description Parameters envelope for all Binance RPC methods. */
3216
+ BinanceAccountInfoParams: components["schemas"]["AccountInfoRequest"] & {
3217
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
3218
+ keyId: components["schemas"]["Id"];
3219
+ /**
3220
+ * @description Optional "receive window", i.e., for how long the request stays valid.
3221
+ * May only be specified in milliseconds, with up to three decimal places of precision.
3222
+ * If omitted, defaults to "10000". Must not be greater than "60000".
3223
+ */
3224
+ recvWindow?: string | null;
3225
+ };
3226
+ BinanceApiPropertiesPatch: {
3227
+ /** @description The Binance-issued API key string. Encrypted server-side before storage. */
3228
+ api_key?: string | null;
3229
+ /** @description Email address of the Binance (master or sub) account this key authenticates as. */
3230
+ email?: string | null;
3231
+ /** @description Whether this corresponds to a master (as opposed to a sub) account on Binance. */
3232
+ is_master?: boolean | null;
3233
+ /** @description Arbitrary label. Useful for storing the corresponding API key label on the Binance side. */
3234
+ label?: string | null;
3235
+ };
3236
+ BinanceDryRunArgs: {
3237
+ /** @description The Binance API method that would have been used */
3238
+ method: string;
3239
+ /** @description The Binance API url method that would have been called */
3240
+ url: string;
3241
+ };
3242
+ /**
3243
+ * @description Different "dry run" modes for executing Binance requests
3244
+ * @enum {string}
3245
+ */
3246
+ BinanceDryRunMode: "NO_SIGN" | "NO_SUBMIT";
3247
+ /**
3248
+ * @description Binance-family RPC methods. Each variant authenticates as the
3249
+ * [`KeyType::Ed25519BinanceApi`] key in its `params.key_id`.
3250
+ */
3251
+ BinanceRpc:
3252
+ | {
3253
+ /** @enum {string} */
3254
+ method: "cs_binanceSubToMaster";
3255
+ params: components["schemas"]["BinanceSubToMasterParams"];
3256
+ }
3257
+ | {
3258
+ /** @enum {string} */
3259
+ method: "cs_binanceSubToSub";
3260
+ params: components["schemas"]["BinanceSubToSubParams"];
3261
+ }
3262
+ | {
3263
+ /** @enum {string} */
3264
+ method: "cs_binanceUniversalTransfer";
3265
+ params: components["schemas"]["BinanceUniversalTransferParams"];
3266
+ }
3267
+ | {
3268
+ /** @enum {string} */
3269
+ method: "cs_binanceSubAccountAssets";
3270
+ params: components["schemas"]["BinanceSubAccountAssetsParams"];
3271
+ }
3272
+ | {
3273
+ /** @enum {string} */
3274
+ method: "cs_binanceAccountInfo";
3275
+ params: components["schemas"]["BinanceAccountInfoParams"];
3276
+ }
3277
+ | {
3278
+ /** @enum {string} */
3279
+ method: "cs_binanceSubAccountTransferHistory";
3280
+ params: components["schemas"]["BinanceSubAccountTransferHistoryParams"];
3281
+ }
3282
+ | {
3283
+ /** @enum {string} */
3284
+ method: "cs_binanceUniversalTransferHistory";
3285
+ params: components["schemas"]["BinanceUniversalTransferHistoryParams"];
3286
+ }
3287
+ | {
3288
+ /** @enum {string} */
3289
+ method: "cs_binanceWithdraw";
3290
+ params: components["schemas"]["BinanceWithdrawParams"];
3291
+ }
3292
+ | {
3293
+ /** @enum {string} */
3294
+ method: "cs_binanceWithdrawHistory";
3295
+ params: components["schemas"]["BinanceWithdrawHistoryParams"];
3296
+ };
3297
+ /** @description Parameters envelope for all Binance RPC methods. */
3298
+ BinanceSubAccountAssetsParams: components["schemas"]["SubAccountAssetsRequest"] & {
3299
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
3300
+ keyId: components["schemas"]["Id"];
3301
+ /**
3302
+ * @description Optional "receive window", i.e., for how long the request stays valid.
3303
+ * May only be specified in milliseconds, with up to three decimal places of precision.
3304
+ * If omitted, defaults to "10000". Must not be greater than "60000".
3305
+ */
3306
+ recvWindow?: string | null;
3307
+ };
3308
+ /** @description Parameters envelope for all Binance RPC methods. */
3309
+ BinanceSubAccountTransferHistoryParams: components["schemas"]["SubAccountTransferHistoryRequest"] & {
3310
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
3311
+ keyId: components["schemas"]["Id"];
3312
+ /**
3313
+ * @description Optional "receive window", i.e., for how long the request stays valid.
3314
+ * May only be specified in milliseconds, with up to three decimal places of precision.
3315
+ * If omitted, defaults to "10000". Must not be greater than "60000".
3316
+ */
3317
+ recvWindow?: string | null;
3318
+ };
3319
+ /** @description Parameters envelope for all Binance RPC methods. */
3320
+ BinanceSubToMasterParams: components["schemas"]["SubToMasterRequest"] & {
3321
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
3322
+ keyId: components["schemas"]["Id"];
3323
+ /**
3324
+ * @description Optional "receive window", i.e., for how long the request stays valid.
3325
+ * May only be specified in milliseconds, with up to three decimal places of precision.
3326
+ * If omitted, defaults to "10000". Must not be greater than "60000".
3327
+ */
3328
+ recvWindow?: string | null;
3329
+ };
3330
+ /** @description Parameters envelope for all Binance RPC methods. */
3331
+ BinanceSubToSubParams: components["schemas"]["SubToSubRequest"] & {
3332
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
3333
+ keyId: components["schemas"]["Id"];
3334
+ /**
3335
+ * @description Optional "receive window", i.e., for how long the request stays valid.
3336
+ * May only be specified in milliseconds, with up to three decimal places of precision.
3337
+ * If omitted, defaults to "10000". Must not be greater than "60000".
3338
+ */
3339
+ recvWindow?: string | null;
3340
+ };
3341
+ /** @description Parameters envelope for all Binance RPC methods. */
3342
+ BinanceUniversalTransferHistoryParams: components["schemas"]["UniversalTransferHistoryRequest"] & {
3343
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
3344
+ keyId: components["schemas"]["Id"];
3345
+ /**
3346
+ * @description Optional "receive window", i.e., for how long the request stays valid.
3347
+ * May only be specified in milliseconds, with up to three decimal places of precision.
3348
+ * If omitted, defaults to "10000". Must not be greater than "60000".
3349
+ */
3350
+ recvWindow?: string | null;
3351
+ };
3352
+ /** @description Parameters envelope for all Binance RPC methods. */
3353
+ BinanceUniversalTransferParams: components["schemas"]["UniversalTransferRequest"] & {
3354
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
3355
+ keyId: components["schemas"]["Id"];
3356
+ /**
3357
+ * @description Optional "receive window", i.e., for how long the request stays valid.
3358
+ * May only be specified in milliseconds, with up to three decimal places of precision.
3359
+ * If omitted, defaults to "10000". Must not be greater than "60000".
3360
+ */
3361
+ recvWindow?: string | null;
3362
+ };
3363
+ /** @description Parameters envelope for all Binance RPC methods. */
3364
+ BinanceWithdrawHistoryParams: components["schemas"]["WithdrawHistoryRequest"] & {
3365
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
3366
+ keyId: components["schemas"]["Id"];
3367
+ /**
3368
+ * @description Optional "receive window", i.e., for how long the request stays valid.
3369
+ * May only be specified in milliseconds, with up to three decimal places of precision.
3370
+ * If omitted, defaults to "10000". Must not be greater than "60000".
3371
+ */
3372
+ recvWindow?: string | null;
3373
+ };
3374
+ /** @description Parameters envelope for all Binance RPC methods. */
3375
+ BinanceWithdrawParams: components["schemas"]["WithdrawRequest"] & {
3376
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
3377
+ keyId: components["schemas"]["Id"];
3378
+ /**
3379
+ * @description Optional "receive window", i.e., for how long the request stays valid.
3380
+ * May only be specified in milliseconds, with up to three decimal places of precision.
3381
+ * If omitted, defaults to "10000". Must not be greater than "60000".
3382
+ */
3383
+ recvWindow?: string | null;
3384
+ };
3128
3385
  /** @description A bitcoin address and its network. */
3129
3386
  BitcoinAddressInfo: {
3130
3387
  /**
@@ -3140,6 +3397,8 @@ export interface components {
3140
3397
  * }
3141
3398
  */
3142
3399
  BlobSignRequest: {
3400
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
3401
+ dry_run?: boolean;
3143
3402
  /**
3144
3403
  * @description Request additional information to be included in the response, explaining
3145
3404
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -3228,6 +3487,8 @@ export interface components {
3228
3487
  };
3229
3488
  /** @description Data to sign */
3230
3489
  BtcMessageSignRequest: {
3490
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
3491
+ dry_run?: boolean;
3231
3492
  /**
3232
3493
  * @description Request additional information to be included in the response, explaining
3233
3494
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -3270,6 +3531,8 @@ export interface components {
3270
3531
  | "NonePlusAnyoneCanPay"
3271
3532
  | "SinglePlusAnyoneCanPay";
3272
3533
  BtcSignRequest: {
3534
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
3535
+ dry_run?: boolean;
3273
3536
  /**
3274
3537
  * @description Request additional information to be included in the response, explaining
3275
3538
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -3479,6 +3742,13 @@ export interface components {
3479
3742
  client?: components["schemas"]["ClientProfile"];
3480
3743
  os_info?: components["schemas"]["OsInfo"];
3481
3744
  };
3745
+ /** @description Commission rates as decimal strings (e.g. `"0.00100000"`). */
3746
+ CommissionRates: {
3747
+ buyer: string;
3748
+ maker: string;
3749
+ seller: string;
3750
+ taker: string;
3751
+ };
3482
3752
  /**
3483
3753
  * @description Fields that are common to different types of resources such as keys, roles, etc.
3484
3754
  * Includes versioning fields plus metadata, edit policy, etc.
@@ -3571,7 +3841,10 @@ export interface components {
3571
3841
  type: "fido";
3572
3842
  };
3573
3843
  /** @enum {string} */
3574
- ConflictErrorCode: "ConcurrentRequestDisallowed" | "ConcurrentLockCreation";
3844
+ ConflictErrorCode:
3845
+ | "ConcurrentRequestDisallowed"
3846
+ | "ConcurrentLockCreation"
3847
+ | "ConcurrentTransactionSubmission";
3575
3848
  /** @description A contact in the org. */
3576
3849
  Contact: components["schemas"]["CommonFields"] & {
3577
3850
  /**
@@ -3876,6 +4149,26 @@ export interface components {
3876
4149
  CreationOptionsWithHash: components["schemas"]["ChallengePieces"] & {
3877
4150
  options: components["schemas"]["PublicKeyCredentialCreationOptions"];
3878
4151
  };
4152
+ /** @description Core RPC methods (transaction CRUD). */
4153
+ CsRpc: OneOf<
4154
+ [
4155
+ {
4156
+ /** @enum {string} */
4157
+ method: "cs_createTransaction";
4158
+ params: components["schemas"]["CreateTransactionRequest"];
4159
+ },
4160
+ {
4161
+ /** @enum {string} */
4162
+ method: "cs_getTransaction";
4163
+ params: components["schemas"]["GetTransactionRequest"];
4164
+ },
4165
+ {
4166
+ /** @enum {string} */
4167
+ method: "cs_listTransactions";
4168
+ params: components["schemas"]["ListTransactionsRequest"];
4169
+ },
4170
+ ]
4171
+ >;
3879
4172
  CubeSignerUserInfo: {
3880
4173
  /** @description All multi-factor authentication methods configured for this user */
3881
4174
  configured_mfa: components["schemas"]["ConfiguredMfa"][];
@@ -3994,6 +4287,8 @@ export interface components {
3994
4287
  mnemonic_id?: string | null;
3995
4288
  };
3996
4289
  DiffieHellmanRequest: {
4290
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
4291
+ dry_run?: boolean;
3997
4292
  /**
3998
4293
  * @description Request additional information to be included in the response, explaining
3999
4294
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -4077,6 +4372,8 @@ export interface components {
4077
4372
  time_lock_until?: components["schemas"]["EpochDateTime"] | null;
4078
4373
  };
4079
4374
  Eip191SignRequest: {
4375
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
4376
+ dry_run?: boolean;
4080
4377
  /**
4081
4378
  * @description Request additional information to be included in the response, explaining
4082
4379
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -4199,6 +4496,8 @@ export interface components {
4199
4496
  * }
4200
4497
  */
4201
4498
  Eip712SignRequest: {
4499
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
4500
+ dry_run?: boolean;
4202
4501
  /**
4203
4502
  * @description Request additional information to be included in the response, explaining
4204
4503
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -4294,6 +4593,8 @@ export interface components {
4294
4593
  * at a specified block height.
4295
4594
  */
4296
4595
  EotsCreateNonceRequest: {
4596
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
4597
+ dry_run?: boolean;
4297
4598
  /**
4298
4599
  * @description Request additional information to be included in the response, explaining
4299
4600
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -4344,6 +4645,8 @@ export interface components {
4344
4645
  };
4345
4646
  /** @description Request for an EOTS signature on a specified message, chain-id, block-height triple */
4346
4647
  EotsSignRequest: {
4648
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
4649
+ dry_run?: boolean;
4347
4650
  /**
4348
4651
  * @description Request additional information to be included in the response, explaining
4349
4652
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -4440,6 +4743,8 @@ export interface components {
4440
4743
  * }
4441
4744
  */
4442
4745
  Eth1SignRequest: {
4746
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
4747
+ dry_run?: boolean;
4443
4748
  /**
4444
4749
  * @description Request additional information to be included in the response, explaining
4445
4750
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -4502,6 +4807,8 @@ export interface components {
4502
4807
  * }
4503
4808
  */
4504
4809
  Eth2SignRequest: {
4810
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
4811
+ dry_run?: boolean;
4505
4812
  /**
4506
4813
  * @description Request additional information to be included in the response, explaining
4507
4814
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -4639,7 +4946,7 @@ export interface components {
4639
4946
  *
4640
4947
  * Can be undefined if the transaction hasn't been signed yet, or failed to be signed.
4641
4948
  */
4642
- signature?: string;
4949
+ signature?: string | null;
4643
4950
  /** @description The transaction itself. */
4644
4951
  tx: unknown;
4645
4952
  };
@@ -4803,6 +5110,7 @@ export interface components {
4803
5110
  | "manage:key:update:enabled"
4804
5111
  | "manage:key:update:region"
4805
5112
  | "manage:key:update:metadata"
5113
+ | "manage:key:update:properties"
4806
5114
  | "manage:key:update:editPolicy"
4807
5115
  | "manage:key:delete"
4808
5116
  | "manage:policy:*"
@@ -4889,10 +5197,16 @@ export interface components {
4889
5197
  | "manage:org:inviteAlien"
4890
5198
  | "manage:org:invitation:list"
4891
5199
  | "manage:org:invitation:cancel"
4892
- | "manage:org:updateMembership"
5200
+ | "manage:org:updateMembership:*"
5201
+ | "manage:org:updateMembership:owner"
5202
+ | "manage:org:updateMembership:member"
5203
+ | "manage:org:updateMembership:alien"
4893
5204
  | "manage:org:listUsers"
4894
5205
  | "manage:org:user:get"
4895
- | "manage:org:deleteUser"
5206
+ | "manage:org:deleteUser:*"
5207
+ | "manage:org:deleteUser:owner"
5208
+ | "manage:org:deleteUser:member"
5209
+ | "manage:org:deleteUser:alien"
4896
5210
  | "manage:org:get"
4897
5211
  | "manage:org:update:*"
4898
5212
  | "manage:org:update:enabled"
@@ -4951,7 +5265,17 @@ export interface components {
4951
5265
  | "rpc:createTransaction:*"
4952
5266
  | "rpc:createTransaction:evm"
4953
5267
  | "rpc:getTransaction"
4954
- | "rpc:listTransactions";
5268
+ | "rpc:listTransactions"
5269
+ | "rpc:binance:*"
5270
+ | "rpc:binance:subToMaster"
5271
+ | "rpc:binance:subToSub"
5272
+ | "rpc:binance:universalTransfer"
5273
+ | "rpc:binance:subAccountAssets"
5274
+ | "rpc:binance:accountInfo"
5275
+ | "rpc:binance:subAccountTransferHistory"
5276
+ | "rpc:binance:universalTransferHistory"
5277
+ | "rpc:binance:withdraw"
5278
+ | "rpc:binance:withdrawHistory";
4955
5279
  /**
4956
5280
  * @description This type specifies the interpretation of the `fee` field in Babylon
4957
5281
  * staking requests. If `sats`, the field is intpreted as a fixed value
@@ -5618,14 +5942,12 @@ export interface components {
5618
5942
  key_type: string;
5619
5943
  };
5620
5944
  /** @description The top-level JSON-RPC request type. */
5621
- JsonRpcRequest: {
5622
- method: "JsonRpcRequest";
5623
- } & Omit<components["schemas"]["RpcMethod"], "method"> & {
5624
- /** @description Request ID */
5625
- id?: string;
5626
- /** @description JSON-RPC version. */
5627
- jsonrpc: string;
5628
- };
5945
+ JsonRpcRequest: components["schemas"]["RpcMethod"] & {
5946
+ /** @description Request ID */
5947
+ id?: string;
5948
+ /** @description JSON-RPC version. */
5949
+ jsonrpc: string;
5950
+ };
5629
5951
  /** @description The RPC API's response. */
5630
5952
  JsonRpcResponse: {
5631
5953
  error?: components["schemas"]["ErrorObj"] | null;
@@ -5639,7 +5961,15 @@ export interface components {
5639
5961
  /** @description Valid `result` from the JSON-RPC API. */
5640
5962
  JsonRpcResult:
5641
5963
  | components["schemas"]["TransactionInfo"]
5642
- | components["schemas"]["ListTransactionsPaginatedResponse"];
5964
+ | components["schemas"]["ListTransactionsPaginatedResponse"]
5965
+ | components["schemas"]["SubAccountTransferResponse"]
5966
+ | components["schemas"]["UniversalTransferResponse"]
5967
+ | components["schemas"]["SubAccountAssetsResponse"]
5968
+ | components["schemas"]["AccountInfoResponse"]
5969
+ | components["schemas"]["SubAccountTransferHistoryResponse"]
5970
+ | components["schemas"]["UniversalTransferHistoryResponse"]
5971
+ | components["schemas"]["WithdrawResponse"]
5972
+ | components["schemas"]["WithdrawHistoryResponse"];
5643
5973
  JwkSetResponse: {
5644
5974
  /** @description The keys included in this set */
5645
5975
  keys: Record<string, never>[];
@@ -5741,6 +6071,7 @@ export interface components {
5741
6071
  * ]
5742
6072
  */
5743
6073
  policy: unknown[];
6074
+ properties?: components["schemas"]["KeyPropertiesPatch"] | null;
5744
6075
  /** @description The key provenance. */
5745
6076
  provenance?: string | null;
5746
6077
  /**
@@ -5768,6 +6099,19 @@ export interface components {
5768
6099
  KeyInfos: {
5769
6100
  keys: components["schemas"]["KeyInfo"][];
5770
6101
  };
6102
+ /**
6103
+ * @description Client-side wire payload for [`KeyProperties`]. Used in both directions:
6104
+ *
6105
+ * - **On write**: a *patch*, i.e., for each field, missing means "leave alone",
6106
+ * `null` means "clear", and a value means "set". Secret fields arrive in the
6107
+ * clear and are encrypted server-side before persisting.
6108
+ * - **On read**: each field is omitted when the stored property is unset; secret
6109
+ * fields are emitted with the redacted marker (e.g. "[REDACTED]").
6110
+ */
6111
+ KeyPropertiesPatch: components["schemas"]["BinanceApiPropertiesPatch"] & {
6112
+ /** @enum {string} */
6113
+ kind: "BinanceApi";
6114
+ };
5771
6115
  /** @enum {string} */
5772
6116
  KeyType:
5773
6117
  | "SecpEthAddr"
@@ -5787,6 +6131,7 @@ export interface components {
5787
6131
  | "Ed25519StellarAddr"
5788
6132
  | "Ed25519SubstrateAddr"
5789
6133
  | "Ed25519CantonAddr"
6134
+ | "Ed25519BinanceApi"
5790
6135
  | "Mnemonic"
5791
6136
  | "Stark"
5792
6137
  | "BabylonEots"
@@ -5881,7 +6226,7 @@ export interface components {
5881
6226
  */
5882
6227
  owner?: string | null;
5883
6228
  };
5884
- /** @description The response to [`cs_listTransactions`](super::request::RpcMethod::ListTransactions) */
6229
+ /** @description The response to [`cs_listTransactions`](super::request::CsRpc::ListTransactions) */
5885
6230
  ListTransactionsResponse: {
5886
6231
  /** @description A list of transaction infos. */
5887
6232
  transactions: components["schemas"]["TransactionInfo"][];
@@ -5975,6 +6320,17 @@ export interface components {
5975
6320
  request: components["schemas"]["HttpRequest"];
5976
6321
  status: components["schemas"]["Status"];
5977
6322
  };
6323
+ MfaRequiredArgs: {
6324
+ /** @description Always set to first MFA id from `Self::ids` */
6325
+ id: string;
6326
+ /** @description Non-empty MFA request IDs */
6327
+ ids: string[];
6328
+ /** @description Organization id */
6329
+ org_id: string;
6330
+ /** @description Optional policy evaluation tree (included in signer responses, when requested) */
6331
+ policy_eval_tree?: unknown;
6332
+ session?: components["schemas"]["NewSessionResponse"] | null;
6333
+ };
5978
6334
  /** @description Org-wide MFA requirements. */
5979
6335
  MfaRequirements: {
5980
6336
  alien_login_requirement?: components["schemas"]["SecondFactorRequirement"];
@@ -6014,7 +6370,7 @@ export interface components {
6014
6370
  verified_email?: string | null;
6015
6371
  };
6016
6372
  MigrateUpdateUsersRequest: components["schemas"]["MigrateUpdateUserItem"][];
6017
- MmiMetadata: (components["schemas"]["MmiMetadataExt"] | null) & {
6373
+ MmiMetadata: {
6018
6374
  /** @description Chain ID (not required when signing a personal message (EIP-191)) */
6019
6375
  chainId?: string | null;
6020
6376
  /** @description If the custodian should publish the transaction */
@@ -6028,42 +6384,6 @@ export interface components {
6028
6384
  /** @description The category of transaction, as best can be determined by the wallet */
6029
6385
  transactionCategory?: string | null;
6030
6386
  };
6031
- MmiMetadataExt: {
6032
- /**
6033
- * @description All accounts the user can access.
6034
- * Only set when requested explicitly, i.e., via 'customer_listAccountsSigned'.
6035
- */
6036
- accounts?:
6037
- | {
6038
- /**
6039
- * @description An Ethereum address, hex-encoded, with leading '0x'
6040
- * @example 0x0123456789012345678901234567890123456789
6041
- */
6042
- address: string;
6043
- /** @description Account metadata */
6044
- metadata?: unknown;
6045
- /** @description Account name */
6046
- name: string;
6047
- /** @description Ordered list of name-value pairs */
6048
- tags?: {
6049
- /** @description Tag name */
6050
- name: string;
6051
- /** @description Tag value */
6052
- value: string;
6053
- }[];
6054
- }[]
6055
- | null;
6056
- /** @description The customer ID of the user, i.e., the customer's organization ID. */
6057
- customerId: string | null;
6058
- /** @description A human readable name of the corresponding organization, if any. */
6059
- customerName: string | null;
6060
- } & {
6061
- /**
6062
- * @description This must match the `sub` claim of the customer proof of
6063
- * the user or role session which created the transaction.
6064
- */
6065
- userId: string | null;
6066
- };
6067
6387
  MmiRejectRequest: {
6068
6388
  /** @description Optional reason for rejecting. */
6069
6389
  reason?: string | null;
@@ -7437,6 +7757,8 @@ export interface components {
7437
7757
  >;
7438
7758
  /** @description A request to sign a PSBT */
7439
7759
  PsbtSignRequest: {
7760
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
7761
+ dry_run?: boolean;
7440
7762
  /**
7441
7763
  * @description Request additional information to be included in the response, explaining
7442
7764
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -8050,23 +8372,14 @@ export interface components {
8050
8372
  /** @description A JSON Web Token whose claims contain the `RoleInfo` structure. */
8051
8373
  jwt: string;
8052
8374
  };
8053
- /** @description The RPC API method and matching parameters. */
8054
- RpcMethod:
8055
- | {
8056
- /** @enum {string} */
8057
- method: "cs_createTransaction";
8058
- params: components["schemas"]["CreateTransactionRequest"];
8059
- }
8060
- | {
8061
- /** @enum {string} */
8062
- method: "cs_getTransaction";
8063
- params: components["schemas"]["GetTransactionRequest"];
8064
- }
8065
- | {
8066
- /** @enum {string} */
8067
- method: "cs_listTransactions";
8068
- params: components["schemas"]["ListTransactionsRequest"];
8069
- };
8375
+ /**
8376
+ * @description The RPC API method and matching parameters.
8377
+ *
8378
+ * Top-level dispatch. Wire format is preserved by `#[serde(untagged)]`: each
8379
+ * inbound request is matched against one of the internally-tagged inner enums
8380
+ * ([`CsRpc`] for the core methods, [`BinanceRpc`] for the Binance family).
8381
+ */
8382
+ RpcMethod: components["schemas"]["CsRpc"] | components["schemas"]["BinanceRpc"];
8070
8383
  /** @description All scopes for accessing CubeSigner APIs */
8071
8384
  Scope: components["schemas"]["ExplicitScope"] | string;
8072
8385
  /** @description A set of scopes. */
@@ -8218,6 +8531,12 @@ export interface components {
8218
8531
  /** @description All metrics must include 'org_id' as a dimension. */
8219
8532
  org_id: string;
8220
8533
  };
8534
+ SignDryRunArgs: {
8535
+ /** @description Whether MFA is required */
8536
+ mfa_requests: components["schemas"]["MfaRequestInfo"][];
8537
+ /** @description Optional policy evaluation tree, if requested */
8538
+ policy_eval_tree?: unknown;
8539
+ };
8221
8540
  SignResponse: {
8222
8541
  /** @description Optional policy evaluation tree. */
8223
8542
  policy_eval_tree?: unknown;
@@ -8330,6 +8649,8 @@ export interface components {
8330
8649
  * }
8331
8650
  */
8332
8651
  SolanaSignRequest: {
8652
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
8653
+ dry_run?: boolean;
8333
8654
  /**
8334
8655
  * @description Request additional information to be included in the response, explaining
8335
8656
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -8359,6 +8680,8 @@ export interface components {
8359
8680
  source_ip: string;
8360
8681
  };
8361
8682
  StakeRequest: {
8683
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
8684
+ dry_run?: boolean;
8362
8685
  /**
8363
8686
  * @description Request additional information to be included in the response, explaining
8364
8687
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -8438,6 +8761,164 @@ export interface components {
8438
8761
  num_auth_factors: number;
8439
8762
  request_comparer?: components["schemas"]["HttpRequestCmp"];
8440
8763
  };
8764
+ /**
8765
+ * @description A single asset balance entry returned by [`SubAccountAssetsResponse`].
8766
+ *
8767
+ * All balance fields are decimal strings (Binance preserves precision by not
8768
+ * converting to floats).
8769
+ */
8770
+ SubAccountAsset: {
8771
+ /** @description Asset symbol (e.g. `"USDT"`, `"BTC"`). */
8772
+ asset: string;
8773
+ /** @description Available balance. */
8774
+ free: string;
8775
+ /** @description Balance frozen by Binance (e.g. due to compliance holds). */
8776
+ freeze: string;
8777
+ /** @description Balance locked in open orders. */
8778
+ locked: string;
8779
+ /** @description Balance currently being withdrawn. */
8780
+ withdrawing: string;
8781
+ };
8782
+ /**
8783
+ * @description Parameters for `GET /sapi/v4/sub-account/assets`.
8784
+ *
8785
+ * Queries the spot-wallet balances of a single sub-account. Must be called by
8786
+ * a master-account credential.
8787
+ */
8788
+ SubAccountAssetsRequest: {
8789
+ /** @description Email address of the sub-account whose balances to fetch. */
8790
+ email: string;
8791
+ };
8792
+ /** @description Response for [`BinanceManager::sub_account_assets`]. */
8793
+ SubAccountAssetsResponse: {
8794
+ /**
8795
+ * @description One entry per asset held in the sub-account's spot wallet. Binance
8796
+ * omits assets with all-zero balances.
8797
+ */
8798
+ balances: components["schemas"]["SubAccountAsset"][];
8799
+ };
8800
+ /** @description One transfer entry in [`SubAccountTransferHistoryResponse`]. */
8801
+ SubAccountTransferHistoryEntry: {
8802
+ /** @description Asset symbol (e.g. `"USDT"`). */
8803
+ asset: string;
8804
+ /** @description Email of the counterparty account on the other side of the transfer. */
8805
+ counterParty: string;
8806
+ /**
8807
+ * @description Email of the account this entry's API key authenticates as. Binance
8808
+ * returns this on each row even though it is the same for the whole page.
8809
+ */
8810
+ email: string;
8811
+ /**
8812
+ * @description Wallet type debited on the source side (e.g. `"SPOT"`,
8813
+ * `"USDT_FUTURE"`). Left as `String` for forward compatibility.
8814
+ */
8815
+ fromAccountType: string;
8816
+ /** @description Amount transferred, as a decimal string. */
8817
+ qty: string;
8818
+ /**
8819
+ * @description Transfer status: `"PROCESS"`, `"SUCCESS"`, or `"FAILURE"`. Left as
8820
+ * `String` for forward compatibility.
8821
+ */
8822
+ status: string;
8823
+ /**
8824
+ * Format: int64
8825
+ * @description Time of the transfer (ms since epoch).
8826
+ */
8827
+ time: number;
8828
+ /** @description Wallet type credited on the destination side. */
8829
+ toAccountType: string;
8830
+ /**
8831
+ * Format: int64
8832
+ * @description Transfer id. Matches the `txnId` returned by the original
8833
+ * [`SubAccountTransferResponse`].
8834
+ */
8835
+ tranId: number;
8836
+ /**
8837
+ * Format: int32
8838
+ * @description `1` = transfer in, `2` = transfer out.
8839
+ */
8840
+ type: number;
8841
+ };
8842
+ /**
8843
+ * @description Parameters for `GET /sapi/v1/sub-account/transfer/subUserHistory`.
8844
+ *
8845
+ * Lists the transfer history of the calling sub-account. Covers both
8846
+ * sub-to-master and sub-to-sub transfers. All filters are optional; if
8847
+ * `start_time`/`end_time` are omitted, Binance returns the most recent 30
8848
+ * days. If `r#type` is omitted, Binance defaults to `TransferOut` (`2`).
8849
+ */
8850
+ SubAccountTransferHistoryRequest: {
8851
+ /** @description Filter to a specific asset (e.g. `"USDT"`). */
8852
+ asset?: string | null;
8853
+ /**
8854
+ * Format: int64
8855
+ * @description Window end (ms since epoch).
8856
+ */
8857
+ endTime?: number | null;
8858
+ /**
8859
+ * Format: int32
8860
+ * @description Page size (Binance default: 500).
8861
+ */
8862
+ limit?: number | null;
8863
+ /**
8864
+ * @description If `true`, include failed transfers in the response. Binance defaults
8865
+ * to `false`.
8866
+ */
8867
+ returnFailHistory?: boolean | null;
8868
+ /**
8869
+ * Format: int64
8870
+ * @description Window start (ms since epoch).
8871
+ */
8872
+ startTime?: number | null;
8873
+ /**
8874
+ * Format: int32
8875
+ * @description Direction filter (`1` = transfer in, `2` = transfer out).
8876
+ */
8877
+ type?: number | null;
8878
+ };
8879
+ /**
8880
+ * @description Response for [`BinanceManager::sub_account_transfer_history`].
8881
+ *
8882
+ * Binance returns a top-level JSON array; this newtype preserves that wire
8883
+ * format while giving the response a named type in the OpenAPI schema.
8884
+ */
8885
+ SubAccountTransferHistoryResponse: components["schemas"]["SubAccountTransferHistoryEntry"][];
8886
+ /** @description Response for [`BinanceManager::sub_to_master`] and [`BinanceManager::sub_to_sub`]. */
8887
+ SubAccountTransferResponse: {
8888
+ /** Format: int64 */
8889
+ txnId: number;
8890
+ };
8891
+ /**
8892
+ * @description Parameters for `POST /sapi/v1/sub-account/transfer/subToMaster`.
8893
+ *
8894
+ * Transfers an asset from the caller's sub-account to the master account.
8895
+ */
8896
+ SubToMasterRequest: {
8897
+ /**
8898
+ * @description The amount being transferred, formatted as a decimal string (e.g. `"0.1"`).
8899
+ * Sent verbatim: Binance is strict about decimal formatting.
8900
+ */
8901
+ amount: string;
8902
+ /** @description The asset symbol being transferred (e.g. `"USDT"`, `"BTC"`). */
8903
+ asset: string;
8904
+ };
8905
+ /**
8906
+ * @description Parameters for `POST /sapi/v1/sub-account/transfer/subToSub`.
8907
+ *
8908
+ * Transfers an asset from the caller's sub-account to another sub-account
8909
+ * under the same master account.
8910
+ */
8911
+ SubToSubRequest: {
8912
+ /** @description The amount being transferred, as a decimal string (e.g. `"0.1"`). */
8913
+ amount: string;
8914
+ /** @description The asset symbol being transferred (e.g. `"USDT"`). */
8915
+ asset: string;
8916
+ /**
8917
+ * @description Email address of the destination sub-account. Must be a sub-account of
8918
+ * the same master.
8919
+ */
8920
+ toEmail: string;
8921
+ };
8441
8922
  /**
8442
8923
  * @description The status of a subscription
8443
8924
  * @enum {string}
@@ -8459,6 +8940,8 @@ export interface components {
8459
8940
  SuiChain: "mainnet" | "devnet" | "testnet";
8460
8941
  /** @description Request to sign a serialized SUI transaction */
8461
8942
  SuiSignRequest: {
8943
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
8944
+ dry_run?: boolean;
8462
8945
  /**
8463
8946
  * @description Request additional information to be included in the response, explaining
8464
8947
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -8485,6 +8968,8 @@ export interface components {
8485
8968
  tx: string;
8486
8969
  };
8487
8970
  TaprootSignRequest: {
8971
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
8972
+ dry_run?: boolean;
8488
8973
  /**
8489
8974
  * @description Request additional information to be included in the response, explaining
8490
8975
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -8557,6 +9042,8 @@ export interface components {
8557
9042
  TelegramEnvironment: "production" | "test";
8558
9043
  /** @description The request for using the Tendermint sign endpoint. */
8559
9044
  TendermintSignRequest: {
9045
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
9046
+ dry_run?: boolean;
8560
9047
  /**
8561
9048
  * @description Request additional information to be included in the response, explaining
8562
9049
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -8836,6 +9323,119 @@ export interface components {
8836
9323
  | "AuthorizationHeaderMissing"
8837
9324
  | "EndpointRequiresUserSession"
8838
9325
  | "RefreshTokenMissing";
9326
+ /** @description One transfer entry in [`UniversalTransferHistoryResponse`]. */
9327
+ UniversalTransferHistoryEntry: {
9328
+ /** @description Amount transferred, as a decimal string. */
9329
+ amount: string;
9330
+ /** @description Asset symbol. */
9331
+ asset: string;
9332
+ /** @description Client-supplied transfer id, if one was set on the original transfer. */
9333
+ clientTranId?: string | null;
9334
+ /**
9335
+ * Format: int64
9336
+ * @description Time of the transfer (ms since epoch).
9337
+ */
9338
+ createTimeStamp: number;
9339
+ /**
9340
+ * @description Wallet type debited on the source side. Left as `String` for forward
9341
+ * compatibility.
9342
+ */
9343
+ fromAccountType: string;
9344
+ /** @description Source sub-account email; absent when the source is the master. */
9345
+ fromEmail?: string | null;
9346
+ /** @description Transfer status (e.g. `"SUCCESS"`). */
9347
+ status: string;
9348
+ /** @description Wallet type credited on the destination side. */
9349
+ toAccountType: string;
9350
+ /** @description Destination sub-account email; absent when the destination is master. */
9351
+ toEmail?: string | null;
9352
+ /**
9353
+ * Format: int64
9354
+ * @description Transfer id. Matches the `tranId` returned by the original
9355
+ * [`UniversalTransferResponse`].
9356
+ */
9357
+ tranId: number;
9358
+ };
9359
+ /**
9360
+ * @description Parameters for `GET /sapi/v1/sub-account/universalTransfer`.
9361
+ *
9362
+ * Lists universal transfers initiated by the master account. All filters
9363
+ * are optional; if `start_time`/`end_time` are omitted, Binance returns the
9364
+ * most recent 30 days. Binance does not support filtering by `tran_id`
9365
+ * directly — use `client_tran_id` if you set one when initiating the
9366
+ * transfer, or page through the result and match the `tranId` client-side.
9367
+ */
9368
+ UniversalTransferHistoryRequest: {
9369
+ /** @description Filter by client-supplied transfer id. */
9370
+ clientTranId?: string | null;
9371
+ /**
9372
+ * Format: int64
9373
+ * @description Window end (ms since epoch).
9374
+ */
9375
+ endTime?: number | null;
9376
+ /** @description Filter to transfers originating from this sub-account email. */
9377
+ fromEmail?: string | null;
9378
+ /**
9379
+ * Format: int32
9380
+ * @description Page size (Binance default: 500, max: 500).
9381
+ */
9382
+ limit?: number | null;
9383
+ /**
9384
+ * Format: int32
9385
+ * @description 1-based page number (Binance default: 1).
9386
+ */
9387
+ page?: number | null;
9388
+ /**
9389
+ * Format: int64
9390
+ * @description Window start (ms since epoch).
9391
+ */
9392
+ startTime?: number | null;
9393
+ /** @description Filter to transfers destined for this sub-account email. */
9394
+ toEmail?: string | null;
9395
+ };
9396
+ /** @description Response for [`BinanceManager::universal_transfer_history`]. */
9397
+ UniversalTransferHistoryResponse: {
9398
+ /** @description Transfers in the current page. */
9399
+ result: components["schemas"]["UniversalTransferHistoryEntry"][];
9400
+ /**
9401
+ * Format: int64
9402
+ * @description Total number of transfers matching the filters across all pages.
9403
+ */
9404
+ totalCount: number;
9405
+ };
9406
+ /**
9407
+ * @description Parameters for `POST /sapi/v1/sub-account/universalTransfer`.
9408
+ *
9409
+ * Transfers an asset between any two accounts (master to/from sub, or sub
9410
+ * to/from sub) and between any two wallet types (spot, futures, margin, etc).
9411
+ * The signing credential (the API key + Ed25519 key pair) must belong to the
9412
+ * master account.
9413
+ */
9414
+ UniversalTransferRequest: {
9415
+ /** @description The amount being transferred, as a decimal string. */
9416
+ amount: string;
9417
+ /** @description The asset symbol being transferred (e.g. `"USDT"`). */
9418
+ asset: string;
9419
+ /**
9420
+ * @description Optional client-supplied transfer id. If set, Binance echoes it back
9421
+ * on [`UniversalTransferResponse::client_tran_id`] and lets it be used
9422
+ * as a filter on
9423
+ * [`UniversalTransferHistoryRequest::client_tran_id`].
9424
+ */
9425
+ clientTranId?: string | null;
9426
+ fromAccountType?: components["schemas"]["AccountType"];
9427
+ /** @description Source sub-account email. If `None`, the source is the master account. */
9428
+ fromEmail?: string | null;
9429
+ toAccountType?: components["schemas"]["AccountType"];
9430
+ /** @description Destination sub-account email. If `None`, the destination is the master account. */
9431
+ toEmail?: string | null;
9432
+ };
9433
+ /** @description Response for [`BinanceManager::universal_transfer`]. */
9434
+ UniversalTransferResponse: {
9435
+ clientTranId?: string | null;
9436
+ /** Format: int64 */
9437
+ tranId: number;
9438
+ };
8839
9439
  /** @description Options that should be set only for local devnet testing. */
8840
9440
  UnsafeConf: {
8841
9441
  /**
@@ -8864,6 +9464,8 @@ export interface components {
8864
9464
  */
8865
9465
  validator_index: string;
8866
9466
  } & {
9467
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
9468
+ dry_run?: boolean;
8867
9469
  /**
8868
9470
  * @description Request additional information to be included in the response, explaining
8869
9471
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -8938,6 +9540,14 @@ export interface components {
8938
9540
  * Once disabled, a key cannot be used for signing.
8939
9541
  */
8940
9542
  enabled?: boolean | null;
9543
+ /**
9544
+ * @description If set, patch the key's structured [`KeyProperties`]. The patch's variant must
9545
+ * match the key's [`KeyType`] (e.g. `BinanceApi` properties are only allowed on
9546
+ * `Ed25519BinanceApi` keys). Each field in the patch is independent: missing
9547
+ * means leave alone, JSON `null` clears, a value sets. Sending JSON `null` for
9548
+ * the whole field clears all properties on the key.
9549
+ */
9550
+ properties?: unknown;
8941
9551
  /**
8942
9552
  * @description If set, change the key's region affinity to this value.
8943
9553
  *
@@ -9603,6 +10213,179 @@ export interface components {
9603
10213
  WhereAndWhen: components["schemas"]["SourceIp"] & {
9604
10214
  time: components["schemas"]["EpochDateTime"];
9605
10215
  };
10216
+ /** @description One withdrawal entry in [`WithdrawHistoryResponse`]. */
10217
+ WithdrawHistoryEntry: {
10218
+ /** @description Destination address. */
10219
+ address: string;
10220
+ /** @description Withdrawal amount, as a decimal string. */
10221
+ amount: string;
10222
+ /**
10223
+ * @description Time the withdrawal was requested (Binance returns a UTC string,
10224
+ * e.g. `"2019-09-24 12:43:45"`).
10225
+ */
10226
+ applyTime: string;
10227
+ /** @description Asset symbol (e.g. `"USDT"`, `"BTC"`). */
10228
+ coin: string;
10229
+ /**
10230
+ * @description Time the withdrawal completed (UTC string), present once
10231
+ * `status == 6`.
10232
+ */
10233
+ completeTime?: string | null;
10234
+ /**
10235
+ * Format: int32
10236
+ * @description Number of on-chain confirmations.
10237
+ */
10238
+ confirmNo?: number | null;
10239
+ /**
10240
+ * @description Binance-assigned withdrawal id. Matches the `id` returned by
10241
+ * [`WithdrawResponse`].
10242
+ */
10243
+ id: string;
10244
+ /** @description Failure reason when the withdrawal was rejected. */
10245
+ info?: string | null;
10246
+ /** @description Blockchain network identifier (e.g. `"BSC"`, `"ETH"`). */
10247
+ network?: string | null;
10248
+ /**
10249
+ * Format: int32
10250
+ * @description Withdrawal status. Binance values: `0` = Email Sent,
10251
+ * `2` = Awaiting Approval, `3` = Rejected, `4` = Processing,
10252
+ * `6` = Completed. Left as `u8` for forward compatibility.
10253
+ */
10254
+ status: number;
10255
+ /** @description Network fee charged for the withdrawal, as a decimal string. */
10256
+ transactionFee: string;
10257
+ /**
10258
+ * Format: int32
10259
+ * @description `0` = external transfer, `1` = internal (Binance↔Binance) transfer.
10260
+ */
10261
+ transferType: number;
10262
+ /**
10263
+ * @description On-chain transaction hash, once Binance has broadcast the withdrawal.
10264
+ * May be empty until then.
10265
+ */
10266
+ txId?: string | null;
10267
+ /**
10268
+ * Format: int32
10269
+ * @description Source wallet: `0` = spot wallet, `1` = funding wallet.
10270
+ */
10271
+ walletType: number;
10272
+ /**
10273
+ * @description Client-supplied withdrawal id, if one was set on the original
10274
+ * withdrawal call.
10275
+ */
10276
+ withdrawOrderId?: string | null;
10277
+ };
10278
+ /**
10279
+ * @description Parameters for `GET /sapi/v1/capital/withdraw/history`.
10280
+ *
10281
+ * Returns the master account's withdrawal history. All filters are
10282
+ * optional; if `start_time`/`end_time` are omitted, Binance returns the
10283
+ * most recent 90 days. Use `id_list` to look up specific withdrawals by
10284
+ * the `id` returned from [`BinanceRpc::Withdraw`], or `withdraw_order_id`
10285
+ * to look one up by its client-supplied id.
10286
+ */
10287
+ WithdrawHistoryRequest: {
10288
+ /** @description Filter to a specific asset (e.g. `"USDT"`). */
10289
+ coin?: string | null;
10290
+ /**
10291
+ * Format: int64
10292
+ * @description Window end (ms since epoch).
10293
+ */
10294
+ endTime?: number | null;
10295
+ /**
10296
+ * @description Comma-separated list of Binance-assigned withdrawal ids (the `id`
10297
+ * field of [`WithdrawResponse`]). Up to 45 ids per query, per Binance.
10298
+ */
10299
+ idList?: string | null;
10300
+ /**
10301
+ * Format: int32
10302
+ * @description Page size (Binance default and max: 1000).
10303
+ */
10304
+ limit?: number | null;
10305
+ /**
10306
+ * Format: int32
10307
+ * @description Pagination offset.
10308
+ */
10309
+ offset?: number | null;
10310
+ /**
10311
+ * Format: int64
10312
+ * @description Window start (ms since epoch).
10313
+ */
10314
+ startTime?: number | null;
10315
+ /**
10316
+ * Format: int32
10317
+ * @description Filter by withdrawal status. Binance values:
10318
+ * `0` = Email Sent, `2` = Awaiting Approval, `3` = Rejected,
10319
+ * `4` = Processing, `6` = Completed. Left as `u8` for forward
10320
+ * compatibility.
10321
+ */
10322
+ status?: number | null;
10323
+ /**
10324
+ * @description Filter by the client-supplied withdrawal id originally passed to
10325
+ * [`WithdrawRequest::withdraw_order_id`].
10326
+ */
10327
+ withdrawOrderId?: string | null;
10328
+ };
10329
+ /**
10330
+ * @description Response for [`BinanceManager::withdraw_history`].
10331
+ *
10332
+ * Binance returns a top-level JSON array; this newtype preserves that wire
10333
+ * format while giving the response a named type in the OpenAPI schema.
10334
+ */
10335
+ WithdrawHistoryResponse: components["schemas"]["WithdrawHistoryEntry"][];
10336
+ /**
10337
+ * @description Parameters for `POST /sapi/v1/capital/withdraw/apply`.
10338
+ *
10339
+ * Submits a withdrawal of `amount` of `coin` to the given external `address`.
10340
+ * The signing key's account must have withdrawal permissions enabled.
10341
+ */
10342
+ WithdrawRequest: {
10343
+ /** @description Destination address. */
10344
+ address: string;
10345
+ /**
10346
+ * @description Secondary address identifier required by some assets (e.g. memo for
10347
+ * XRP, tag for XLM).
10348
+ */
10349
+ addressTag?: string | null;
10350
+ /**
10351
+ * @description The amount being withdrawn, formatted as a decimal string (e.g. `"0.1"`).
10352
+ * Sent verbatim: Binance is strict about decimal formatting.
10353
+ */
10354
+ amount: string;
10355
+ /** @description The asset symbol being withdrawn (e.g. `"USDT"`, `"BTC"`). */
10356
+ coin: string;
10357
+ /** @description Optional human-readable description for the withdrawal. */
10358
+ name?: string | null;
10359
+ /**
10360
+ * @description Network identifier (e.g. `"BSC"`, `"ETH"`). If omitted, Binance picks
10361
+ * the default network for the asset.
10362
+ */
10363
+ network?: string | null;
10364
+ /**
10365
+ * @description If `true`, the withdrawal fee is deducted from the destination amount;
10366
+ * if `false` (Binance default), it is deducted from the account balance
10367
+ * in addition to `amount`.
10368
+ */
10369
+ transactionFeeFlag?: boolean | null;
10370
+ /**
10371
+ * Format: int32
10372
+ * @description Source wallet: `0` = spot wallet (default), `1` = funding wallet.
10373
+ */
10374
+ walletType?: number | null;
10375
+ /**
10376
+ * @description Client-supplied withdrawal id, returned by Binance as `withdrawOrderId`
10377
+ * in subsequent withdrawal-history queries.
10378
+ */
10379
+ withdrawOrderId?: string | null;
10380
+ };
10381
+ /** @description Response for [`BinanceManager::withdraw`]. */
10382
+ WithdrawResponse: {
10383
+ /**
10384
+ * @description Binance-assigned withdrawal id. Used to look the request up later via
10385
+ * the withdrawal-history endpoint.
10386
+ */
10387
+ id: string;
10388
+ };
9606
10389
  };
9607
10390
  responses: {
9608
10391
  AddThirdPartyUserResponse: {
@@ -10187,6 +10970,7 @@ export interface components {
10187
10970
  * ]
10188
10971
  */
10189
10972
  policy: unknown[];
10973
+ properties?: components["schemas"]["KeyPropertiesPatch"] | null;
10190
10974
  /** @description The key provenance. */
10191
10975
  provenance?: string | null;
10192
10976
  /**
@@ -16833,6 +17617,11 @@ export interface operations {
16833
17617
  user_id: string;
16834
17618
  };
16835
17619
  };
17620
+ requestBody: {
17621
+ content: {
17622
+ "application/json": components["schemas"]["Empty"];
17623
+ };
17624
+ };
16836
17625
  responses: {
16837
17626
  200: components["responses"]["EmptyImpl"];
16838
17627
  default: {