diff --git a/api-reference/before-annotations-trails-api.gen.json b/api-reference/before-annotations-trails-api.gen.json index 62eeb88..5127030 100644 --- a/api-reference/before-annotations-trails-api.gen.json +++ b/api-reference/before-annotations-trails-api.gen.json @@ -1310,6 +1310,36 @@ } } }, + "ErrorFeeOnTransferToken": { + "type": "object", + "required": [ + "error", + "code", + "msg", + "status" + ], + "properties": { + "error": { + "type": "string", + "example": "FeeOnTransferToken" + }, + "code": { + "type": "number", + "example": 7003 + }, + "msg": { + "type": "string", + "example": "Fee on transfer tokens are not supported" + }, + "cause": { + "type": "string" + }, + "status": { + "type": "number", + "example": 422 + } + } + }, "ErrorIntentsDisabled": { "type": "object", "required": [ @@ -1370,6 +1400,13 @@ } } }, + "SettlementProvider": { + "type": "string", + "description": "Represented as string on the server side", + "enum": [ + "stripe" + ] + }, "IntentMode": { "type": "string", "description": "Represented as string on the server side", @@ -1428,7 +1465,8 @@ "DIRECT_TRANSFER", "ONRAMP_MESH", "ONRAMP_MELD", - "ONRAMP_BLUVO" + "ONRAMP_BLUVO", + "ONRAMP_STRIPE" ] }, "EdgeRail": { @@ -1594,6 +1632,72 @@ }, "options": { "$ref": "#/components/schemas/QuoteIntentRequestOptions" + }, + "settlement": { + "$ref": "#/components/schemas/QuoteSettlementParams" + } + } + }, + "QuoteSettlementParams": { + "type": "object", + "required": [ + "provider", + "amountCents", + "checkoutRef" + ], + "properties": { + "provider": { + "$ref": "#/components/schemas/SettlementProvider" + }, + "amountCents": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "chainId": { + "type": "number" + }, + "checkoutRef": { + "type": "string" + }, + "orderRef": { + "type": "string" + } + } + }, + "QuoteSettlementInfo": { + "type": "object", + "required": [ + "provider", + "reference", + "currency", + "amountCents", + "amountUsd", + "livemode", + "chainId" + ], + "properties": { + "provider": { + "$ref": "#/components/schemas/SettlementProvider" + }, + "reference": { + "type": "string" + }, + "currency": { + "type": "string" + }, + "amountCents": { + "type": "number" + }, + "amountUsd": { + "type": "string" + }, + "livemode": { + "type": "boolean" + }, + "chainId": { + "type": "number" } } }, @@ -2051,6 +2155,9 @@ "label": { "type": "string" }, + "description": { + "type": "string" + }, "chainId": { "type": "number" }, @@ -2445,6 +2552,9 @@ "edge": { "$ref": "#/components/schemas/IntentEdgeMetadata" }, + "settlement": { + "$ref": "#/components/schemas/IntentSettlement" + }, "updatedAt": { "type": "string" }, @@ -2453,6 +2563,60 @@ } } }, + "IntentSettlement": { + "type": "object", + "required": [ + "provider", + "label", + "description", + "reference", + "currency", + "amountCents", + "chainId", + "status", + "settled", + "failed", + "terminal" + ], + "properties": { + "provider": { + "$ref": "#/components/schemas/SettlementProvider" + }, + "label": { + "type": "string" + }, + "description": { + "type": "string" + }, + "reference": { + "type": "string" + }, + "currency": { + "type": "string" + }, + "amountCents": { + "type": "number" + }, + "chainId": { + "type": "number" + }, + "status": { + "type": "string" + }, + "settled": { + "type": "boolean" + }, + "failed": { + "type": "boolean" + }, + "terminal": { + "type": "boolean" + }, + "externalUrl": { + "type": "string" + } + } + }, "IntentTransaction": { "type": "object", "required": [ @@ -3332,6 +3496,9 @@ "supportsBridging": { "type": "boolean" }, + "feeOnTransfer": { + "type": "boolean" + }, "logoUri": { "type": "string" }, @@ -4989,6 +5156,9 @@ }, "passthrough": { "$ref": "#/components/schemas/PassthroughInfo" + }, + "settlement": { + "$ref": "#/components/schemas/QuoteSettlementInfo" } } }, @@ -6103,6 +6273,32 @@ } } }, + "SubmitYieldTransactionHashRequest": { + "type": "object", + "required": [ + "transactionId", + "transactionHash" + ], + "properties": { + "transactionId": { + "type": "string" + }, + "transactionHash": { + "type": "string" + } + } + }, + "SubmitYieldTransactionHashResponse": { + "type": "object", + "required": [ + "transaction" + ], + "properties": { + "transaction": { + "$ref": "#/components/schemas/YieldTransaction" + } + } + }, "GetIntentTransactionHistoryRequest": { "type": "object", "properties": { @@ -6432,6 +6628,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -6616,6 +6815,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -6800,6 +7002,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -6984,6 +7189,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -7168,6 +7376,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -7352,6 +7563,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -7536,6 +7750,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -7721,6 +7938,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -7905,6 +8125,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -8089,6 +8312,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -8273,6 +8499,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -8457,6 +8686,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -8641,6 +8873,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -8825,6 +9060,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -9009,6 +9247,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -9193,6 +9434,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -9377,6 +9621,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -9561,6 +9808,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -9745,6 +9995,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -9929,6 +10182,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -10113,6 +10369,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -10298,6 +10557,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -10483,6 +10745,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -10668,6 +10933,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -10852,6 +11120,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -11036,6 +11307,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -11220,6 +11494,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -11405,6 +11682,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -11589,6 +11869,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -11773,6 +12056,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -11957,6 +12243,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -12142,6 +12431,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -12326,6 +12618,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -12510,6 +12805,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -12694,6 +12992,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -12878,6 +13179,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -13062,6 +13366,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -13246,6 +13553,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -13430,6 +13740,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -13614,6 +13927,196 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, + { + "$ref": "#/components/schemas/ErrorIntentsDisabled" + } + ] + } + } + } + }, + "5XX": { + "description": "Server error", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ErrorWebrpcBadResponse" + }, + { + "$ref": "#/components/schemas/ErrorWebrpcServerPanic" + }, + { + "$ref": "#/components/schemas/ErrorWebrpcInternalError" + }, + { + "$ref": "#/components/schemas/ErrorUnexpected" + }, + { + "$ref": "#/components/schemas/ErrorChainNodeHealth" + } + ] + } + } + } + } + } + } + }, + "/rpc/Trails/YieldSubmitTransactionHash": { + "post": { + "operationId": "Trails-YieldSubmitTransactionHash", + "tags": [ + "Trails" + ], + "summary": "YieldSubmitTransactionHash reports a broadcast transaction hash to Yield for lifecycle tracking.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubmitYieldTransactionHashRequest" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubmitYieldTransactionHashResponse" + } + } + } + }, + "4XX": { + "description": "Client error", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ErrorWebrpcEndpoint" + }, + { + "$ref": "#/components/schemas/ErrorWebrpcRequestFailed" + }, + { + "$ref": "#/components/schemas/ErrorWebrpcBadRoute" + }, + { + "$ref": "#/components/schemas/ErrorWebrpcBadMethod" + }, + { + "$ref": "#/components/schemas/ErrorWebrpcBadRequest" + }, + { + "$ref": "#/components/schemas/ErrorWebrpcClientAborted" + }, + { + "$ref": "#/components/schemas/ErrorWebrpcStreamLost" + }, + { + "$ref": "#/components/schemas/ErrorUnauthorized" + }, + { + "$ref": "#/components/schemas/ErrorPermissionDenied" + }, + { + "$ref": "#/components/schemas/ErrorSessionExpired" + }, + { + "$ref": "#/components/schemas/ErrorMethodNotFound" + }, + { + "$ref": "#/components/schemas/ErrorRequestConflict" + }, + { + "$ref": "#/components/schemas/ErrorAborted" + }, + { + "$ref": "#/components/schemas/ErrorGeoblocked" + }, + { + "$ref": "#/components/schemas/ErrorRateLimited" + }, + { + "$ref": "#/components/schemas/ErrorProjectNotFound" + }, + { + "$ref": "#/components/schemas/ErrorAccessKeyNotFound" + }, + { + "$ref": "#/components/schemas/ErrorAccessKeyMismatch" + }, + { + "$ref": "#/components/schemas/ErrorInvalidOrigin" + }, + { + "$ref": "#/components/schemas/ErrorInvalidService" + }, + { + "$ref": "#/components/schemas/ErrorUnauthorizedUser" + }, + { + "$ref": "#/components/schemas/ErrorQuotaExceeded" + }, + { + "$ref": "#/components/schemas/ErrorQuotaRateLimit" + }, + { + "$ref": "#/components/schemas/ErrorNoDefaultKey" + }, + { + "$ref": "#/components/schemas/ErrorMaxAccessKeys" + }, + { + "$ref": "#/components/schemas/ErrorAtLeastOneKey" + }, + { + "$ref": "#/components/schemas/ErrorTimeout" + }, + { + "$ref": "#/components/schemas/ErrorInvalidArgument" + }, + { + "$ref": "#/components/schemas/ErrorUnavailable" + }, + { + "$ref": "#/components/schemas/ErrorQueryFailed" + }, + { + "$ref": "#/components/schemas/ErrorIntentStatus" + }, + { + "$ref": "#/components/schemas/ErrorIntentProtocolDeprecated" + }, + { + "$ref": "#/components/schemas/ErrorNotFound" + }, + { + "$ref": "#/components/schemas/ErrorUnsupportedNetwork" + }, + { + "$ref": "#/components/schemas/ErrorClientOutdated" + }, + { + "$ref": "#/components/schemas/ErrorIntentsSkipped" + }, + { + "$ref": "#/components/schemas/ErrorQuoteExpired" + }, + { + "$ref": "#/components/schemas/ErrorHighPriceImpact" + }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -13798,6 +14301,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -13983,6 +14489,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } diff --git a/api-reference/endpoints/execute-intent-edge.mdx b/api-reference/endpoints/execute-intent-edge.mdx index b55c170..dc8e773 100644 --- a/api-reference/endpoints/execute-intent-edge.mdx +++ b/api-reference/endpoints/execute-intent-edge.mdx @@ -5,81 +5,97 @@ openapi: ../trails-api.gen.json post /rpc/Trails/ExecuteIntentEdge ## Overview -The `ExecuteIntentEdge` endpoint arms an origin-mode edge intent (Solana or Tron origin) for execution. It flips the intent's edge status so the server-side edge monitor begins watching for the Relay fill on the edge chain and completes execution on the EVM side once funds arrive. +`ExecuteIntentEdge` arms an origin-mode edge intent — one whose funding leg comes from a non-EVM **edge rail** (Solana or Tron) — so the edge monitor starts watching for the external bridge fill server-side. Call it on user "proceed" before the user pays on the edge chain; no deposit is attached because the fill hash is discovered server-side once funds arrive. -Call it **before** the user pays on the edge chain. `ExecuteIntentEdge` takes only the `intentId` — no deposit hash, no `edgeId`. The edge quote is resolved and validated from the intent, and the fill transaction hash is discovered server-side. +Use `ExecuteIntent` for EVM-only intents. Use `ExecuteIntentEdge` for intents quoted through [`QuoteIntentEdge`](/api-reference/endpoints/quote-intent-edge) with `edge.mode = ORIGIN`. -This endpoint is idempotent. Re-arming an already-armed intent succeeds and returns the current status. +Destination-mode edge intents are armed atomically inside `ExecuteIntent` and do not use this endpoint. -## When to use - -- Solana → EVM payment (edge as origin) -- Tron → EVM payment (edge as origin) - -For EVM origins, call [`ExecuteIntent`](/api-reference/endpoints/execute-intent) instead. For EVM → Solana or EVM → Tron (edge as destination), the origin call is a plain EVM intent — use `ExecuteIntent` there too. - ## Request Parameters ### Required Fields -- **intentId** (string): The intent identifier from `QuoteIntentEdgeResponse.intent.intentId` +- **intentId** (string): The intent identifier returned from `QuoteIntentEdge` (or from `CommitIntent` if you took the two-step path). -## Response +The edge quote is resolved from the intent server-side, so no `edgeId` is required. -- **intentId** (string): The intent identifier -- **intentStatus** (IntentStatus): The current intent status after arming +## Response -## Edge Intent Lifecycle +- **intentId** (string): The intent identifier. +- **intentStatus** (`IntentStatus`): Current status of the intent. Arming does not itself change the intent's status — the intent stays `QUOTED` until the edge monitor observes the fill and completes execution server-side. Once the fill is observed, the intent transitions to `EXECUTING` and then to `SUCCEEDED` or `FAILED`. -``` -QuoteIntentEdge → ExecuteIntentEdge → user deposits on edge chain - → server observes Relay fill - → EVM execution + Receipt -``` +## Behavior -Because the edge deposit is initiated by the user's Solana/Tron wallet, no deposit hash is sent to the API. The server correlates the arrival on the EVM side against the Relay bridge and progresses the intent automatically. +- Arming is idempotent — re-arming an already-armed intent succeeds without error. +- Arming is pre-funds by definition: the endpoint rejects with `QuoteExpired` if the quote has expired. +- No `intent_receipts` or `intent_transactions` rows are created at arm time. The edge monitor writes them as the fill and subsequent hops progress. ## Example ```typescript -import { TrailsApi } from '@0xtrails/api' - -const trailsApi = new TrailsApi('YOUR_API_KEY') - -// Step 1: Quote the edge intent -const { intent, gasFeeOptions, edge } = await trailsApi.quoteIntentEdge({ - intent: quoteRequest, - edge: { rail: 'SOLANA', mode: 'ORIGIN', tokenAddress: '...', userAddress: '...' }, +// Step 1: Quote an origin-mode edge intent (e.g. Solana → Base USDC) +const quoteResponse = await fetch('https://trails-api.sequence.app/rpc/Trails/QuoteIntentEdge', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'X-Access-Key': 'YOUR_ACCESS_KEY', + }, + body: JSON.stringify({ + intent: { + ownerAddress: '0x0709CF2d5D4f3D38f5948d697fE64d7FB3639Eb1', + originChainId: 0, + destinationChainId: 8453, + destinationTokenAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', + destinationToAddress: '0x0709CF2d5D4f3D38f5948d697fE64d7FB3639Eb1', + destinationTokenAmount: 100000000, + }, + edge: { + rail: 'SOLANA', + mode: 'ORIGIN', + originChainId: 1399811149, + originAddress: 'AbC...', + originTokenAddress: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', + }, + }), }) - -// Step 2: Arm the edge monitor before the user pays on the edge chain -const { intentStatus } = await trailsApi.executeIntentEdge({ - intentId: intent.intentId, +const { intent } = await quoteResponse.json() + +// Step 2: Arm the intent so the edge monitor starts watching for the fill +const armResponse = await fetch('https://trails-api.sequence.app/rpc/Trails/ExecuteIntentEdge', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'X-Access-Key': 'YOUR_ACCESS_KEY', + }, + body: JSON.stringify({ + intentId: intent.id, + }), }) +const { intentStatus } = await armResponse.json() -// Step 3: Prompt the user to sign the edge deposit with their Solana / Tron wallet -// (handled by the SDK's edge adapters — see 0xtrails/svm or 0xtrails/tvm) - -// Step 4: Monitor completion -const receipt = await trailsApi.waitIntentReceipt({ intentId: intent.intentId }) +// Step 3: Guide the user to pay on the edge chain to `edge.handoff`. +// Step 4: Poll GetIntentReceipt / WaitIntentReceipt for completion. ``` -## Timing Requirements - - -Arm the intent within the quote's expiration window (**5 minutes** from `QuoteIntentEdge`). After arming, the user must complete the edge deposit before the intent's overall expiry, otherwise the intent refunds. - - ## Errors -- **QuoteExpired** — the quoted edge intent expired before arming -- **IntentStatus** — the intent is not in a state that permits arming (already executing, terminal, or unknown) -- **InvalidArgument** — the intent is not an origin-mode edge intent +| Error | When | +|-------|------| +| `InvalidArgument` | `intentId` missing, or the intent has no origin edge quote | +| `NotFound` | No intent matches `intentId` | +| `IntentStatus` | Intent is past its pre-execution states (already `EXECUTING`, `SUCCEEDED`, `FAILED`, etc.) | +| `QuoteExpired` | The intent's quote expired before it was armed | +| `IntentsDisabled` | Intents are disabled on this deployment | ## Next Steps -- Track the external bridge hop with [`GetEdgeStatus`](/api-reference/endpoints/get-edge-status) -- Poll or stream the intent receipt with [`WaitIntentReceipt`](/api-reference/endpoints/wait-intent-receipt) -- Discover currently-enabled edge rails with [`GetEdges`](/api-reference/endpoints/get-edges) + + + Poll for cross-chain execution status + + + Long-poll for updates + + diff --git a/api-reference/endpoints/get-edge-status.mdx b/api-reference/endpoints/get-edge-status.mdx index 6ff01a1..a407796 100644 --- a/api-reference/endpoints/get-edge-status.mdx +++ b/api-reference/endpoints/get-edge-status.mdx @@ -17,8 +17,11 @@ The `GetEdgeStatus` endpoint returns the current status of an edge rail leg crea - **status** (string): The edge rail status. Maps to the `EdgeStatus` enum values: `PENDING`, `DEPOSITED`, `FILLED`, `REFUNDED`, `FAILED`. - **initTransactionHash** (string, optional): The transaction hash that initiated the edge leg (deposit on the non-EVM origin chain, or handoff transfer for destination mode). +- **initChainId** (number, optional): Chain ID the `initTransactionHash` was submitted on. - **fillTransactionHash** (string, optional): The transaction hash that filled the edge leg. +- **fillChainId** (number, optional): Chain ID the `fillTransactionHash` was submitted on. - **refundTransactionHash** (string, optional): The transaction hash that refunded the edge leg when it could not be filled. +- **refundChainId** (number, optional): Chain ID the `refundTransactionHash` was submitted on. - **transactionStates** (array, optional): Detailed per-transaction state info. - **failReason** (string, optional): Populated when the edge rail failed. diff --git a/api-reference/endpoints/yield-submit-transaction-hash.mdx b/api-reference/endpoints/yield-submit-transaction-hash.mdx new file mode 100644 index 0000000..b2d1e6c --- /dev/null +++ b/api-reference/endpoints/yield-submit-transaction-hash.mdx @@ -0,0 +1,76 @@ +--- +title: YieldSubmitTransactionHash +description: "Report the on-chain hash of a broadcast Yield deposit or withdrawal transaction" +openapi: ../trails-api.gen.json post /rpc/Trails/YieldSubmitTransactionHash +--- + +## Overview + +`YieldSubmitTransactionHash` reports the on-chain transaction hash of a broadcast Yield action back to Trails' upstream Yield provider so it can advance lifecycle tracking and discover the resulting position in aggregate balance queries. + +Yield actions are constructed through [`YieldCreateEnterAction`](/api-reference/endpoints/yield-create-enter-action) and [`YieldCreateExitAction`](/api-reference/endpoints/yield-create-exit-action), then signed and broadcast by the client. This endpoint is how the client hands the resulting hash back to Trails so the position shows up in [`YieldGetBalances`](/api-reference/endpoints/yield-get-balances). + +## Request Parameters + +| Field | Type | Required | Description | +|-------|------|----------|-------------| +| `transactionId` | string | Yes | Yield transaction ID returned in the `YieldAction` payload from `YieldCreateEnterAction` / `YieldCreateExitAction` | +| `transactionHash` | string | Yes | On-chain hash of the broadcast transaction | + +Both fields are trimmed and rejected as `InvalidArgument` if empty. + +## Response + +- **transaction** (`YieldTransaction`): The updated Yield transaction record. + +## Example + +```typescript +// Step 1: Build the deposit action +const actionResponse = await fetch('https://trails-api.sequence.app/rpc/Trails/YieldCreateEnterAction', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'X-Access-Key': 'YOUR_ACCESS_KEY', + }, + body: JSON.stringify({ + earnMarketId: 'base-usdc-aave-v3-lending', + userWalletAddress: '0xYourWalletAddress', + }), +}) +const { action } = await actionResponse.json() +const { transactions } = JSON.parse(action.payload) + +// Step 2: Sign and broadcast on-chain +const hash = await walletClient.sendTransaction({ + to: transactions[0].to, + data: transactions[0].data, + value: BigInt(transactions[0].value ?? 0), +}) + +// Step 3: Report the broadcast hash back to Yield +await fetch('https://trails-api.sequence.app/rpc/Trails/YieldSubmitTransactionHash', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'X-Access-Key': 'YOUR_ACCESS_KEY', + }, + body: JSON.stringify({ + transactionId: action.transactionId, + transactionHash: hash, + }), +}) +``` + +## Errors + +| Error | When | +|-------|------| +| `InvalidArgument` | `transactionId` or `transactionHash` is missing/empty | +| `Unavailable` | The Yield provider is not configured on this deployment | + +## See also + +- [YieldCreateEnterAction](/api-reference/endpoints/yield-create-enter-action) — Build a deposit action +- [YieldCreateExitAction](/api-reference/endpoints/yield-create-exit-action) — Build a withdrawal action +- [YieldGetBalances](/api-reference/endpoints/yield-get-balances) — Read aggregate Yield balances diff --git a/api-reference/trails-api.gen.json b/api-reference/trails-api.gen.json index 7df9d35..ffc3d6b 100644 --- a/api-reference/trails-api.gen.json +++ b/api-reference/trails-api.gen.json @@ -1310,6 +1310,36 @@ } } }, + "ErrorFeeOnTransferToken": { + "type": "object", + "required": [ + "error", + "code", + "msg", + "status" + ], + "properties": { + "error": { + "type": "string", + "example": "FeeOnTransferToken" + }, + "code": { + "type": "number", + "example": 7003 + }, + "msg": { + "type": "string", + "example": "Fee on transfer tokens are not supported" + }, + "cause": { + "type": "string" + }, + "status": { + "type": "number", + "example": 422 + } + } + }, "ErrorIntentsDisabled": { "type": "object", "required": [ @@ -1370,6 +1400,13 @@ } } }, + "SettlementProvider": { + "type": "string", + "description": "Represented as string on the server side", + "enum": [ + "stripe" + ] + }, "IntentMode": { "type": "string", "description": "Represented as string on the server side", @@ -1428,7 +1465,8 @@ "DIRECT_TRANSFER", "ONRAMP_MESH", "ONRAMP_MELD", - "ONRAMP_BLUVO" + "ONRAMP_BLUVO", + "ONRAMP_STRIPE" ] }, "EdgeRail": { @@ -1594,6 +1632,72 @@ }, "options": { "$ref": "#/components/schemas/QuoteIntentRequestOptions" + }, + "settlement": { + "$ref": "#/components/schemas/QuoteSettlementParams" + } + } + }, + "QuoteSettlementParams": { + "type": "object", + "required": [ + "provider", + "amountCents", + "checkoutRef" + ], + "properties": { + "provider": { + "$ref": "#/components/schemas/SettlementProvider" + }, + "amountCents": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "chainId": { + "type": "number" + }, + "checkoutRef": { + "type": "string" + }, + "orderRef": { + "type": "string" + } + } + }, + "QuoteSettlementInfo": { + "type": "object", + "required": [ + "provider", + "reference", + "currency", + "amountCents", + "amountUsd", + "livemode", + "chainId" + ], + "properties": { + "provider": { + "$ref": "#/components/schemas/SettlementProvider" + }, + "reference": { + "type": "string" + }, + "currency": { + "type": "string" + }, + "amountCents": { + "type": "number" + }, + "amountUsd": { + "type": "string" + }, + "livemode": { + "type": "boolean" + }, + "chainId": { + "type": "number" } } }, @@ -2051,6 +2155,9 @@ "label": { "type": "string" }, + "description": { + "type": "string" + }, "chainId": { "type": "number" }, @@ -2445,6 +2552,9 @@ "edge": { "$ref": "#/components/schemas/IntentEdgeMetadata" }, + "settlement": { + "$ref": "#/components/schemas/IntentSettlement" + }, "updatedAt": { "type": "string" }, @@ -2453,6 +2563,60 @@ } } }, + "IntentSettlement": { + "type": "object", + "required": [ + "provider", + "label", + "description", + "reference", + "currency", + "amountCents", + "chainId", + "status", + "settled", + "failed", + "terminal" + ], + "properties": { + "provider": { + "$ref": "#/components/schemas/SettlementProvider" + }, + "label": { + "type": "string" + }, + "description": { + "type": "string" + }, + "reference": { + "type": "string" + }, + "currency": { + "type": "string" + }, + "amountCents": { + "type": "number" + }, + "chainId": { + "type": "number" + }, + "status": { + "type": "string" + }, + "settled": { + "type": "boolean" + }, + "failed": { + "type": "boolean" + }, + "terminal": { + "type": "boolean" + }, + "externalUrl": { + "type": "string" + } + } + }, "IntentTransaction": { "type": "object", "required": [ @@ -3332,6 +3496,9 @@ "supportsBridging": { "type": "boolean" }, + "feeOnTransfer": { + "type": "boolean" + }, "logoUri": { "type": "string" }, @@ -4989,6 +5156,9 @@ }, "passthrough": { "$ref": "#/components/schemas/PassthroughInfo" + }, + "settlement": { + "$ref": "#/components/schemas/QuoteSettlementInfo" } } }, @@ -6103,6 +6273,32 @@ } } }, + "SubmitYieldTransactionHashRequest": { + "type": "object", + "required": [ + "transactionId", + "transactionHash" + ], + "properties": { + "transactionId": { + "type": "string" + }, + "transactionHash": { + "type": "string" + } + } + }, + "SubmitYieldTransactionHashResponse": { + "type": "object", + "required": [ + "transaction" + ], + "properties": { + "transaction": { + "$ref": "#/components/schemas/YieldTransaction" + } + } + }, "GetIntentTransactionHistoryRequest": { "type": "object", "properties": { @@ -6432,6 +6628,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -6616,6 +6815,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -6800,6 +7002,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -6984,6 +7189,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -7168,6 +7376,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -7352,6 +7563,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -7536,6 +7750,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -7721,6 +7938,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -7905,6 +8125,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -8089,6 +8312,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -8273,6 +8499,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -8457,6 +8686,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -8641,6 +8873,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -8825,6 +9060,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -9009,6 +9247,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -9193,6 +9434,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -9377,6 +9621,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -9561,6 +9808,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -9745,6 +9995,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -9929,6 +10182,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -10113,6 +10369,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -10298,6 +10557,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -10483,6 +10745,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -10668,6 +10933,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -10852,6 +11120,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -11036,6 +11307,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -11220,6 +11494,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -11405,6 +11682,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -11589,6 +11869,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -11773,6 +12056,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -11957,6 +12243,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -12142,6 +12431,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -12326,6 +12618,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -12510,6 +12805,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -12694,6 +12992,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -12878,6 +13179,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -13062,6 +13366,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -13246,6 +13553,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -13430,6 +13740,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -13614,6 +13927,196 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, + { + "$ref": "#/components/schemas/ErrorIntentsDisabled" + } + ] + } + } + } + }, + "5XX": { + "description": "Server error", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ErrorWebrpcBadResponse" + }, + { + "$ref": "#/components/schemas/ErrorWebrpcServerPanic" + }, + { + "$ref": "#/components/schemas/ErrorWebrpcInternalError" + }, + { + "$ref": "#/components/schemas/ErrorUnexpected" + }, + { + "$ref": "#/components/schemas/ErrorChainNodeHealth" + } + ] + } + } + } + } + } + } + }, + "/rpc/Trails/YieldSubmitTransactionHash": { + "post": { + "operationId": "Trails-YieldSubmitTransactionHash", + "tags": [ + "Trails" + ], + "summary": "YieldSubmitTransactionHash reports a broadcast transaction hash to Yield for lifecycle tracking.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubmitYieldTransactionHashRequest" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubmitYieldTransactionHashResponse" + } + } + } + }, + "4XX": { + "description": "Client error", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ErrorWebrpcEndpoint" + }, + { + "$ref": "#/components/schemas/ErrorWebrpcRequestFailed" + }, + { + "$ref": "#/components/schemas/ErrorWebrpcBadRoute" + }, + { + "$ref": "#/components/schemas/ErrorWebrpcBadMethod" + }, + { + "$ref": "#/components/schemas/ErrorWebrpcBadRequest" + }, + { + "$ref": "#/components/schemas/ErrorWebrpcClientAborted" + }, + { + "$ref": "#/components/schemas/ErrorWebrpcStreamLost" + }, + { + "$ref": "#/components/schemas/ErrorUnauthorized" + }, + { + "$ref": "#/components/schemas/ErrorPermissionDenied" + }, + { + "$ref": "#/components/schemas/ErrorSessionExpired" + }, + { + "$ref": "#/components/schemas/ErrorMethodNotFound" + }, + { + "$ref": "#/components/schemas/ErrorRequestConflict" + }, + { + "$ref": "#/components/schemas/ErrorAborted" + }, + { + "$ref": "#/components/schemas/ErrorGeoblocked" + }, + { + "$ref": "#/components/schemas/ErrorRateLimited" + }, + { + "$ref": "#/components/schemas/ErrorProjectNotFound" + }, + { + "$ref": "#/components/schemas/ErrorAccessKeyNotFound" + }, + { + "$ref": "#/components/schemas/ErrorAccessKeyMismatch" + }, + { + "$ref": "#/components/schemas/ErrorInvalidOrigin" + }, + { + "$ref": "#/components/schemas/ErrorInvalidService" + }, + { + "$ref": "#/components/schemas/ErrorUnauthorizedUser" + }, + { + "$ref": "#/components/schemas/ErrorQuotaExceeded" + }, + { + "$ref": "#/components/schemas/ErrorQuotaRateLimit" + }, + { + "$ref": "#/components/schemas/ErrorNoDefaultKey" + }, + { + "$ref": "#/components/schemas/ErrorMaxAccessKeys" + }, + { + "$ref": "#/components/schemas/ErrorAtLeastOneKey" + }, + { + "$ref": "#/components/schemas/ErrorTimeout" + }, + { + "$ref": "#/components/schemas/ErrorInvalidArgument" + }, + { + "$ref": "#/components/schemas/ErrorUnavailable" + }, + { + "$ref": "#/components/schemas/ErrorQueryFailed" + }, + { + "$ref": "#/components/schemas/ErrorIntentStatus" + }, + { + "$ref": "#/components/schemas/ErrorIntentProtocolDeprecated" + }, + { + "$ref": "#/components/schemas/ErrorNotFound" + }, + { + "$ref": "#/components/schemas/ErrorUnsupportedNetwork" + }, + { + "$ref": "#/components/schemas/ErrorClientOutdated" + }, + { + "$ref": "#/components/schemas/ErrorIntentsSkipped" + }, + { + "$ref": "#/components/schemas/ErrorQuoteExpired" + }, + { + "$ref": "#/components/schemas/ErrorHighPriceImpact" + }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -13798,6 +14301,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } @@ -13983,6 +14489,9 @@ { "$ref": "#/components/schemas/ErrorHighPriceImpact" }, + { + "$ref": "#/components/schemas/ErrorFeeOnTransferToken" + }, { "$ref": "#/components/schemas/ErrorIntentsDisabled" } diff --git a/api-reference/trails-api.gen.yaml b/api-reference/trails-api.gen.yaml index 4bfc2c4..8144d35 100644 --- a/api-reference/trails-api.gen.yaml +++ b/api-reference/trails-api.gen.yaml @@ -1,4 +1,4 @@ -# trails-api v1 5c42fda72e8f9f44a7c3064d817685ef58e3cde6 +# trails-api v1 bd63619caf9824edba08eb8e48c464894482254a # -- # Code generated by webrpc-gen@v0.38.0 with openapi generator; DO NOT EDIT # @@ -961,6 +961,28 @@ components: status: type: number example: 422 + ErrorFeeOnTransferToken: + type: object + required: + - error + - code + - msg + - status + properties: + error: + type: string + example: "FeeOnTransferToken" + code: + type: number + example: 7003 + msg: + type: string + example: "Fee on transfer tokens are not supported" + cause: + type: string + status: + type: number + example: 422 ErrorIntentsDisabled: type: object required: @@ -1005,6 +1027,11 @@ components: status: type: number example: 503 + SettlementProvider: + type: string + description: Represented as string on the server side + enum: + - stripe IntentMode: type: string description: Represented as string on the server side @@ -1056,6 +1083,7 @@ components: - ONRAMP_MESH - ONRAMP_MELD - ONRAMP_BLUVO + - ONRAMP_STRIPE EdgeRail: type: string description: Represented as string on the server side @@ -1183,6 +1211,52 @@ components: type: boolean options: $ref: '#/components/schemas/QuoteIntentRequestOptions' + settlement: + $ref: '#/components/schemas/QuoteSettlementParams' + QuoteSettlementParams: + type: object + required: + - provider + - amountCents + - checkoutRef + properties: + provider: + $ref: '#/components/schemas/SettlementProvider' + amountCents: + type: number + currency: + type: string + chainId: + type: number + checkoutRef: + type: string + orderRef: + type: string + QuoteSettlementInfo: + type: object + required: + - provider + - reference + - currency + - amountCents + - amountUsd + - livemode + - chainId + properties: + provider: + $ref: '#/components/schemas/SettlementProvider' + reference: + type: string + currency: + type: string + amountCents: + type: number + amountUsd: + type: string + livemode: + type: boolean + chainId: + type: number QuoteIntentRequestOptions: type: object properties: @@ -1501,6 +1575,8 @@ components: type: string label: type: string + description: + type: string chainId: type: number transactionHash: @@ -1778,10 +1854,51 @@ components: $ref: '#/components/schemas/IntentReceiptSummary' edge: $ref: '#/components/schemas/IntentEdgeMetadata' + settlement: + $ref: '#/components/schemas/IntentSettlement' updatedAt: type: string createdAt: type: string + IntentSettlement: + type: object + required: + - provider + - label + - description + - reference + - currency + - amountCents + - chainId + - status + - settled + - failed + - terminal + properties: + provider: + $ref: '#/components/schemas/SettlementProvider' + label: + type: string + description: + type: string + reference: + type: string + currency: + type: string + amountCents: + type: number + chainId: + type: number + status: + type: string + settled: + type: boolean + failed: + type: boolean + terminal: + type: boolean + externalUrl: + type: string IntentTransaction: type: object required: @@ -2403,6 +2520,8 @@ components: type: number supportsBridging: type: boolean + feeOnTransfer: + type: boolean logoUri: type: string featured: @@ -3541,6 +3660,8 @@ components: $ref: '#/components/schemas/TransactionStateInfo' passthrough: $ref: '#/components/schemas/PassthroughInfo' + settlement: + $ref: '#/components/schemas/QuoteSettlementInfo' QuoteIntentEdgeRequest: type: object required: @@ -4287,6 +4408,23 @@ components: properties: action: $ref: '#/components/schemas/YieldAction' + SubmitYieldTransactionHashRequest: + type: object + required: + - transactionId + - transactionHash + properties: + transactionId: + type: string + transactionHash: + type: string + SubmitYieldTransactionHashResponse: + type: object + required: + - transaction + properties: + transaction: + $ref: '#/components/schemas/YieldTransaction' GetIntentTransactionHistoryRequest: type: object properties: @@ -4466,6 +4604,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -4539,6 +4678,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -4612,6 +4752,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -4685,6 +4826,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -4758,6 +4900,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -4831,6 +4974,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -4904,6 +5048,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -4981,6 +5126,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -5054,6 +5200,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -5127,6 +5274,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -5200,6 +5348,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -5273,6 +5422,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -5346,6 +5496,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -5419,6 +5570,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -5492,6 +5644,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -5565,6 +5718,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -5638,6 +5792,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -5711,6 +5866,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -5784,6 +5940,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -5857,6 +6014,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -5930,6 +6088,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -6018,6 +6177,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -6101,6 +6261,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -6176,6 +6337,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -6249,6 +6411,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -6322,6 +6485,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -6395,6 +6559,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -6469,6 +6634,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -6542,6 +6708,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -6615,6 +6782,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -6688,6 +6856,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -6763,6 +6932,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -6836,6 +7006,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -6909,6 +7080,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -6982,6 +7154,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -7055,6 +7228,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -7128,6 +7302,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -7201,6 +7376,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -7274,6 +7450,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -7347,6 +7524,81 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' + - $ref: '#/components/schemas/ErrorIntentsDisabled' + '5XX': + description: Server error + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/ErrorWebrpcBadResponse' + - $ref: '#/components/schemas/ErrorWebrpcServerPanic' + - $ref: '#/components/schemas/ErrorWebrpcInternalError' + - $ref: '#/components/schemas/ErrorUnexpected' + - $ref: '#/components/schemas/ErrorChainNodeHealth' + /rpc/Trails/YieldSubmitTransactionHash: + post: + operationId: Trails-YieldSubmitTransactionHash + tags: ["Trails"] + summary: "YieldSubmitTransactionHash reports a broadcast transaction hash to Yield for lifecycle tracking." + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubmitYieldTransactionHashRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SubmitYieldTransactionHashResponse' + '4XX': + description: Client error + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/ErrorWebrpcEndpoint' + - $ref: '#/components/schemas/ErrorWebrpcRequestFailed' + - $ref: '#/components/schemas/ErrorWebrpcBadRoute' + - $ref: '#/components/schemas/ErrorWebrpcBadMethod' + - $ref: '#/components/schemas/ErrorWebrpcBadRequest' + - $ref: '#/components/schemas/ErrorWebrpcClientAborted' + - $ref: '#/components/schemas/ErrorWebrpcStreamLost' + - $ref: '#/components/schemas/ErrorUnauthorized' + - $ref: '#/components/schemas/ErrorPermissionDenied' + - $ref: '#/components/schemas/ErrorSessionExpired' + - $ref: '#/components/schemas/ErrorMethodNotFound' + - $ref: '#/components/schemas/ErrorRequestConflict' + - $ref: '#/components/schemas/ErrorAborted' + - $ref: '#/components/schemas/ErrorGeoblocked' + - $ref: '#/components/schemas/ErrorRateLimited' + - $ref: '#/components/schemas/ErrorProjectNotFound' + - $ref: '#/components/schemas/ErrorAccessKeyNotFound' + - $ref: '#/components/schemas/ErrorAccessKeyMismatch' + - $ref: '#/components/schemas/ErrorInvalidOrigin' + - $ref: '#/components/schemas/ErrorInvalidService' + - $ref: '#/components/schemas/ErrorUnauthorizedUser' + - $ref: '#/components/schemas/ErrorQuotaExceeded' + - $ref: '#/components/schemas/ErrorQuotaRateLimit' + - $ref: '#/components/schemas/ErrorNoDefaultKey' + - $ref: '#/components/schemas/ErrorMaxAccessKeys' + - $ref: '#/components/schemas/ErrorAtLeastOneKey' + - $ref: '#/components/schemas/ErrorTimeout' + - $ref: '#/components/schemas/ErrorInvalidArgument' + - $ref: '#/components/schemas/ErrorUnavailable' + - $ref: '#/components/schemas/ErrorQueryFailed' + - $ref: '#/components/schemas/ErrorIntentStatus' + - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated' + - $ref: '#/components/schemas/ErrorNotFound' + - $ref: '#/components/schemas/ErrorUnsupportedNetwork' + - $ref: '#/components/schemas/ErrorClientOutdated' + - $ref: '#/components/schemas/ErrorIntentsSkipped' + - $ref: '#/components/schemas/ErrorQuoteExpired' + - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -7420,6 +7672,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error @@ -7494,6 +7747,7 @@ paths: - $ref: '#/components/schemas/ErrorIntentsSkipped' - $ref: '#/components/schemas/ErrorQuoteExpired' - $ref: '#/components/schemas/ErrorHighPriceImpact' + - $ref: '#/components/schemas/ErrorFeeOnTransferToken' - $ref: '#/components/schemas/ErrorIntentsDisabled' '5XX': description: Server error diff --git a/docs.json b/docs.json index 818f5a0..c5881c4 100644 --- a/docs.json +++ b/docs.json @@ -193,6 +193,7 @@ "api-reference/endpoints/yield-get-balances", "api-reference/endpoints/yield-create-enter-action", "api-reference/endpoints/yield-create-exit-action", + "api-reference/endpoints/yield-submit-transaction-hash", "api-reference/endpoints/get-earn-pools" ] },