@cubist-labs/cubesigner-sdk 0.4.247 → 0.4.252

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
@@ -1664,19 +1664,6 @@ export interface paths {
1664
1664
  */
1665
1665
  get: operations["userOrgs"];
1666
1666
  };
1667
- "/v1/org/{org_id}/binance/sign/{material_id}": {
1668
- /**
1669
- * Sign Binance RPC Request
1670
- * @description Sign Binance RPC Request
1671
- *
1672
- * Signs a typed [`BinanceRpc`] request with the [`KeyType::Ed25519BinanceApi`]
1673
- * key identified by `material_id`. The signer URL-encodes the inner request,
1674
- * appends Binance's `recvWindow` and `timestamp` parameters, signs the
1675
- * resulting query, and returns the full query string ready to be submitted
1676
- * to Binance.
1677
- */
1678
- post: operations["binanceSign"];
1679
- };
1680
1667
  "/v1/org/{org_id}/blob/sign/{key_id}": {
1681
1668
  /**
1682
1669
  * Sign Raw Blob
@@ -1773,13 +1760,16 @@ export interface components {
1773
1760
  {
1774
1761
  BinanceDryRun: components["schemas"]["BinanceDryRunArgs"];
1775
1762
  },
1763
+ {
1764
+ CoinbaseDryRun: components["schemas"]["CoinbaseDryRunArgs"];
1765
+ },
1776
1766
  {
1777
1767
  MfaRequired: components["schemas"]["MfaRequiredArgs"];
1778
1768
  },
1779
1769
  ]
1780
1770
  >;
1781
1771
  /** @enum {string} */
1782
- AcceptedValueCode: "SignDryRun" | "BinanceDryRun" | "MfaRequired";
1772
+ AcceptedValueCode: "SignDryRun" | "BinanceDryRun" | "CoinbaseDryRun" | "MfaRequired";
1783
1773
  /**
1784
1774
  * @description Determines who controls the keys within an org
1785
1775
  * @enum {string}
@@ -2886,6 +2876,7 @@ export interface components {
2886
2876
  | "InvalidPropertiesForKeyType"
2887
2877
  | "MismatchedKeyPropertiesPatch"
2888
2878
  | "MissingBinanceApiKey"
2879
+ | "MissingCoinbaseApiKey"
2889
2880
  | "BinanceKeyMasterMismatch"
2890
2881
  | "InvalidKeyMaterial"
2891
2882
  | "InvalidHexValue"
@@ -3163,6 +3154,7 @@ export interface components {
3163
3154
  | "BabylonStaking"
3164
3155
  | "BabylonCovSign"
3165
3156
  | "BinanceSign"
3157
+ | "CoinbaseSign"
3166
3158
  | "BlobSign"
3167
3159
  | "BtcMessageSign"
3168
3160
  | "BtcSign"
@@ -3210,6 +3202,7 @@ export interface components {
3210
3202
  | "RpcListTransactions"
3211
3203
  | "RpcRetryTransaction"
3212
3204
  | "RpcBinance"
3205
+ | "RpcCoinbase"
3213
3206
  | "CustomChainRpcCall"
3214
3207
  | "EsploraApiCall"
3215
3208
  | "SentryApiCall"
@@ -3240,6 +3233,32 @@ export interface components {
3240
3233
  is_master?: boolean | null;
3241
3234
  /** @description Arbitrary label. Useful for storing the corresponding API key label on the Binance side. */
3242
3235
  label?: string | null;
3236
+ /**
3237
+ * @description If this is a sub-account, this field can be used to link it to its master account
3238
+ * (by providing the master account email, which Binance uses as an account identifier).
3239
+ */
3240
+ sub_of?: string | null;
3241
+ };
3242
+ /**
3243
+ * @description Parameters for `cs_binanceCoinInfo`.
3244
+ *
3245
+ * Binance endpoint: `GET /sapi/v1/capital/config/getall`. Returns the list
3246
+ * of coins supported by the calling account along with per-coin balances,
3247
+ * deposit/withdraw enablement, and network info. Since the endpoint takes
3248
+ * no parameters beyond the common `recvWindow` / `timestamp` envelope, this
3249
+ * struct is defined directly instead of going through the
3250
+ * [`BinanceParams`] generic alias.
3251
+ */
3252
+ BinanceCoinInfoParams: {
3253
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
3254
+ keyId: components["schemas"]["Id"];
3255
+ /**
3256
+ * Format: float
3257
+ * @description Optional "receive window", i.e., for how long the request stays valid.
3258
+ * May only be specified in milliseconds, with up to three decimal places of precision.
3259
+ * If omitted, defaults to 10000. Must not be greater than 60000.
3260
+ */
3261
+ recvWindow?: number | null;
3243
3262
  };
