@rhinestone/sdk 2.0.0-beta.45 → 2.0.0-beta.46
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/src/api/account.d.ts.map +1 -1
- package/dist/src/api/account.js +5 -0
- package/dist/src/clients/orchestrator/client.js +1 -1
- package/dist/src/clients/orchestrator/public.d.ts +13 -1
- package/dist/src/clients/orchestrator/public.d.ts.map +1 -1
- package/dist/src/clients/orchestrator/types.d.ts +4 -0
- package/dist/src/clients/orchestrator/types.d.ts.map +1 -1
- package/dist/src/clients/orchestrator/wire.gen.d.ts +695 -1
- package/dist/src/clients/orchestrator/wire.gen.d.ts.map +1 -1
- package/dist/src/config/account.d.ts +15 -1
- package/dist/src/config/account.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -147,6 +147,26 @@ export interface paths {
|
|
|
147
147
|
patch?: never;
|
|
148
148
|
trace?: never;
|
|
149
149
|
};
|
|
150
|
+
'/quotes/estimate': {
|
|
151
|
+
parameters: {
|
|
152
|
+
query?: never;
|
|
153
|
+
header?: never;
|
|
154
|
+
path?: never;
|
|
155
|
+
cookie?: never;
|
|
156
|
+
};
|
|
157
|
+
get?: never;
|
|
158
|
+
put?: never;
|
|
159
|
+
/**
|
|
160
|
+
* Create Indicative Quote
|
|
161
|
+
* @description Computes an indicative (non-binding) quote: ranked route estimates with per-route cost breakdown and fill time. Unlike `POST /quotes`, it returns no `intentId`, `signData`, or `expiresAt` — it cannot be submitted to `POST /intents`. Use it for pre-quote UX (price previews, route discovery) without persisting an intent.
|
|
162
|
+
*/
|
|
163
|
+
post: operations['createQuoteEstimate'];
|
|
164
|
+
delete?: never;
|
|
165
|
+
options?: never;
|
|
166
|
+
head?: never;
|
|
167
|
+
patch?: never;
|
|
168
|
+
trace?: never;
|
|
169
|
+
};
|
|
150
170
|
'/app-fees/balances': {
|
|
151
171
|
parameters: {
|
|
152
172
|
query?: never;
|
|
@@ -3283,6 +3303,11 @@ export interface operations {
|
|
|
3283
3303
|
* @default false
|
|
3284
3304
|
*/
|
|
3285
3305
|
swapFees?: boolean;
|
|
3306
|
+
/**
|
|
3307
|
+
* @description Whether to sponsor the Rhinestone protocol fee (`options.protocolFees`) for the intent. When `true`, the fee is charged to the integrator's sponsorship balance instead of carved from the user, without the sponsorship surcharge.
|
|
3308
|
+
* @default false
|
|
3309
|
+
*/
|
|
3310
|
+
protocolFees?: boolean;
|
|
3286
3311
|
};
|
|
3287
3312
|
/**
|
|
3288
3313
|
* @description How the user's intent signature will be verified onchain. `ECDSA` for plain EOA signatures; `ERC1271_EMISSARY` for smart-account signatures verified via TheCompact emissary delegation. The orchestrator picks a default based on `account.accountType` — only set this if you need to override.
|
|
@@ -3302,6 +3327,13 @@ export interface operations {
|
|
|
3302
3327
|
*/
|
|
3303
3328
|
feeBps: number;
|
|
3304
3329
|
};
|
|
3330
|
+
protocolFees?: {
|
|
3331
|
+
/**
|
|
3332
|
+
* @description Rhinestone protocol fee rate in basis points of the input value (0–10000 = 0–100%). Collected alongside the app fee in one batched transfer and always accrues to Rhinestone; sponsor it via `sponsorSettings.protocolFees` to charge the integrator balance instead of the user.
|
|
3333
|
+
* @example 35
|
|
3334
|
+
*/
|
|
3335
|
+
feeBps: number;
|
|
3336
|
+
};
|
|
3305
3337
|
/**
|
|
3306
3338
|
* @description Tokens that will be received by EOA executions. These will be swept to the recipient account.
|
|
3307
3339
|
* @example [
|
|
@@ -3592,7 +3624,20 @@ export interface operations {
|
|
|
3592
3624
|
*/
|
|
3593
3625
|
sponsored: boolean;
|
|
3594
3626
|
};
|
|
3595
|
-
/** @description Rhinestone
|
|
3627
|
+
/** @description Rhinestone protocol fee (`options.protocolFees`). `sponsored: true` when the integrator sponsorship balance pays it instead of the user. */
|
|
3628
|
+
protocol: {
|
|
3629
|
+
/**
|
|
3630
|
+
* @description Total cost of this category in USD, regardless of who pays.
|
|
3631
|
+
* @example 0.029
|
|
3632
|
+
*/
|
|
3633
|
+
usd: number;
|
|
3634
|
+
/**
|
|
3635
|
+
* @description True when a sponsor absorbs some or all of this category. The user-vs-sponsor split is not surfaced.
|
|
3636
|
+
* @example false
|
|
3637
|
+
*/
|
|
3638
|
+
sponsored: boolean;
|
|
3639
|
+
};
|
|
3640
|
+
/** @description Rhinestone's surcharge on the sponsored relayer coverage, charged to the sponsor. 0 when the intent is not sponsored. Pure surcharge — a sponsored protocol fee is shown on `protocol`, never here. */
|
|
3596
3641
|
sponsorSurcharge: {
|
|
3597
3642
|
/**
|
|
3598
3643
|
* @description Total cost of this category in USD, regardless of who pays.
|
|
@@ -4027,6 +4072,655 @@ export interface operations {
|
|
|
4027
4072
|
};
|
|
4028
4073
|
};
|
|
4029
4074
|
};
|
|
4075
|
+
createQuoteEstimate: {
|
|
4076
|
+
parameters: {
|
|
4077
|
+
query?: never;
|
|
4078
|
+
header: {
|
|
4079
|
+
/** @description API version. Required; pinned to this document. */
|
|
4080
|
+
'x-api-version': '2026-04.blanc';
|
|
4081
|
+
/** @description API key. */
|
|
4082
|
+
'x-api-key': string;
|
|
4083
|
+
};
|
|
4084
|
+
path?: never;
|
|
4085
|
+
cookie?: never;
|
|
4086
|
+
};
|
|
4087
|
+
requestBody: {
|
|
4088
|
+
content: {
|
|
4089
|
+
'application/json': {
|
|
4090
|
+
/**
|
|
4091
|
+
* @description `exactIn` fixes the deposited `amountIn` and estimates the delivered output; `exactOut` fixes the desired `amountOut` and estimates the required input.
|
|
4092
|
+
* @example exactIn
|
|
4093
|
+
* @enum {string}
|
|
4094
|
+
*/
|
|
4095
|
+
direction: 'exactIn' | 'exactOut';
|
|
4096
|
+
/**
|
|
4097
|
+
* @description Source chain id (CAIP-2, eip155)
|
|
4098
|
+
* @example eip155:8453
|
|
4099
|
+
*/
|
|
4100
|
+
sourceChainId: string;
|
|
4101
|
+
/**
|
|
4102
|
+
* @description Source token address
|
|
4103
|
+
* @example 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913
|
|
4104
|
+
*/
|
|
4105
|
+
sourceToken: string;
|
|
4106
|
+
/**
|
|
4107
|
+
* @description Destination chain id (CAIP-2), matching the destinations `POST /quotes` accepts: EVM (`eip155:*`), the virtual `hypercore:mainnet`, or non-EVM `solana:…` / `tron:…`.
|
|
4108
|
+
* @example eip155:42161
|
|
4109
|
+
*/
|
|
4110
|
+
destinationChainId: string;
|
|
4111
|
+
/**
|
|
4112
|
+
* @description Destination token address — EVM `0x…`, Solana base58 mint, or Tron T-address.
|
|
4113
|
+
* @example 0xaf88d065e77c8cc2239327c5edb3a432268e5831
|
|
4114
|
+
*/
|
|
4115
|
+
destinationToken: string;
|
|
4116
|
+
/**
|
|
4117
|
+
* Format: uint256
|
|
4118
|
+
* @description Deposited amount in the source token's smallest unit. Required for (and only valid with) `direction: exactIn`.
|
|
4119
|
+
* @example 1000000
|
|
4120
|
+
*/
|
|
4121
|
+
amountIn?: string;
|
|
4122
|
+
/**
|
|
4123
|
+
* Format: uint256
|
|
4124
|
+
* @description Desired delivered amount in the destination token's smallest unit. Required for (and only valid with) `direction: exactOut`.
|
|
4125
|
+
* @example 1000000
|
|
4126
|
+
*/
|
|
4127
|
+
amountOut?: string;
|
|
4128
|
+
/**
|
|
4129
|
+
* @description Account the route would execute against. Settlement layers filter on account type, so declaring it yields an estimate that matches what `POST /quotes` would plan. Defaults to `EOA` — the more restrictive of the two — so an undeclared caller is never shown smart-account-only routes.
|
|
4130
|
+
* @example SMART_ACCOUNT
|
|
4131
|
+
* @enum {string}
|
|
4132
|
+
*/
|
|
4133
|
+
accountType?: 'EOA' | 'SMART_ACCOUNT';
|
|
4134
|
+
/**
|
|
4135
|
+
* @description Whether the smart account is already deployed on the source chain. An undeployed account pays one-time setup gas, so declaring it avoids over-charging repeat users. Defaults to undeployed (charges setup) for a smart account when omitted — the conservative direction. Ignored for EOAs.
|
|
4136
|
+
* @example true
|
|
4137
|
+
*/
|
|
4138
|
+
accountDeployed?: boolean;
|
|
4139
|
+
/** @description Optional estimate tuning knobs */
|
|
4140
|
+
options?: {
|
|
4141
|
+
/**
|
|
4142
|
+
* @description Which settlement layers the estimate may rank. `{ include: [...] }` (allow-list) or `{ exclude: [...] }` (deny-list). Default unset = all layers eligible.
|
|
4143
|
+
* @example {
|
|
4144
|
+
* "exclude": [
|
|
4145
|
+
* "RELAY"
|
|
4146
|
+
* ]
|
|
4147
|
+
* }
|
|
4148
|
+
*/
|
|
4149
|
+
settlementLayers?: {
|
|
4150
|
+
include: ('ACROSS' | 'ECO' | 'RELAY' | 'OFT' | 'NEAR' | 'RHINO' | 'CCTP')[];
|
|
4151
|
+
} | {
|
|
4152
|
+
exclude: ('ACROSS' | 'ECO' | 'RELAY' | 'OFT' | 'NEAR' | 'RHINO' | 'CCTP')[];
|
|
4153
|
+
};
|
|
4154
|
+
/**
|
|
4155
|
+
* @description Which fee categories to treat as sponsored. Sponsored categories are absorbed by the sponsor and do not reduce the delivered amount.
|
|
4156
|
+
* @example {
|
|
4157
|
+
* "gas": true,
|
|
4158
|
+
* "bridgeFees": true,
|
|
4159
|
+
* "swapFees": false
|
|
4160
|
+
* }
|
|
4161
|
+
*/
|
|
4162
|
+
sponsorSettings?: {
|
|
4163
|
+
/**
|
|
4164
|
+
* @description Whether to sponsor gas for the intent
|
|
4165
|
+
* @default false
|
|
4166
|
+
* @example true
|
|
4167
|
+
*/
|
|
4168
|
+
gas?: boolean;
|
|
4169
|
+
/**
|
|
4170
|
+
* @description Whether to sponsor bridge fees for the intent
|
|
4171
|
+
* @default false
|
|
4172
|
+
*/
|
|
4173
|
+
bridgeFees?: boolean;
|
|
4174
|
+
/**
|
|
4175
|
+
* @description Whether to sponsor swap fees for the intent
|
|
4176
|
+
* @default false
|
|
4177
|
+
*/
|
|
4178
|
+
swapFees?: boolean;
|
|
4179
|
+
/**
|
|
4180
|
+
* @description Whether to sponsor the Rhinestone protocol fee (`options.protocolFees`) for the intent. When `true`, the fee is charged to the integrator's sponsorship balance instead of carved from the user, without the sponsorship surcharge.
|
|
4181
|
+
* @default false
|
|
4182
|
+
*/
|
|
4183
|
+
protocolFees?: boolean;
|
|
4184
|
+
};
|
|
4185
|
+
/**
|
|
4186
|
+
* @description How to rank candidate routes. `cheapest` minimizes USD cost, `fastest` minimizes fill time, `best` balances delivered output and speed.
|
|
4187
|
+
* @example best
|
|
4188
|
+
* @enum {string}
|
|
4189
|
+
*/
|
|
4190
|
+
selectionStrategy?: 'cheapest' | 'fastest' | 'best';
|
|
4191
|
+
/** @description Integrator app fee applied to the estimate */
|
|
4192
|
+
appFees?: {
|
|
4193
|
+
/**
|
|
4194
|
+
* @description App fee rate in basis points of the input value (0–10000 = 0–100%).
|
|
4195
|
+
* @example 25
|
|
4196
|
+
*/
|
|
4197
|
+
feeBps: number;
|
|
4198
|
+
};
|
|
4199
|
+
/** @description Rhinestone protocol fee applied to the estimate */
|
|
4200
|
+
protocolFees?: {
|
|
4201
|
+
/**
|
|
4202
|
+
* @description Rhinestone protocol fee rate in basis points of the input value (0–10000 = 0–100%). Carved from the user unless `sponsorSettings.protocolFees` is set.
|
|
4203
|
+
* @example 5
|
|
4204
|
+
*/
|
|
4205
|
+
feeBps: number;
|
|
4206
|
+
};
|
|
4207
|
+
};
|
|
4208
|
+
};
|
|
4209
|
+
};
|
|
4210
|
+
};
|
|
4211
|
+
responses: {
|
|
4212
|
+
/** @description OK */
|
|
4213
|
+
200: {
|
|
4214
|
+
headers: {
|
|
4215
|
+
[name: string]: unknown;
|
|
4216
|
+
};
|
|
4217
|
+
content: {
|
|
4218
|
+
'application/json': {
|
|
4219
|
+
/** @description Indicative route estimates, best-first. Empty when no route is available. */
|
|
4220
|
+
routes: {
|
|
4221
|
+
/**
|
|
4222
|
+
* @description Settlement layer this estimate is for
|
|
4223
|
+
* @example ACROSS
|
|
4224
|
+
* @enum {string}
|
|
4225
|
+
*/
|
|
4226
|
+
settlementLayer: 'INTENT_EXECUTOR' | 'SAME_CHAIN' | 'ACROSS' | 'ECO' | 'RELAY' | 'OFT' | 'NEAR' | 'RHINO' | 'CCTP';
|
|
4227
|
+
/**
|
|
4228
|
+
* @description `exact` for formula-priced layers; `approximated` for solver-market layers estimated from a typical-fee table.
|
|
4229
|
+
* @example exact
|
|
4230
|
+
* @enum {string}
|
|
4231
|
+
*/
|
|
4232
|
+
accuracy: 'exact' | 'approximated';
|
|
4233
|
+
/**
|
|
4234
|
+
* @description `over_capacity` when the delivered notional exceeds the known liquidity ceiling for this route; such routes rank below fillable ones.
|
|
4235
|
+
* @example ok
|
|
4236
|
+
* @enum {string}
|
|
4237
|
+
*/
|
|
4238
|
+
status: 'ok' | 'over_capacity';
|
|
4239
|
+
/** @description A single (chain, token) leg with amount, price, and metadata */
|
|
4240
|
+
input: {
|
|
4241
|
+
/**
|
|
4242
|
+
* @description Chain where this token leg settles
|
|
4243
|
+
* @example eip155:8453
|
|
4244
|
+
*/
|
|
4245
|
+
chainId: string;
|
|
4246
|
+
/**
|
|
4247
|
+
* @description ERC-20 contract address for this token
|
|
4248
|
+
* @example 0xaf88d065e77c8cc2239327c5edb3a432268e5831
|
|
4249
|
+
*/
|
|
4250
|
+
tokenAddress: string;
|
|
4251
|
+
/**
|
|
4252
|
+
* @description Token symbol. `null` when the internal token registry has no entry for this address.
|
|
4253
|
+
* @example USDC
|
|
4254
|
+
*/
|
|
4255
|
+
symbol: string | null;
|
|
4256
|
+
/**
|
|
4257
|
+
* @description Token decimals. `null` when the internal token registry has no entry for this address.
|
|
4258
|
+
* @example 6
|
|
4259
|
+
*/
|
|
4260
|
+
decimals: number | null;
|
|
4261
|
+
/** @description Unit price in USD. `null` when the price oracle has no data for this token. */
|
|
4262
|
+
price: {
|
|
4263
|
+
/**
|
|
4264
|
+
* @description Unit price in USD
|
|
4265
|
+
* @example 1
|
|
4266
|
+
*/
|
|
4267
|
+
usd: number;
|
|
4268
|
+
} | null;
|
|
4269
|
+
/**
|
|
4270
|
+
* Format: uint256
|
|
4271
|
+
* @description Token amount in the token's smallest unit
|
|
4272
|
+
* @example 1050000
|
|
4273
|
+
*/
|
|
4274
|
+
amount: string;
|
|
4275
|
+
};
|
|
4276
|
+
/** @description A single (chain, token) leg with amount, price, and metadata */
|
|
4277
|
+
output: {
|
|
4278
|
+
/**
|
|
4279
|
+
* @description Chain where this token leg settles (CAIP-2, any namespace)
|
|
4280
|
+
* @example eip155:8453
|
|
4281
|
+
*/
|
|
4282
|
+
chainId: string;
|
|
4283
|
+
/**
|
|
4284
|
+
* @description Contract address of the delivered token (EVM 0x or non-EVM base58)
|
|
4285
|
+
* @example 0xaf88d065e77c8cc2239327c5edb3a432268e5831
|
|
4286
|
+
*/
|
|
4287
|
+
tokenAddress: string;
|
|
4288
|
+
/**
|
|
4289
|
+
* @description Token symbol. `null` when the internal token registry has no entry for this address.
|
|
4290
|
+
* @example USDC
|
|
4291
|
+
*/
|
|
4292
|
+
symbol: string | null;
|
|
4293
|
+
/**
|
|
4294
|
+
* @description Token decimals. `null` when the internal token registry has no entry for this address.
|
|
4295
|
+
* @example 6
|
|
4296
|
+
*/
|
|
4297
|
+
decimals: number | null;
|
|
4298
|
+
/** @description Unit price in USD. `null` when the price oracle has no data for this token. */
|
|
4299
|
+
price: {
|
|
4300
|
+
/**
|
|
4301
|
+
* @description Unit price in USD
|
|
4302
|
+
* @example 1
|
|
4303
|
+
*/
|
|
4304
|
+
usd: number;
|
|
4305
|
+
} | null;
|
|
4306
|
+
/**
|
|
4307
|
+
* Format: uint256
|
|
4308
|
+
* @description Token amount in the token's smallest unit
|
|
4309
|
+
* @example 1050000
|
|
4310
|
+
*/
|
|
4311
|
+
amount: string;
|
|
4312
|
+
};
|
|
4313
|
+
/** @description Aggregate route fees with per-category breakdown */
|
|
4314
|
+
fees: {
|
|
4315
|
+
/** @description Full route cost in USD, regardless of who pays. Equal to `sum(breakdown.*.usd)` modulo rounding. */
|
|
4316
|
+
total: {
|
|
4317
|
+
/**
|
|
4318
|
+
* @description USD-denominated value
|
|
4319
|
+
* @example 0.029
|
|
4320
|
+
*/
|
|
4321
|
+
usd: number;
|
|
4322
|
+
};
|
|
4323
|
+
/** @description Per-category fee breakdown */
|
|
4324
|
+
breakdown: {
|
|
4325
|
+
/** @description Aggregate gas cost (destination fill, swap execution, origin gas) */
|
|
4326
|
+
gas: {
|
|
4327
|
+
/**
|
|
4328
|
+
* @description Total cost of this category in USD, regardless of who pays.
|
|
4329
|
+
* @example 0.029
|
|
4330
|
+
*/
|
|
4331
|
+
usd: number;
|
|
4332
|
+
/**
|
|
4333
|
+
* @description True when a sponsor absorbs some or all of this category. The user-vs-sponsor split is not surfaced.
|
|
4334
|
+
* @example false
|
|
4335
|
+
*/
|
|
4336
|
+
sponsored: boolean;
|
|
4337
|
+
};
|
|
4338
|
+
/** @description Aggregate settlement-layer bridge cost */
|
|
4339
|
+
bridge: {
|
|
4340
|
+
/**
|
|
4341
|
+
* @description Total cost of this category in USD, regardless of who pays.
|
|
4342
|
+
* @example 0.029
|
|
4343
|
+
*/
|
|
4344
|
+
usd: number;
|
|
4345
|
+
/**
|
|
4346
|
+
* @description True when a sponsor absorbs some or all of this category. The user-vs-sponsor split is not surfaced.
|
|
4347
|
+
* @example false
|
|
4348
|
+
*/
|
|
4349
|
+
sponsored: boolean;
|
|
4350
|
+
};
|
|
4351
|
+
/** @description Aggregate solver swap commission */
|
|
4352
|
+
swap: {
|
|
4353
|
+
/**
|
|
4354
|
+
* @description Total cost of this category in USD, regardless of who pays.
|
|
4355
|
+
* @example 0.029
|
|
4356
|
+
*/
|
|
4357
|
+
usd: number;
|
|
4358
|
+
/**
|
|
4359
|
+
* @description True when a sponsor absorbs some or all of this category. The user-vs-sponsor split is not surfaced.
|
|
4360
|
+
* @example false
|
|
4361
|
+
*/
|
|
4362
|
+
sponsored: boolean;
|
|
4363
|
+
};
|
|
4364
|
+
/** @description Aggregate integrator app fee */
|
|
4365
|
+
app: {
|
|
4366
|
+
/**
|
|
4367
|
+
* @description Total cost of this category in USD, regardless of who pays.
|
|
4368
|
+
* @example 0.029
|
|
4369
|
+
*/
|
|
4370
|
+
usd: number;
|
|
4371
|
+
/**
|
|
4372
|
+
* @description True when a sponsor absorbs some or all of this category. The user-vs-sponsor split is not surfaced.
|
|
4373
|
+
* @example false
|
|
4374
|
+
*/
|
|
4375
|
+
sponsored: boolean;
|
|
4376
|
+
};
|
|
4377
|
+
/** @description Rhinestone protocol fee (`options.protocolFees`). `sponsored: true` when the integrator sponsorship balance pays it instead of the user. */
|
|
4378
|
+
protocol: {
|
|
4379
|
+
/**
|
|
4380
|
+
* @description Total cost of this category in USD, regardless of who pays.
|
|
4381
|
+
* @example 0.029
|
|
4382
|
+
*/
|
|
4383
|
+
usd: number;
|
|
4384
|
+
/**
|
|
4385
|
+
* @description True when a sponsor absorbs some or all of this category. The user-vs-sponsor split is not surfaced.
|
|
4386
|
+
* @example false
|
|
4387
|
+
*/
|
|
4388
|
+
sponsored: boolean;
|
|
4389
|
+
};
|
|
4390
|
+
/** @description Rhinestone's surcharge on the sponsored relayer coverage, charged to the sponsor. 0 when the intent is not sponsored. Pure surcharge — a sponsored protocol fee is shown on `protocol`, never here. */
|
|
4391
|
+
sponsorSurcharge: {
|
|
4392
|
+
/**
|
|
4393
|
+
* @description Total cost of this category in USD, regardless of who pays.
|
|
4394
|
+
* @example 0.029
|
|
4395
|
+
*/
|
|
4396
|
+
usd: number;
|
|
4397
|
+
/**
|
|
4398
|
+
* @description True when a sponsor absorbs some or all of this category. The user-vs-sponsor split is not surfaced.
|
|
4399
|
+
* @example false
|
|
4400
|
+
*/
|
|
4401
|
+
sponsored: boolean;
|
|
4402
|
+
};
|
|
4403
|
+
};
|
|
4404
|
+
};
|
|
4405
|
+
/** @description Estimated fill time for the route */
|
|
4406
|
+
estimatedFillTime: {
|
|
4407
|
+
/**
|
|
4408
|
+
* @description Typical end-to-end fill time for this route in seconds. Directional, not guaranteed.
|
|
4409
|
+
* @example 3
|
|
4410
|
+
*/
|
|
4411
|
+
seconds: number;
|
|
4412
|
+
};
|
|
4413
|
+
}[];
|
|
4414
|
+
/**
|
|
4415
|
+
* @description Set when `routes` is empty and there is a single explanatory reason.
|
|
4416
|
+
* @enum {string}
|
|
4417
|
+
*/
|
|
4418
|
+
unavailableReason?: 'unsupported_token' | 'no_route_support' | 'no_price' | 'below_minimum';
|
|
4419
|
+
};
|
|
4420
|
+
};
|
|
4421
|
+
};
|
|
4422
|
+
/** @description Invalid request parameters */
|
|
4423
|
+
400: {
|
|
4424
|
+
headers: {
|
|
4425
|
+
[name: string]: unknown;
|
|
4426
|
+
};
|
|
4427
|
+
content: {
|
|
4428
|
+
'application/json': {
|
|
4429
|
+
/** @enum {string} */
|
|
4430
|
+
code: 'VALIDATION_ERROR';
|
|
4431
|
+
/**
|
|
4432
|
+
* @description Human-readable error message
|
|
4433
|
+
* @example Invalid input
|
|
4434
|
+
*/
|
|
4435
|
+
message: string;
|
|
4436
|
+
/** @description Per-field validation issues */
|
|
4437
|
+
details?: {
|
|
4438
|
+
/** @description Human-readable issue description */
|
|
4439
|
+
message: string;
|
|
4440
|
+
/** @description Structured issue context (e.g. `{ path: "body.accountAddress" }`) */
|
|
4441
|
+
context?: {
|
|
4442
|
+
[key: string]: unknown;
|
|
4443
|
+
};
|
|
4444
|
+
}[];
|
|
4445
|
+
} | {
|
|
4446
|
+
/** @enum {string} */
|
|
4447
|
+
code: 'SIMULATION_FAILED';
|
|
4448
|
+
/**
|
|
4449
|
+
* @description Human-readable error message
|
|
4450
|
+
* @example Invalid input
|
|
4451
|
+
*/
|
|
4452
|
+
message: string;
|
|
4453
|
+
/** @description Classified on-chain simulation failure details */
|
|
4454
|
+
details?: {
|
|
4455
|
+
nonce?: string;
|
|
4456
|
+
category: string;
|
|
4457
|
+
errorSelector: string;
|
|
4458
|
+
errorName: string;
|
|
4459
|
+
errorArgs?: {
|
|
4460
|
+
[key: string]: string;
|
|
4461
|
+
};
|
|
4462
|
+
retryable: boolean;
|
|
4463
|
+
/** @enum {string} */
|
|
4464
|
+
retryHint?: 'RE_PREPARE' | 'RETRY_LATER';
|
|
4465
|
+
simulations?: unknown;
|
|
4466
|
+
} & {
|
|
4467
|
+
[key: string]: unknown;
|
|
4468
|
+
};
|
|
4469
|
+
} | {
|
|
4470
|
+
/** @enum {string} */
|
|
4471
|
+
code: 'INSUFFICIENT_LIQUIDITY';
|
|
4472
|
+
/**
|
|
4473
|
+
* @description Human-readable error message
|
|
4474
|
+
* @example Invalid input
|
|
4475
|
+
*/
|
|
4476
|
+
message: string;
|
|
4477
|
+
/** @description Fillable subset and unfillable remainder */
|
|
4478
|
+
details?: {
|
|
4479
|
+
/** @description Intents fillable with current liquidity */
|
|
4480
|
+
availableIntents: {
|
|
4481
|
+
[key: string]: string;
|
|
4482
|
+
}[];
|
|
4483
|
+
/** @description Token amounts that cannot be filled */
|
|
4484
|
+
unfillable: {
|
|
4485
|
+
[key: string]: string;
|
|
4486
|
+
};
|
|
4487
|
+
};
|
|
4488
|
+
} | {
|
|
4489
|
+
/** @enum {string} */
|
|
4490
|
+
code: 'KEY_SCOPE_DENIED';
|
|
4491
|
+
/**
|
|
4492
|
+
* @description Human-readable error message
|
|
4493
|
+
* @example Invalid input
|
|
4494
|
+
*/
|
|
4495
|
+
message: string;
|
|
4496
|
+
/** @description Single-element list describing the failing scope */
|
|
4497
|
+
details?: {
|
|
4498
|
+
message: string;
|
|
4499
|
+
context: {
|
|
4500
|
+
/**
|
|
4501
|
+
* @description Which scope rejected the request
|
|
4502
|
+
* @enum {string}
|
|
4503
|
+
*/
|
|
4504
|
+
scope: 'allowMainnet' | 'intents' | 'deposits';
|
|
4505
|
+
/** @description Minimum level the endpoint demands */
|
|
4506
|
+
required: boolean | ('read' | 'write');
|
|
4507
|
+
/** @description Level resolved on the key */
|
|
4508
|
+
actual: boolean | ('none' | 'read' | 'write');
|
|
4509
|
+
};
|
|
4510
|
+
}[];
|
|
4511
|
+
} | {
|
|
4512
|
+
/** @enum {string} */
|
|
4513
|
+
code: 'NOT_FOUND' | 'UNAUTHORIZED' | 'FORBIDDEN' | 'CONFLICT' | 'WITHDRAWAL_IN_PROGRESS' | 'WITHDRAWAL_FINALIZATION_PENDING' | 'UNPROCESSABLE_CONTENT' | 'TOO_MANY_REQUESTS' | 'SETTLEMENT_QUOTE_ERROR' | 'SETTLEMENT_EXECUTION_ERROR' | 'EXTERNAL_SERVICE_TIMEOUT' | 'RELAYER_MARKET_UNAVAILABLE' | 'INTERNAL_ERROR';
|
|
4514
|
+
/**
|
|
4515
|
+
* @description Human-readable error message
|
|
4516
|
+
* @example Invalid input
|
|
4517
|
+
*/
|
|
4518
|
+
message: string;
|
|
4519
|
+
};
|
|
4520
|
+
};
|
|
4521
|
+
};
|
|
4522
|
+
/** @description API key scope denied */
|
|
4523
|
+
403: {
|
|
4524
|
+
headers: {
|
|
4525
|
+
[name: string]: unknown;
|
|
4526
|
+
};
|
|
4527
|
+
content: {
|
|
4528
|
+
'application/json': {
|
|
4529
|
+
/** @enum {string} */
|
|
4530
|
+
code: 'VALIDATION_ERROR';
|
|
4531
|
+
/**
|
|
4532
|
+
* @description Human-readable error message
|
|
4533
|
+
* @example Invalid input
|
|
4534
|
+
*/
|
|
4535
|
+
message: string;
|
|
4536
|
+
/** @description Per-field validation issues */
|
|
4537
|
+
details?: {
|
|
4538
|
+
/** @description Human-readable issue description */
|
|
4539
|
+
message: string;
|
|
4540
|
+
/** @description Structured issue context (e.g. `{ path: "body.accountAddress" }`) */
|
|
4541
|
+
context?: {
|
|
4542
|
+
[key: string]: unknown;
|
|
4543
|
+
};
|
|
4544
|
+
}[];
|
|
4545
|
+
} | {
|
|
4546
|
+
/** @enum {string} */
|
|
4547
|
+
code: 'SIMULATION_FAILED';
|
|
4548
|
+
/**
|
|
4549
|
+
* @description Human-readable error message
|
|
4550
|
+
* @example Invalid input
|
|
4551
|
+
*/
|
|
4552
|
+
message: string;
|
|
4553
|
+
/** @description Classified on-chain simulation failure details */
|
|
4554
|
+
details?: {
|
|
4555
|
+
nonce?: string;
|
|
4556
|
+
category: string;
|
|
4557
|
+
errorSelector: string;
|
|
4558
|
+
errorName: string;
|
|
4559
|
+
errorArgs?: {
|
|
4560
|
+
[key: string]: string;
|
|
4561
|
+
};
|
|
4562
|
+
retryable: boolean;
|
|
4563
|
+
/** @enum {string} */
|
|
4564
|
+
retryHint?: 'RE_PREPARE' | 'RETRY_LATER';
|
|
4565
|
+
simulations?: unknown;
|
|
4566
|
+
} & {
|
|
4567
|
+
[key: string]: unknown;
|
|
4568
|
+
};
|
|
4569
|
+
} | {
|
|
4570
|
+
/** @enum {string} */
|
|
4571
|
+
code: 'INSUFFICIENT_LIQUIDITY';
|
|
4572
|
+
/**
|
|
4573
|
+
* @description Human-readable error message
|
|
4574
|
+
* @example Invalid input
|
|
4575
|
+
*/
|
|
4576
|
+
message: string;
|
|
4577
|
+
/** @description Fillable subset and unfillable remainder */
|
|
4578
|
+
details?: {
|
|
4579
|
+
/** @description Intents fillable with current liquidity */
|
|
4580
|
+
availableIntents: {
|
|
4581
|
+
[key: string]: string;
|
|
4582
|
+
}[];
|
|
4583
|
+
/** @description Token amounts that cannot be filled */
|
|
4584
|
+
unfillable: {
|
|
4585
|
+
[key: string]: string;
|
|
4586
|
+
};
|
|
4587
|
+
};
|
|
4588
|
+
} | {
|
|
4589
|
+
/** @enum {string} */
|
|
4590
|
+
code: 'KEY_SCOPE_DENIED';
|
|
4591
|
+
/**
|
|
4592
|
+
* @description Human-readable error message
|
|
4593
|
+
* @example Invalid input
|
|
4594
|
+
*/
|
|
4595
|
+
message: string;
|
|
4596
|
+
/** @description Single-element list describing the failing scope */
|
|
4597
|
+
details?: {
|
|
4598
|
+
message: string;
|
|
4599
|
+
context: {
|
|
4600
|
+
/**
|
|
4601
|
+
* @description Which scope rejected the request
|
|
4602
|
+
* @enum {string}
|
|
4603
|
+
*/
|
|
4604
|
+
scope: 'allowMainnet' | 'intents' | 'deposits';
|
|
4605
|
+
/** @description Minimum level the endpoint demands */
|
|
4606
|
+
required: boolean | ('read' | 'write');
|
|
4607
|
+
/** @description Level resolved on the key */
|
|
4608
|
+
actual: boolean | ('none' | 'read' | 'write');
|
|
4609
|
+
};
|
|
4610
|
+
}[];
|
|
4611
|
+
} | {
|
|
4612
|
+
/** @enum {string} */
|
|
4613
|
+
code: 'NOT_FOUND' | 'UNAUTHORIZED' | 'FORBIDDEN' | 'CONFLICT' | 'WITHDRAWAL_IN_PROGRESS' | 'WITHDRAWAL_FINALIZATION_PENDING' | 'UNPROCESSABLE_CONTENT' | 'TOO_MANY_REQUESTS' | 'SETTLEMENT_QUOTE_ERROR' | 'SETTLEMENT_EXECUTION_ERROR' | 'EXTERNAL_SERVICE_TIMEOUT' | 'RELAYER_MARKET_UNAVAILABLE' | 'INTERNAL_ERROR';
|
|
4614
|
+
/**
|
|
4615
|
+
* @description Human-readable error message
|
|
4616
|
+
* @example Invalid input
|
|
4617
|
+
*/
|
|
4618
|
+
message: string;
|
|
4619
|
+
};
|
|
4620
|
+
};
|
|
4621
|
+
};
|
|
4622
|
+
/** @description Server error */
|
|
4623
|
+
500: {
|
|
4624
|
+
headers: {
|
|
4625
|
+
[name: string]: unknown;
|
|
4626
|
+
};
|
|
4627
|
+
content: {
|
|
4628
|
+
'application/json': {
|
|
4629
|
+
/** @enum {string} */
|
|
4630
|
+
code: 'VALIDATION_ERROR';
|
|
4631
|
+
/**
|
|
4632
|
+
* @description Human-readable error message
|
|
4633
|
+
* @example Invalid input
|
|
4634
|
+
*/
|
|
4635
|
+
message: string;
|
|
4636
|
+
/** @description Per-field validation issues */
|
|
4637
|
+
details?: {
|
|
4638
|
+
/** @description Human-readable issue description */
|
|
4639
|
+
message: string;
|
|
4640
|
+
/** @description Structured issue context (e.g. `{ path: "body.accountAddress" }`) */
|
|
4641
|
+
context?: {
|
|
4642
|
+
[key: string]: unknown;
|
|
4643
|
+
};
|
|
4644
|
+
}[];
|
|
4645
|
+
} | {
|
|
4646
|
+
/** @enum {string} */
|
|
4647
|
+
code: 'SIMULATION_FAILED';
|
|
4648
|
+
/**
|
|
4649
|
+
* @description Human-readable error message
|
|
4650
|
+
* @example Invalid input
|
|
4651
|
+
*/
|
|
4652
|
+
message: string;
|
|
4653
|
+
/** @description Classified on-chain simulation failure details */
|
|
4654
|
+
details?: {
|
|
4655
|
+
nonce?: string;
|
|
4656
|
+
category: string;
|
|
4657
|
+
errorSelector: string;
|
|
4658
|
+
errorName: string;
|
|
4659
|
+
errorArgs?: {
|
|
4660
|
+
[key: string]: string;
|
|
4661
|
+
};
|
|
4662
|
+
retryable: boolean;
|
|
4663
|
+
/** @enum {string} */
|
|
4664
|
+
retryHint?: 'RE_PREPARE' | 'RETRY_LATER';
|
|
4665
|
+
simulations?: unknown;
|
|
4666
|
+
} & {
|
|
4667
|
+
[key: string]: unknown;
|
|
4668
|
+
};
|
|
4669
|
+
} | {
|
|
4670
|
+
/** @enum {string} */
|
|
4671
|
+
code: 'INSUFFICIENT_LIQUIDITY';
|
|
4672
|
+
/**
|
|
4673
|
+
* @description Human-readable error message
|
|
4674
|
+
* @example Invalid input
|
|
4675
|
+
*/
|
|
4676
|
+
message: string;
|
|
4677
|
+
/** @description Fillable subset and unfillable remainder */
|
|
4678
|
+
details?: {
|
|
4679
|
+
/** @description Intents fillable with current liquidity */
|
|
4680
|
+
availableIntents: {
|
|
4681
|
+
[key: string]: string;
|
|
4682
|
+
}[];
|
|
4683
|
+
/** @description Token amounts that cannot be filled */
|
|
4684
|
+
unfillable: {
|
|
4685
|
+
[key: string]: string;
|
|
4686
|
+
};
|
|
4687
|
+
};
|
|
4688
|
+
} | {
|
|
4689
|
+
/** @enum {string} */
|
|
4690
|
+
code: 'KEY_SCOPE_DENIED';
|
|
4691
|
+
/**
|
|
4692
|
+
* @description Human-readable error message
|
|
4693
|
+
* @example Invalid input
|
|
4694
|
+
*/
|
|
4695
|
+
message: string;
|
|
4696
|
+
/** @description Single-element list describing the failing scope */
|
|
4697
|
+
details?: {
|
|
4698
|
+
message: string;
|
|
4699
|
+
context: {
|
|
4700
|
+
/**
|
|
4701
|
+
* @description Which scope rejected the request
|
|
4702
|
+
* @enum {string}
|
|
4703
|
+
*/
|
|
4704
|
+
scope: 'allowMainnet' | 'intents' | 'deposits';
|
|
4705
|
+
/** @description Minimum level the endpoint demands */
|
|
4706
|
+
required: boolean | ('read' | 'write');
|
|
4707
|
+
/** @description Level resolved on the key */
|
|
4708
|
+
actual: boolean | ('none' | 'read' | 'write');
|
|
4709
|
+
};
|
|
4710
|
+
}[];
|
|
4711
|
+
} | {
|
|
4712
|
+
/** @enum {string} */
|
|
4713
|
+
code: 'NOT_FOUND' | 'UNAUTHORIZED' | 'FORBIDDEN' | 'CONFLICT' | 'WITHDRAWAL_IN_PROGRESS' | 'WITHDRAWAL_FINALIZATION_PENDING' | 'UNPROCESSABLE_CONTENT' | 'TOO_MANY_REQUESTS' | 'SETTLEMENT_QUOTE_ERROR' | 'SETTLEMENT_EXECUTION_ERROR' | 'EXTERNAL_SERVICE_TIMEOUT' | 'RELAYER_MARKET_UNAVAILABLE' | 'INTERNAL_ERROR';
|
|
4714
|
+
/**
|
|
4715
|
+
* @description Human-readable error message
|
|
4716
|
+
* @example Invalid input
|
|
4717
|
+
*/
|
|
4718
|
+
message: string;
|
|
4719
|
+
};
|
|
4720
|
+
};
|
|
4721
|
+
};
|
|
4722
|
+
};
|
|
4723
|
+
};
|
|
4030
4724
|
getAppFeeBalances: {
|
|
4031
4725
|
parameters: {
|
|
4032
4726
|
query?: never;
|