3244
3263
  /** @description Parameters envelope for all Binance RPC methods. */
3245
3264
  BinanceDepositParams: components["schemas"]["DepositRequest"] & {
@@ -3264,6 +3283,18 @@ export interface components {
3264
3283
  * @enum {string}
3265
3284
  */
3266
3285
  BinanceDryRunMode: "NO_SIGN" | "NO_SUBMIT";
3286
+ /** @description Parameters envelope for all Binance RPC methods. */
3287
+ BinanceListSubAccountsParams: components["schemas"]["ListSubAccountsRequest"] & {
3288
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
3289
+ keyId: components["schemas"]["Id"];
3290
+ /**
3291
+ * Format: float
3292
+ * @description Optional "receive window", i.e., for how long the request stays valid.
3293
+ * May only be specified in milliseconds, with up to three decimal places of precision.
3294
+ * If omitted, defaults to 10000. Must not be greater than 60000.
3295
+ */
3296
+ recvWindow?: number | null;
3297
+ };
3267
3298
  /**
3268
3299
  * @description Binance-family RPC methods. Each variant authenticates as the
3269
3300
  * [`KeyType::Ed25519BinanceApi`] key in its `params.key_id`.
@@ -3318,6 +3349,16 @@ export interface components {
3318
3349
  /** @enum {string} */
3319
3350
  method: "cs_binanceDeposit";
3320
3351
  params: components["schemas"]["BinanceDepositParams"];
3352
+ }
3353
+ | {
3354
+ /** @enum {string} */
3355
+ method: "cs_binanceListSubAccounts";
3356
+ params: components["schemas"]["BinanceListSubAccountsParams"];
3357
+ }
3358
+ | {
3359
+ /** @enum {string} */
3360
+ method: "cs_binanceCoinInfo";
3361
+ params: components["schemas"]["BinanceCoinInfoParams"];
3321
3362
  };
3322
3363
  /** @description Response returned by the typed `binance_sign` endpoint. */
3323
3364
  BinanceSignResponse: {
@@ -3786,6 +3827,259 @@ export interface components {
3786
3827
  client?: components["schemas"]["ClientProfile"];
3787
3828
  os_info?: components["schemas"]["OsInfo"];
3788
3829
  };
3830
+ /** @description One coin entry in [`CoinInfoResponse`]. */
3831
+ CoinInfoEntry: {
3832
+ /** @description Asset symbol (e.g. `"BTC"`, `"USDT"`). */
3833
+ coin: string;
3834
+ /** @description Whether deposits are enabled on any network for this coin. */
3835
+ depositAllEnable: boolean;
3836
+ /** @description Available balance, as a decimal string. */
3837
+ free: string;
3838
+ /** @description Balance frozen by Binance, as a decimal string. */
3839
+ freeze: string;
3840
+ /** @description Balance available to subscribe to an IPO, as a decimal string. */
3841
+ ipoable: string;
3842
+ /** @description Balance pending an IPO subscription, as a decimal string. */
3843
+ ipoing: string;
3844
+ /** @description `true` if the asset represents a fiat currency. */
3845
+ isLegalMoney: boolean;
3846
+ /** @description Balance locked in open orders, as a decimal string. */
3847
+ locked: string;
3848
+ /** @description Human-readable name (e.g. `"Bitcoin"`). */
3849
+ name: string;
3850
+ /** @description One entry per supported network for this coin. */
3851
+ networkList: components["schemas"]["CoinInfoNetwork"][];
3852
+ /** @description Balance held in long-term storage, as a decimal string. */
3853
+ storage: string;
3854
+ /** @description `true` if the asset is currently tradable on Binance. */
3855
+ trading: boolean;
3856
+ /** @description Whether withdrawals are enabled on any network for this coin. */
3857
+ withdrawAllEnable: boolean;
3858
+ /** @description Balance currently being withdrawn, as a decimal string. */
3859
+ withdrawing: string;
3860
+ };
3861
+ /** @description One network entry in [`CoinInfoEntry::network_list`]. */
3862
+ CoinInfoNetwork: {
3863
+ /** @description Regex describing the expected address format. */
3864
+ addressRegex?: string | null;
3865
+ /** @description `true` if the network is currently busy. */
3866
+ busy?: boolean | null;
3867
+ /** @description Asset symbol on this network. */
3868
+ coin: string;
3869
+ /** @description Two-letter country code, if applicable. */
3870
+ country?: string | null;
3871
+ /** @description Free-text deposit description. */
3872
+ depositDesc?: string | null;
3873
+ /** @description Whether deposits are enabled on this network. */
3874
+ depositEnable: boolean;
3875
+ /**
3876
+ * Format: int64
3877
+ * @description Estimated arrival time in minutes.
3878
+ */
3879
+ estimatedArrivalTime?: number | null;
3880
+ /** @description Whether this is the default network for the coin. */
3881
+ isDefault: boolean;
3882
+ /** @description Regex describing the expected memo/tag format (when applicable). */
3883
+ memoRegex?: string | null;
3884
+ /**
3885
+ * Format: int32
3886
+ * @description Minimum number of confirmations before Binance credits a deposit.
3887
+ */
3888
+ minConfirm?: number | null;
3889
+ /** @description Human-readable name (e.g. `"BNB Smart Chain (BEP20)"`). */
3890
+ name: string;
3891
+ /** @description Network identifier (e.g. `"BSC"`, `"ETH"`). */
3892
+ network: string;
3893
+ /** @description `true` if the deposit address is shared across users. */
3894
+ sameAddress?: boolean | null;
3895
+ /** @description Free-text special tips for users. */
3896
+ specialTips?: string | null;
3897
+ /**
3898
+ * Format: int32
3899
+ * @description Confirmations after which the deposit is unlocked for trading.
3900
+ */
3901
+ unLockConfirm?: number | null;
3902
+ /** @description Free-text withdraw description. */
3903
+ withdrawDesc?: string | null;
3904
+ /** @description Whether withdrawals are enabled on this network. */
3905
+ withdrawEnable: boolean;
3906
+ /** @description Withdrawal fee, as a decimal string. */
3907
+ withdrawFee?: string | null;
3908
+ /** @description Step size for withdrawal amounts, as a decimal string. */
3909
+ withdrawIntegerMultiple?: string | null;
3910
+ /** @description Maximum withdrawal amount, as a decimal string. */
3911
+ withdrawMax?: string | null;
3912
+ /** @description Minimum withdrawal amount, as a decimal string. */
3913
+ withdrawMin?: string | null;
3914
+ };
3915
+ /**
3916
+ * @description Response returned by `cs_binanceCoinInfo`.
3917
+ *
3918
+ * Binance returns a top-level JSON array; this newtype preserves that wire
3919
+ * format while giving the response a named type in the OpenAPI schema.
3920
+ */
3921
+ CoinInfoResponse: components["schemas"]["CoinInfoEntry"][];
3922
+ /**
3923
+ * @description One account entry in [`CoinbaseListAccountsResponse`]. Coinbase's account schema is
3924
+ * flexible; we capture the subset of fields the typed endpoint exposes today
3925
+ * and leave room to grow.
3926
+ */
3927
+ CoinbaseAccount: {
3928
+ /** @description Whether the account is currently active. */
3929
+ active: boolean;
3930
+ available_balance: components["schemas"]["CoinbaseAmount"];
3931
+ /** @description Account creation time (RFC3339). */
3932
+ created_at?: string | null;
3933
+ /** @description Asset symbol (e.g. `"BTC"`, `"USD"`). */
3934
+ currency: string;
3935
+ /** @description Whether this is the primary account for the asset. */
3936
+ default: boolean;
3937
+ /** @description Soft-deletion time, if any (RFC3339). */
3938
+ deleted_at?: string | null;
3939
+ hold?: components["schemas"]["CoinbaseAmount"] | null;
3940
+ /** @description Human-readable name (e.g. `"BTC Wallet"`). */
3941
+ name: string;
3942
+ /** @description Ready flag (`true` after Coinbase has finished onboarding the account). */
3943
+ ready?: boolean | null;
3944
+ /** @description UUID of the portfolio this account belongs to. */
3945
+ retail_portfolio_id?: string | null;
3946
+ /**
3947
+ * @description Account type (e.g. `"ACCOUNT_TYPE_CRYPTO"`). Left as a string for
3948
+ * forward compatibility.
3949
+ */
3950
+ type: string;
3951
+ /** @description Last modification time (RFC3339). */
3952
+ updated_at?: string | null;
3953
+ /** @description Account UUID. */
3954
+ uuid: string;
3955
+ };
3956
+ /** @description A `{ value, currency }` amount pair used throughout Coinbase responses. */
3957
+ CoinbaseAmount: {
3958
+ /** @description Asset symbol (e.g. `"USD"`, `"BTC"`). */
3959
+ currency: string;
3960
+ /**
3961
+ * @description Decimal-string amount (Coinbase preserves precision by not converting
3962
+ * to floats).
3963
+ */
3964
+ value: string;
3965
+ };
3966
+ /**
3967
+ * @description Wire-format patch payload for [`KeyProperties::CoinbaseApi`].
3968
+ *
3969
+ * Every field follows the same per-field PATCH semantics: a missing field
3970
+ * leaves the existing value alone, a JSON `null` clears it, and a value sets it.
3971
+ */
3972
+ CoinbaseApiPropertiesPatch: {
3973
+ /**
3974
+ * @description Identifier of the Coinbase API key this key authenticates as. Plain
3975
+ * (non-secret) value; appears in JWT `kid`/`sub` claims.
3976
+ */
3977
+ api_key_id?: string | null;
3978
+ /** @description Coinbase portfolio name. */
3979
+ portfolio_name?: string | null;
3980
+ /** @description Coinbase portfolio UUID. */
3981
+ portfolio_uuid?: string | null;
3982
+ };
3983
+ CoinbaseDryRunArgs: {
3984
+ /** @description The Coinbase API method that would have been used */
3985
+ method: string;
3986
+ /** @description The Coinbase API url method that would have been called */
3987
+ url: string;
3988
+ };
3989
+ /**
3990
+ * @description Different "dry run" modes for executing Coinbase requests.
3991
+ * @enum {string}
3992
+ */
3993
+ CoinbaseDryRunMode: "NO_SIGN" | "NO_SUBMIT";
3994
+ /** @description Parameters envelope for all Coinbase RPC methods. */
3995
+ CoinbaseListAccountsParams: components["schemas"]["ListAccountsRequest"] & {
3996
+ dry_run?: components["schemas"]["CoinbaseDryRunMode"] | null;
3997
+ key_id: components["schemas"]["Id"];
3998
+ };
3999
+ /** @description Response returned by `cs_coinbaseListAccounts`. */
4000
+ CoinbaseListAccountsResponse: {
4001
+ /** @description One entry per visible account. */
4002
+ accounts: components["schemas"]["CoinbaseAccount"][];
4003
+ /** @description Pagination cursor; pass to a follow-up request to fetch the next page. */
4004
+ cursor?: string | null;
4005
+ /** @description `true` if there are more accounts to fetch with `cursor`. */
4006
+ has_next: boolean;
4007
+ /**
4008
+ * Format: int32
4009
+ * @description Number of entries in `accounts`.
4010
+ */
4011
+ size: number;
4012
+ };
4013
+ /** @description Parameters envelope for all Coinbase RPC methods. */
4014
+ CoinbaseListPortfoliosParams: components["schemas"]["ListPortfoliosRequest"] & {
4015
+ dry_run?: components["schemas"]["CoinbaseDryRunMode"] | null;
4016
+ key_id: components["schemas"]["Id"];
4017
+ };
4018
+ /** @description Response returned by `cs_coinbaseListPortfolios`. */
4019
+ CoinbaseListPortfoliosResponse: {
4020
+ /** @description One entry per visible portfolio. */
4021
+ portfolios: components["schemas"]["CoinbasePortfolio"][];
4022
+ };
4023
+ /** @description Parameters envelope for all Coinbase RPC methods. */
4024
+ CoinbaseMoveFundsParams: components["schemas"]["MoveFundsRequest"] & {
4025
+ dry_run?: components["schemas"]["CoinbaseDryRunMode"] | null;
4026
+ key_id: components["schemas"]["Id"];
4027
+ };
4028
+ /** @description Response returned by `cs_coinbaseMoveFunds`. */
4029
+ CoinbaseMoveFundsResponse: {
4030
+ /** @description Echoed source portfolio UUID. */
4031
+ source_portfolio_uuid: string;
4032
+ /** @description Echoed target portfolio UUID. */
4033
+ target_portfolio_uuid: string;
4034
+ };
4035
+ /** @description One portfolio entry in [`CoinbaseListPortfoliosResponse`]. */
4036
+ CoinbasePortfolio: {
4037
+ /** @description `true` if this portfolio is deleted. */
4038
+ deleted?: boolean;
4039
+ /** @description Human-readable name. */
4040
+ name: string;
4041
+ /**
4042
+ * @description Portfolio type, e.g. `"DEFAULT"`. Left as `String` for forward
4043
+ * compatibility.
4044
+ */
4045
+ type: string;
4046
+ /** @description Portfolio UUID. */
4047
+ uuid: string;
4048
+ };
4049
+ /**
4050
+ * @description Coinbase-family RPC methods. Each variant authenticates as the
4051
+ * [`KeyType::Ed25519CoinbaseApi`] key in its `params.key_id`.
4052
+ */
4053
+ CoinbaseRpc: OneOf<
4054
+ [
4055
+ {
4056
+ /** @enum {string} */
4057
+ method: "cs_coinbaseListAccounts";
4058
+ params: components["schemas"]["CoinbaseListAccountsParams"];
4059
+ },
4060
+ {
4061
+ /** @enum {string} */
4062
+ method: "cs_coinbaseListPortfolios";
4063
+ params: components["schemas"]["CoinbaseListPortfoliosParams"];
4064
+ },
4065
+ {
4066
+ /** @enum {string} */
4067
+ method: "cs_coinbaseMoveFunds";
4068
+ params: components["schemas"]["CoinbaseMoveFundsParams"];
4069
+ },
4070
+ ]
4071
+ >;
4072
+ /** @description Response returned by the typed `coinbase_sign` endpoint. */
4073
+ CoinbaseSignResponse: {
4074
+ /** @description Optional policy evaluation tree. */
4075
+ policy_eval_tree?: unknown;
4076
+ } & {
4077
+ /**
4078
+ * @description The signed JWT, ready to be sent in `Authorization: Bearer <jwt>` to
4079
+ * the Coinbase Advanced Trade API.
4080
+ */
4081
+ jwt: string;
4082
+ };
3789
4083
  /** @description Commission rates as decimal strings (e.g. `"0.00100000"`). */
3790
4084
  CommissionRates: {
3791
4085
  buyer: string;
@@ -3885,10 +4179,7 @@ export interface components {
3885
4179
  type: "fido";
3886
4180
  };
3887
4181
  /** @enum {string} */
3888
- ConflictErrorCode:
3889
- | "ConcurrentRequestDisallowed"
3890
- | "ConcurrentLockCreation"
3891
- | "ConcurrentTransactionSubmission";
4182
+ ConflictErrorCode: "ConcurrentRequestDisallowed" | "ConcurrentLockCreation";
3892
4183
  /** @description A contact in the org. */
3893
4184
  Contact: components["schemas"]["CommonFields"] & {
3894
4185
  /**
@@ -5133,6 +5424,12 @@ export interface components {
5133
5424
  | "sign:binance:withdraw"
5134
5425
  | "sign:binance:withdrawHistory"
5135
5426
  | "sign:binance:deposit"
5427
+ | "sign:binance:listSubAccounts"
5428
+ | "sign:binance:coinInfo"
5429
+ | "sign:coinbase:*"
5430
+ | "sign:coinbase:accounts:list"
5431
+ | "sign:coinbase:portfolios:list"
5432
+ | "sign:coinbase:funds:move"
5136
5433
  | "sign:blob"
5137
5434
  | "sign:diffieHellman"
5138
5435
  | "sign:btc:*"
@@ -5365,7 +5662,8 @@ export interface components {
5365
5662
  | "rpc:retryTransaction"
5366
5663
  | "rpc:getTransaction"
5367
5664
  | "rpc:listTransactions"
5368
- | "rpc:binance";
5665
+ | "rpc:binance"
5666
+ | "rpc:coinbase";
5369
5667
  /**
5370
5668
  * @description This type specifies the interpretation of the `fee` field in Babylon
5371
5669
  * staking requests. If `sats`, the field is intpreted as a fixed value
@@ -6060,7 +6358,12 @@ export interface components {
6060
6358
  | components["schemas"]["UniversalTransferHistoryResponse"]
6061
6359
  | components["schemas"]["WithdrawResponse"]
6062
6360
  | components["schemas"]["WithdrawHistoryResponse"]
6063
- | components["schemas"]["DepositResponse"];
6361
+ | components["schemas"]["DepositResponse"]
6362
+ | components["schemas"]["ListSubAccountsResponse"]
6363
+ | components["schemas"]["CoinInfoResponse"]
6364
+ | components["schemas"]["CoinbaseListAccountsResponse"]
6365
+ | components["schemas"]["CoinbaseListPortfoliosResponse"]
6366
+ | components["schemas"]["CoinbaseMoveFundsResponse"];
6064
6367
  JwkSetResponse: {
6065
6368
  /** @description The keys included in this set */
6066
6369
  keys: Record<string, never>[];
@@ -6199,10 +6502,18 @@ export interface components {
6199
6502
  * - **On read**: each field is omitted when the stored property is unset; secret
6200
6503
  * fields are emitted with the redacted marker (e.g. "[REDACTED]").
6201
6504
  */
6202
- KeyPropertiesPatch: components["schemas"]["BinanceApiPropertiesPatch"] & {
6203
- /** @enum {string} */
6204
- kind: "BinanceApi";
6205
- };
6505
+ KeyPropertiesPatch: OneOf<
6506
+ [
6507
+ components["schemas"]["BinanceApiPropertiesPatch"] & {
6508
+ /** @enum {string} */
6509
+ kind: "BinanceApi";
6510
+ },
6511
+ components["schemas"]["CoinbaseApiPropertiesPatch"] & {
6512
+ /** @enum {string} */
6513
+ kind: "CoinbaseApi";
6514
+ },
6515
+ ]
6516
+ >;
6206
6517
  /** @enum {string} */
6207
6518
  KeyType:
6208
6519
  | "SecpEthAddr"
@@ -6223,6 +6534,7 @@ export interface components {
6223
6534
  | "Ed25519SubstrateAddr"
6224
6535
  | "Ed25519CantonAddr"
6225
6536
  | "Ed25519BinanceApi"
6537
+ | "Ed25519CoinbaseApi"
6226
6538
  | "Mnemonic"
6227
6539
  | "Stark"
6228
6540
  | "BabylonEots"
@@ -6275,6 +6587,25 @@ export interface components {
6275
6587
  * so that they can pass this back to us as a url query parameter.
6276
6588
  */
6277
6589
  LastEvalKey: string;
6590
+ /**
6591
+ * @description Parameters for `cs_coinbaseListAccounts`.
6592
+ *
6593
+ * Coinbase endpoint: `GET /api/v3/brokerage/accounts`.
6594
+ *
6595
+ * Lists the brokerage accounts the calling key can see. All filters are
6596
+ * optional; Coinbase paginates the result via `cursor` / `has_next`.
6597
+ */
6598
+ ListAccountsRequest: {
6599
+ /** @description Cursor from a previous response's [`CoinbaseListAccountsResponse::cursor`]. */
6600
+ cursor?: string | null;
6601
+ /**
6602
+ * Format: int32
6603
+ * @description Page size (Coinbase default: 49, max: 250).
6604
+ */
6605
+ limit?: number | null;
6606
+ /** @description Filter to a specific retail portfolio. */
6607
+ retail_portfolio_id?: string | null;
6608
+ };
6278
6609
  /** @description Third-party identities associated with the user's account */
6279
6610
  ListIdentitiesResponse: {
6280
6611
  identities: components["schemas"]["IdentityInfo"][];
@@ -6293,6 +6624,55 @@ export interface components {
6293
6624
  /** @description All pending messages for a user. */
6294
6625
  pending_messages: components["schemas"]["PendingMessageInfo"][];
6295
6626
  };
6627
+ /**
6628
+ * @description Parameters for `cs_coinbaseListPortfolios`.
6629
+ *
6630
+ * Coinbase endpoint: `GET /api/v3/brokerage/portfolios`.
6631
+ */
6632
+ ListPortfoliosRequest: {
6633
+ /**
6634
+ * @description Filter by portfolio type (e.g. `"DEFAULT"`, `"CONSUMER"`, `"INTX"`).
6635
+ * Left as `String` for forward compatibility.
6636
+ */
6637
+ portfolio_type?: string | null;
6638
+ };
6639
+ /**
6640
+ * @description Parameters for `GET /sapi/v1/sub-account/list`.
6641
+ *
6642
+ * Enumerates the sub-accounts under the calling master account. All filters
6643
+ * are optional; if `email`/`is_freeze` are omitted, every sub-account is
6644
+ * returned subject to pagination.
6645
+ */
6646
+ ListSubAccountsRequest: {
6647
+ /** @description Filter to the sub-account with this email. */
6648
+ email?: string | null;
6649
+ /**
6650
+ * @description Filter by freeze status (`true` = frozen sub-accounts only,
6651
+ * `false` = active sub-accounts only). Binance accepts this as the
6652
+ * literal strings `"true"`/`"false"`, which is exactly what
6653
+ * `serde_urlencoded` emits for `bool`.
6654
+ */
6655
+ isFreeze?: boolean | null;
6656
+ /**
6657
+ * Format: int32
6658
+ * @description Page size (Binance default: 1, max: 200).
6659
+ */
6660
+ limit?: number | null;
6661
+ /**
6662
+ * Format: int32
6663
+ * @description 1-based page number (Binance default: 1).
6664
+ */
6665
+ page?: number | null;
6666
+ };
6667
+ /**
6668
+ * @description Response returned by `cs_binanceListSubAccounts`. Binance returns a
6669
+ * `{ "subAccounts": [...] }` envelope; this struct preserves that wire
6670
+ * format.
6671
+ */
6672
+ ListSubAccountsResponse: {
6673
+ /** @description One entry per sub-account matching the request filters. */
6674
+ subAccounts: components["schemas"]["SubAccountInfo"][];
6675
+ };
6296
6676
  /**
6297
6677
  * @description Response type that wraps another type and adds base64url-encoded encrypted `last_evaluated_key`
6298
6678
  * value (which can the user pass back to use as a url query parameter to continue pagination).
@@ -6493,6 +6873,18 @@ export interface components {
6493
6873
  /** @description Whether the transaction was successful, i.e. it was included in a block and not reverted */
6494
6874
  success: boolean;
6495
6875
  };
6876
+ /**
6877
+ * @description Parameters for `cs_coinbaseMoveFunds`.
6878
+ *
6879
+ * Coinbase endpoint: `POST /api/v3/brokerage/portfolios/move_funds`.
6880
+ */
6881
+ MoveFundsRequest: {
6882
+ funds: components["schemas"]["CoinbaseAmount"];
6883
+ /** @description UUID of the portfolio the funds are debited from. */
6884
+ source_portfolio_uuid: string;
6885
+ /** @description UUID of the portfolio the funds are credited to. */
6886
+ target_portfolio_uuid: string;
6887
+ };
6496
6888
  /** @description Information about a signed message */
6497
6889
  MsgSignature: {
6498
6890
  /** @description The signature */
@@ -6678,6 +7070,7 @@ export interface components {
6678
7070
  | "BlobSign"
6679
7071
  | "BtcMessageSign"
6680
7072
  | "BtcSign"
7073
+ | "CoinbaseSign"
6681
7074
  | "DiffieHellman"
6682
7075
  | "PsbtSign"
6683
7076
  | "TaprootSign"
@@ -8469,14 +8862,30 @@ export interface components {
8469
8862
  /** @description A JSON Web Token whose claims contain the `RoleInfo` structure. */
8470
8863
  jwt: string;
8471
8864
  };
8865
+ RpcApiErrorCode:
8866
+ | components["schemas"]["RpcApiErrorOwnCodes"]
8867
+ | components["schemas"]["SignerClientErrorCode"]
8868
+ | components["schemas"]["RpcEvmErrorCode"];
8869
+ /** @enum {string} */
8870
+ RpcApiErrorOwnCodes: "MfaRequired" | "ConcurrentTransactionFailed";
8871
+ /** @enum {string} */
8872
+ RpcEvmErrorCode:
8873
+ | "SubmissionFailed"
8874
+ | "FailedToReserveNonce"
8875
+ | "InvalidTxStatus"
8876
+ | "MissingTxFrom";
8472
8877
  /**
8473
8878
  * @description The RPC API method and matching parameters.
8474
8879
  *
8475
8880
  * Top-level dispatch. Wire format is preserved by `#[serde(untagged)]`: each
8476
8881
  * inbound request is matched against one of the internally-tagged inner enums
8477
- * ([`CsRpc`] for the core methods, [`BinanceRpc`] for the Binance family).
8882
+ * ([`CsRpc`] for the core methods, [`BinanceRpc`] for the Binance family,
8883
+ * [`CoinbaseRpc`] for the Coinbase family).
8478
8884
  */
8479
- RpcMethod: components["schemas"]["CsRpc"] | components["schemas"]["BinanceRpc"];
8885
+ RpcMethod:
8886
+ | components["schemas"]["CsRpc"]
8887
+ | components["schemas"]["BinanceRpc"]
8888
+ | components["schemas"]["CoinbaseRpc"];
8480
8889
  /** @description All scopes for accessing CubeSigner APIs */
8481
8890
  Scope: components["schemas"]["ExplicitScope"] | string;
8482
8891
  /** @description A set of scopes. */
@@ -8656,6 +9065,22 @@ export interface components {
8656
9065
  signatureVersion: components["schemas"]["SignatureVersion"];
8657
9066
  status: components["schemas"]["MmiStatus"];
8658
9067
  };
9068
+ SignerClientErrorCode:
9069
+ | components["schemas"]["SignerClientErrorOwnCodes"]
9070
+ | components["schemas"]["SignerClientInternalErrorCode"];
9071
+ /** @enum {string} */
9072
+ SignerClientErrorOwnCodes: "SignerResponseError" | "LegacySessionNotSupported";
9073
+ /** @enum {string} */
9074
+ SignerClientInternalErrorCode:
9075
+ | "InvalidSignerEnvironment"
9076
+ | "InvalidSessionHeaders"
9077
+ | "InvalidHeader"
9078
+ | "LambdaInvokeError"
9079
+ | "LambdaResponseError"
9080
+ | "LambdaProxyInvalidResponse"
9081
+ | "Reqwest"
9082
+ | "Serde"
9083
+ | "Io";
8659
9084
  SignerErrorCode:
8660
9085
  | components["schemas"]["SignerErrorOwnCodes"]
8661
9086
  | components["schemas"]["AcceptedValueCode"]
@@ -8676,7 +9101,8 @@ export interface components {
8676
9101
  | "UnhandledError"
8677
9102
  | "ProxyStartError"
8678
9103
  | "EnclaveError"
8679
- | "PolicyErrorWithEvalTree";
9104
+ | "PolicyErrorWithEvalTree"
9105
+ | "RpcApi";
8680
9106
  /** @description Answer to a Sign-in with Ethereum challenge. */
8681
9107
  SiweCompleteRequest: {
8682
9108
  challenge_id: components["schemas"]["Id"];
@@ -8894,6 +9320,22 @@ export interface components {
8894
9320
  */
8895
9321
  balances: components["schemas"]["SubAccountAsset"][];
8896
9322
  };
9323
+ /** @description One sub-account entry in [`ListSubAccountsResponse`]. */
9324
+ SubAccountInfo: {
9325
+ /**
9326
+ * Format: int64
9327
+ * @description Sub-account creation time (ms since epoch).
9328
+ */
9329
+ createTime: number;
9330
+ /** @description Sub-account email. */
9331
+ email: string;
9332
+ /** @description `true` if this is an asset-management sub-account. */
9333
+ isAssetManagementSubAccount: boolean;
9334
+ /** @description Whether the sub-account is currently frozen. */
9335
+ isFreeze: boolean;
9336
+ /** @description `true` if this is a managed sub-account. */
9337
+ isManagedSubAccount: boolean;
9338
+ };
8897
9339
  /** @description One transfer entry in [`SubAccountTransferHistoryResponse`]. */
8898
9340
  SubAccountTransferHistoryEntry: {
8899
9341
  /** @description Asset symbol (e.g. `"USDT"`). */
@@ -10658,6 +11100,21 @@ export interface components {
10658
11100
  };
10659
11101
  };
10660
11102
  };
11103
+ /** @description Response returned by the typed `coinbase_sign` endpoint. */
11104
+ CoinbaseSignResponse: {
11105
+ content: {
11106
+ "application/json": {
11107
+ /** @description Optional policy evaluation tree. */
11108
+ policy_eval_tree?: unknown;
11109
+ } & {
11110
+ /**
11111
+ * @description The signed JWT, ready to be sent in `Authorization: Bearer <jwt>` to
11112
+ * the Coinbase Advanced Trade API.
11113
+ */
11114
+ jwt: string;
11115
+ };
11116
+ };
11117
+ };
10661
11118
  /** @description The number of users and keys in an org, organized by user role and key type */
10662
11119
  ComputeCountsResponse: {
10663
11120
  content: {
@@ -17977,47 +18434,6 @@ export interface operations {
17977
18434
  };
17978
18435
  };
17979
18436
  };
17980
- /**
17981
- * Sign Binance RPC Request
17982
- * @description Sign Binance RPC Request
17983
- *
17984
- * Signs a typed [`BinanceRpc`] request with the [`KeyType::Ed25519BinanceApi`]
17985
- * key identified by `material_id`. The signer URL-encodes the inner request,
17986
- * appends Binance's `recvWindow` and `timestamp` parameters, signs the
17987
- * resulting query, and returns the full query string ready to be submitted
17988
- * to Binance.
17989
- */
17990
- binanceSign: {
17991
- parameters: {
17992
- path: {
17993
- /**
17994
- * @description Name or ID of the desired Org
17995
- * @example Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
17996
- */
17997
- org_id: string;
17998
- /** @description Material id of the Ed25519BinanceApi key */
17999
- material_id: string;
18000
- };
18001
- };
18002
- requestBody: {
18003
- content: {
18004
- "application/json": components["schemas"]["BinanceRpc"];
18005
- };
18006
- };
18007
- responses: {
18008
- 200: components["responses"]["BinanceSignResponse"];
18009
- 202: {
18010
- content: {
18011
- "application/json": components["schemas"]["AcceptedResponse"];
18012
- };
18013
- };
18014
- default: {
18015
- content: {
18016
- "application/json": components["schemas"]["ErrorResponse"];
18017
- };
18018
- };
18019
- };
18020
- };
18021
18437
  /**
18022
18438
  * Sign Raw Blob
18023
18439
  * @description Sign Raw Blob