diff --git a/api-reference/trails-api.gen.json b/api-reference/trails-api.gen.json index 48683eb..d0942fa 100644 --- a/api-reference/trails-api.gen.json +++ b/api-reference/trails-api.gen.json @@ -15,7 +15,7 @@ "ApiKeyAuth": { "type": "apiKey", "in": "header", - "description": "API Key for authenticating requests, get an access key at https://trails.build and request early access", + "description": "Project access key for authenticating requests, get an access key at https://sequence.build", "name": "X-Access-Key" } }, @@ -1300,6 +1300,36 @@ "CCTPV2_MESSAGE" ] }, + "IntentStatus": { + "type": "string", + "description": "Represented as uint8 on the server side", + "enum": [ + "QUOTED", + "COMMITTED", + "EXECUTING", + "FAILED", + "SUCCEEDED" + ] + }, + "TransactionType": { + "type": "string", + "description": "Represented as uint8 on the server side", + "enum": [ + "UNKNOWN", + "DEPOSIT", + "ORIGIN", + "DESTINATION", + "ROUTE" + ] + }, + "TransactionContext": { + "type": "string", + "description": "Represented as uint8 on the server side", + "enum": [ + "NONE", + "CCTPV2_MESSAGE" + ] + }, "TransactionStatus": { "type": "string", "description": "Represented as uint8 on the server side", @@ -2822,6 +2852,179 @@ } } }, + "GetTokenPricesRequest": { + "type": "object", + "required": [ + "tokens" + ], + "properties": { + "tokens": { + "type": "array", + "description": "[]Token", + "items": { + "$ref": "#/components/schemas/Token" + } + } + } + }, + "GetTokenPricesResponse": { + "type": "object", + "required": [ + "tokenPrices" + ], + "properties": { + "tokenPrices": { + "type": "array", + "description": "[]TokenPrice", + "items": { + "$ref": "#/components/schemas/TokenPrice" + } + } + } + }, + "GetChainsRequest": { + "type": "object", + "properties": { + "routeProvider": { + "type": "string" + } + } + }, + "GetChainsResponse": { + "type": "object", + "required": [ + "chains" + ], + "properties": { + "chains": { + "type": "array", + "description": "[]ChainInfo", + "items": { + "$ref": "#/components/schemas/ChainInfo" + } + } + } + }, + "GetExactOutputRoutesRequest": { + "type": "object", + "required": [ + "destinationChainId", + "destinationTokenAddress" + ], + "properties": { + "destinationChainId": { + "type": "number" + }, + "destinationTokenAddress": { + "type": "string" + }, + "originChainId": { + "type": "number" + }, + "originTokenAddress": { + "type": "string" + }, + "ownerAddress": { + "type": "string" + } + } + }, + "GetExactOutputRoutesResponse": { + "type": "object", + "required": [ + "tokens" + ], + "properties": { + "tokens": { + "type": "array", + "description": "[]TokenInfo", + "items": { + "$ref": "#/components/schemas/TokenInfo" + } + } + } + }, + "GetExactInputRoutesRequest": { + "type": "object", + "required": [ + "originChainId", + "originTokenAddress" + ], + "properties": { + "originChainId": { + "type": "number" + }, + "originTokenAddress": { + "type": "string" + }, + "destinationChainId": { + "type": "number" + }, + "destinationTokenAddress": { + "type": "string" + } + } + }, + "GetExactInputRoutesResponse": { + "type": "object", + "required": [ + "tokens" + ], + "properties": { + "tokens": { + "type": "array", + "description": "[]TokenInfo", + "items": { + "$ref": "#/components/schemas/TokenInfo" + } + } + } + }, + "GetTokenListRequest": { + "type": "object", + "required": [ + "chainIds" + ], + "properties": { + "chainIds": { + "type": "array", + "description": "[]uint64", + "items": { + "type": "number" + } + }, + "searchQuery": { + "type": "string" + }, + "limit": { + "type": "number" + }, + "tokenAddress": { + "type": "string" + }, + "includeAllListed": { + "type": "boolean" + }, + "includeExternal": { + "type": "boolean" + } + } + }, + "GetTokenListResponse": { + "type": "object", + "required": [ + "tokens" + ], + "properties": { + "tokens": { + "type": "array", + "description": "[]TokenInfo", + "items": { + "$ref": "#/components/schemas/TokenInfo" + } + } + } + }, "Page": { "type": "object", "properties": { diff --git a/api-reference/trails-api.gen.yaml b/api-reference/trails-api.gen.yaml index 58d1351..7a0c16a 100644 --- a/api-reference/trails-api.gen.yaml +++ b/api-reference/trails-api.gen.yaml @@ -1,17 +1,15 @@ -# trails-api v1.0.0 005f3be0cfe130e92ee5ab03d992cac2bf9d2919 +# trails-api v1 8f92de91bde2cea43b147e23526187b7ff8c4fcd # -- -# Code generated by webrpc-gen@v0.30.3 with openapi generator; DO NOT EDIT +# Code generated by webrpc-gen@v0.31.3 with openapi generator; DO NOT EDIT # -# webrpc-gen -service=Trails -match=@public -schema=proto/trails-api.ridl -target=openapi -title=Trails API -securityAnnotation=@auth -securitySchemes={ 'ApiKeyAuth': { 'type': 'apiKey', 'in': 'header', 'description': 'Project access key for authenticating requests, get an access key at https://sequence.build', 'name': 'X-Access-Key' }, } -out=proto/docs/trails-api.gen.yaml +# webrpc-gen -service=Trails -methodTreeShake -match=@public -schema=proto/trails-api.ridl -target=openapi -title=Trails API -securityAnnotation=@auth -securitySchemes={'ApiKeyAuth': {'type': 'apiKey', 'in': 'header', 'description': 'Project access key for authenticating requests, get an access key at https://dashboard.trails.build', 'name': 'X-Access-Key'}} -out=proto/docs/trails-api.gen.yaml openapi: 3.0.0 info: title: 'Trails API' version: '' -servers: - - url: https://trails-api.sequence.app - description: Trails API + components: - securitySchemes: {'ApiKeyAuth': {'type': 'apiKey', 'in': 'header', 'description': 'API Key for authenticating requests, get an access key at https://trails.build and request early access', 'name': 'X-Access-Key'}} + securitySchemes: {'ApiKeyAuth': {'type': 'apiKey', 'in': 'header', 'description': 'Project access key for authenticating requests, get an access key at https://dashboard.trails.build', 'name': 'X-Access-Key'}} schemas: ErrorWebrpcEndpoint: type: object @@ -849,6 +847,72 @@ components: status: type: number example: 422 + ErrorClientOutdated: + type: object + required: + - error + - code + - msg + - status + properties: + error: + type: string + example: "ClientOutdated" + code: + type: number + example: 8009 + msg: + type: string + example: "Client is outdated" + cause: + type: string + status: + type: number + example: 422 + ErrorIntentsSkipped: + type: object + required: + - error + - code + - msg + - status + properties: + error: + type: string + example: "IntentsSkipped" + code: + type: number + example: 7000 + msg: + type: string + example: "Intents skipped as client is attempting a transaction that does not require intents" + cause: + type: string + status: + type: number + example: 400 + ErrorQuoteExpired: + type: object + required: + - error + - code + - msg + - status + properties: + error: + type: string + example: "QuoteExpired" + code: + type: number + example: 7001 + msg: + type: string + example: "Intent quote has expired. Please try again." + cause: + type: string + status: + type: number + example: 400 ErrorIntentsDisabled: type: object required: @@ -877,13 +941,41 @@ components: enum: - EXACT_INPUT - EXACT_OUTPUT - QuoteProviderType: + RouteProvider: type: string description: Represented as string on the server side enum: - - RELAY - - CCTPV2 + - AUTO + - CCTP - LIFI + - RELAY + - SUSHI + - ZEROX + IntentStatus: + type: string + description: Represented as uint8 on the server side + enum: + - QUOTED + - COMMITTED + - EXECUTING + - FAILED + - SUCCEEDED + - ABORTED + TransactionType: + type: string + description: Represented as uint8 on the server side + enum: + - UNKNOWN + - DEPOSIT + - ORIGIN + - DESTINATION + - ROUTE + TransactionContext: + type: string + description: Represented as uint8 on the server side + enum: + - NONE + - CCTPV2_MESSAGE TransactionStatus: type: string description: Represented as uint8 on the server side @@ -898,15 +990,6 @@ components: - SUCCEEDED - FAILED - ABORTED - IntentStatus: - type: string - description: Represented as uint8 on the server side - enum: - - QUOTED - - COMMITTED - - EXECUTING - - FAILED - - SUCCEEDED ChainGasUsageStatus: type: string description: Represented as string on the server side @@ -914,6 +997,16 @@ components: - NORMAL - BUSY - VERY_BUSY + CCTPTransferStatus: + type: string + description: Represented as uint8 on the server side + enum: + - UNKNOWN + - ON_HOLD + - PENDING + - FETCHING + - COMPLETE + - FAILED QuoteIntentRequest: type: object required: @@ -922,7 +1015,6 @@ components: - originTokenAddress - destinationChainId - destinationTokenAddress - - destinationToAddress properties: ownerAddress: type: string @@ -939,20 +1031,24 @@ components: destinationCallData: type: string destinationCallValue: - type: string + type: number originTokenAmount: type: number destinationTokenAmount: type: number tradeType: $ref: '#/components/schemas/TradeType' + onlyNativeGasFee: + type: boolean options: $ref: '#/components/schemas/QuoteIntentRequestOptions' QuoteIntentRequestOptions: type: object properties: - quoteProvider: - $ref: '#/components/schemas/QuoteProviderType' + swapProvider: + $ref: '#/components/schemas/RouteProvider' + bridgeProvider: + $ref: '#/components/schemas/RouteProvider' slippageTolerance: type: number trailsAddressOverrides: @@ -966,16 +1062,18 @@ components: - status - quoteRequest - ownerAddress + - originChainId + - destinationChainId - originIntentAddress - - destinationIntentAddress - - destinationSalt + - salt - depositTransaction - - calls - - preconditions - - metaTxns + - originCalls + - originPrecondition + - originMetaTxn - quote - fees - trailsVersion + - trailsContracts - expiresAt properties: id: @@ -990,35 +1088,38 @@ components: $ref: '#/components/schemas/QuoteIntentRequest' ownerAddress: type: string + originChainId: + type: number + destinationChainId: + type: number originIntentAddress: type: string destinationIntentAddress: type: string - destinationSalt: + salt: type: number depositTransaction: $ref: '#/components/schemas/DepositTransaction' - calls: - type: array - description: '[]IntentCalls' - items: - $ref: '#/components/schemas/IntentCalls' - preconditions: - type: array - description: '[]TransactionPrecondition' - items: - $ref: '#/components/schemas/TransactionPrecondition' - metaTxns: - type: array - description: '[]MetaTxn' - items: - $ref: '#/components/schemas/MetaTxn' + originCalls: + $ref: '#/components/schemas/IntentCalls' + destinationCalls: + $ref: '#/components/schemas/IntentCalls' + originPrecondition: + $ref: '#/components/schemas/TransactionPrecondition' + destinationPrecondition: + $ref: '#/components/schemas/TransactionPrecondition' + originMetaTxn: + $ref: '#/components/schemas/MetaTxn' + destinationMetaTxn: + $ref: '#/components/schemas/MetaTxn' quote: $ref: '#/components/schemas/IntentProviderQuote' fees: $ref: '#/components/schemas/IntentFees' trailsVersion: type: string + trailsContracts: + $ref: '#/components/schemas/TrailsContracts' expiresAt: type: string updatedAt: @@ -1165,6 +1266,8 @@ components: - id - intentId - chainId + - type + - context - fromAddress - toAddress - tokenAddress @@ -1177,6 +1280,10 @@ components: type: string chainId: type: number + type: + $ref: '#/components/schemas/TransactionType' + context: + $ref: '#/components/schemas/TransactionContext' fromAddress: type: string toAddress: @@ -1210,31 +1317,52 @@ components: IntentProviderQuote: type: object required: - - quoteProvider - - quoteProviderRequestId - - quoteProviderFeeUsd + - routeProviders + - routeProvidersRequestIds + - routeProvidersFeeUsd - fromAmount - fromAmountMin + - fromAmountUsd + - fromAmountMinUsd - toAmount - toAmountMin + - toAmountUsd + - toAmountMinUsd - maxSlippage - priceImpact - priceImpactUsd properties: - quoteProvider: - type: string - quoteProviderRequestId: - type: string - quoteProviderFeeUsd: - type: number + routeProviders: + type: array + description: '[]RouteProvider' + items: + $ref: '#/components/schemas/RouteProvider' + routeProvidersRequestIds: + type: array + description: '[]string' + items: + type: string + routeProvidersFeeUsd: + type: array + description: '[]float64' + items: + type: number fromAmount: type: number fromAmountMin: type: number + fromAmountUsd: + type: number + fromAmountMinUsd: + type: number toAmount: type: number toAmountMin: type: number + toAmountUsd: + type: number + toAmountMinUsd: + type: number maxSlippage: type: number priceImpact: @@ -1245,7 +1373,6 @@ components: type: object required: - originGas - - destinationGas - provider - feeTokenAddress - feeTokenTotal @@ -1357,6 +1484,8 @@ components: - destinationTokenAddress - destinationTokenAmount - destinationTokenMetadata + - destinationToAddress + - expiresAt - createdAt properties: id: @@ -1399,6 +1528,10 @@ components: type: number destinationTokenMetadata: $ref: '#/components/schemas/TokenMetadata' + destinationToAddress: + type: string + expiresAt: + type: string updatedAt: type: string createdAt: @@ -1465,31 +1598,44 @@ components: type: object required: - id - - sourceTxHash - - sourceChainId + - intentId + - originChainId - destinationChainId + - originTxnId + - originTxnHash + - destinationTxnId - message - attestation - status + - createdAt + - updatedAt properties: id: + type: number + intentId: type: string - sourceTxHash: - type: string - sourceChainId: + originChainId: type: number destinationChainId: type: number + originTxnId: + type: number + originTxnHash: + type: string + destinationTxnId: + type: number message: type: string attestation: type: string status: - type: string - updatedAt: + type: number + statusReason: type: string createdAt: type: string + updatedAt: + type: string GasFeeOptions: type: object required: @@ -1534,6 +1680,7 @@ components: - amount - amountUsd - feeCollectorAddress + - is2612 properties: tokenAddress: type: string @@ -1547,6 +1694,8 @@ components: type: number feeCollectorAddress: type: string + is2612: + type: boolean DepositSignature: type: object required: @@ -1610,52 +1759,168 @@ components: type: string sequenceWalletUtilsAddress: type: string - SortOrder: - type: string - description: Represented as uint32 on the server side - enum: - - DESC - - ASC - Version: + TrailsContracts: + type: object + required: + - trailsIntentEntrypointAddress + - trailsRouterAddress + - trailsRouterShimAddress + properties: + trailsIntentEntrypointAddress: + type: string + trailsRouterAddress: + type: string + trailsRouterShimAddress: + type: string + ChainInfo: + type: object + required: + - id + - name + - tokenName + - tokenSymbol + - tokenDecimals + - isTestnet + - supportsBridging + properties: + id: + type: number + name: + type: string + tokenName: + type: string + tokenSymbol: + type: string + tokenDecimals: + type: number + isTestnet: + type: boolean + supportsBridging: + type: boolean + logoUri: + type: string + blockExplorerUrl: + type: string + TokenInfo: type: object required: - - webrpcVersion - - schemaVersion - - schemaHash - - appVersion + - chainId + - address + - name + - symbol + - decimals + - featured + - featureIndex properties: - webrpcVersion: + chainId: + type: number + address: + type: string + name: + type: string + symbol: + type: string + decimals: + type: number + supportsBridging: + type: boolean + logoUri: + type: string + featured: + type: boolean + featureIndex: + type: number + MeldQuote: + type: object + required: + - transactionType + - sourceAmount + - sourceAmountWithoutFees + - fiatAmountWithoutFees + - sourceCurrencyCode + - countryCode + - totalFee + - networkFee + - transactionFee + - destinationAmount + - destinationCurrencyCode + - exchangeRate + - paymentMethodType + - customerScore + - serviceProvider + - partnerFee + properties: + transactionType: + type: string + sourceAmount: + type: number + sourceAmountWithoutFees: + type: number + fiatAmountWithoutFees: + type: number + destinationAmountWithoutFees: + type: number + sourceCurrencyCode: + type: string + countryCode: + type: string + totalFee: + type: number + networkFee: + type: number + transactionFee: + type: number + destinationAmount: + type: number + destinationCurrencyCode: type: string - schemaVersion: + exchangeRate: + type: number + paymentMethodType: type: string - schemaHash: + customerScore: + type: number + serviceProvider: type: string - appVersion: + institutionName: type: string + lowKyc: + type: boolean + partnerFee: + type: number + SortOrder: + type: string + description: Represented as uint32 on the server side + enum: + - DESC + - ASC RuntimeStatus: type: object required: - healthOK - - startTime - - uptime - - ver + - version - branch - commitHash + - startTime + - uptime + - hostname - runnables - services properties: healthOK: type: boolean - startTime: - type: string - uptime: - type: number - ver: + version: type: string branch: type: string commitHash: type: string + startTime: + type: string + uptime: + type: string + hostname: + type: string runnables: type: object services: @@ -1744,14 +2009,25 @@ components: properties: intentId: type: string + lastReceiptStates: + type: array + description: '[]TransactionStatus' + items: + $ref: '#/components/schemas/TransactionStatus' WaitIntentReceiptResponse: type: object required: - intentReceipt + - receiptStates - done properties: intentReceipt: $ref: '#/components/schemas/IntentReceipt' + receiptStates: + type: array + description: '[]TransactionStatus' + items: + $ref: '#/components/schemas/TransactionStatus' done: type: boolean GetIntentRequest: @@ -1781,6 +2057,10 @@ components: type: string byOriginIntentAddress: type: string + byDestinationIntentAddress: + type: string + byQueryString: + type: string SearchIntentsResponse: type: object required: @@ -1812,15 +2092,158 @@ components: $ref: '#/components/schemas/IntentSummary' nextPage: $ref: '#/components/schemas/Page' + AbortIntentRequest: + type: object + required: + - intentId + - chainId + - abortTransactionHash + properties: + intentId: + type: string + chainId: + type: number + abortTransactionHash: + type: string + AbortIntentResponse: + type: object + required: + - intentId + - status + properties: + intentId: + type: string + status: + $ref: '#/components/schemas/IntentStatus' + GetTokenPricesRequest: + type: object + required: + - tokens + properties: + tokens: + type: array + description: '[]Token' + items: + $ref: '#/components/schemas/Token' + GetTokenPricesResponse: + type: object + required: + - tokenPrices + properties: + tokenPrices: + type: array + description: '[]TokenPrice' + items: + $ref: '#/components/schemas/TokenPrice' + GetChainsRequest: + type: object + properties: + routeProvider: + type: string + GetChainsResponse: + type: object + required: + - chains + properties: + chains: + type: array + description: '[]ChainInfo' + items: + $ref: '#/components/schemas/ChainInfo' + GetExactOutputRoutesRequest: + type: object + required: + - destinationChainId + - destinationTokenAddress + properties: + destinationChainId: + type: number + destinationTokenAddress: + type: string + originChainId: + type: number + originTokenAddress: + type: string + ownerAddress: + type: string + GetExactOutputRoutesResponse: + type: object + required: + - tokens + properties: + tokens: + type: array + description: '[]TokenInfo' + items: + $ref: '#/components/schemas/TokenInfo' + GetExactInputRoutesRequest: + type: object + required: + - originChainId + - originTokenAddress + properties: + originChainId: + type: number + originTokenAddress: + type: string + destinationChainId: + type: number + destinationTokenAddress: + type: string + GetExactInputRoutesResponse: + type: object + required: + - tokens + properties: + tokens: + type: array + description: '[]TokenInfo' + items: + $ref: '#/components/schemas/TokenInfo' + GetTokenListRequest: + type: object + required: + - chainIds + properties: + chainIds: + type: array + description: '[]uint64' + items: + type: number + searchQuery: + type: string + limit: + type: number + tokenAddress: + type: string + includeAllListed: + type: boolean + includeExternal: + type: boolean + excludeTokens: + type: array + description: '[]string' + items: + type: string + GetTokenListResponse: + type: object + required: + - tokens + properties: + tokens: + type: array + description: '[]TokenInfo' + items: + $ref: '#/components/schemas/TokenInfo' Page: type: object properties: column: type: string before: - type: object + type: number after: - type: object + type: number sort: type: array description: '[]SortBy' @@ -1840,250 +2263,5 @@ components: type: string order: $ref: '#/components/schemas/SortOrder' -paths: - /rpc/Trails/QuoteIntent: - post: - summary: Quote Intent - description: Request a quote for a cross-chain intent transaction - operationId: quoteIntent - security: - - ApiKeyAuth: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/QuoteIntentRequest' - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/QuoteIntentResponse' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorWebrpcBadRequest' - /rpc/Trails/CommitIntent: - post: - summary: Commit Intent - description: Commit an intent to the Trails system - operationId: commitIntent - security: - - ApiKeyAuth: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CommitIntentRequest' - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/CommitIntentResponse' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorWebrpcBadRequest' - /rpc/Trails/ExecuteIntent: - post: - summary: Execute Intent - description: Execute a committed intent transaction - operationId: executeIntent - security: - - ApiKeyAuth: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/ExecuteIntentRequest' - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/ExecuteIntentResponse' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorWebrpcBadRequest' - /rpc/Trails/GetIntentReceipt: - post: - summary: Get Intent Receipt - description: Retrieve the receipt for an executed intent - operationId: getIntentReceipt - security: - - ApiKeyAuth: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/GetIntentReceiptRequest' - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GetIntentReceiptResponse' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorWebrpcBadRequest' - /rpc/Trails/WaitIntentReceipt: - post: - summary: Wait Intent Receipt - description: Wait for an intent receipt to be ready - operationId: waitIntentReceipt - security: - - ApiKeyAuth: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/WaitIntentReceiptRequest' - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/WaitIntentReceiptResponse' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorWebrpcBadRequest' - /rpc/Trails/GetIntent: - post: - summary: Get Intent - description: Retrieve a specific intent by ID - operationId: getIntent - security: - - ApiKeyAuth: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/GetIntentRequest' - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GetIntentResponse' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorWebrpcBadRequest' - /rpc/Trails/SearchIntents: - post: - summary: Search Intents - description: Search for intents by various criteria - operationId: searchIntents - security: - - ApiKeyAuth: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/SearchIntentsRequest' - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/SearchIntentsResponse' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorWebrpcBadRequest' - /rpc/Trails/GetIntentTransactionHistory: - post: - summary: Get Intent Transaction History - description: Retrieve transaction history for an intent - operationId: getIntentTransactionHistory - security: - - ApiKeyAuth: [] - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/GetIntentTransactionHistoryRequest' - responses: - '200': - description: Successful response - content: - application/json: - schema: - $ref: '#/components/schemas/GetIntentTransactionHistoryResponse' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorWebrpcBadRequest' - /rpc/Trails/GetTokenPrices: - post: - summary: Get Token Prices - description: Retrieve current USD prices for tokens - operationId: getTokenPrices - requestBody: - required: true - content: - application/json: - schema: - type: object - required: - - tokens - properties: - tokens: - type: array - items: - $ref: '#/components/schemas/Token' - responses: - '200': - description: Successful response - content: - application/json: - schema: - type: object - required: - - tokenPrices - properties: - tokenPrices: - type: array - items: - $ref: '#/components/schemas/TokenPrice' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorWebrpcBadRequest' + +paths: \ No newline at end of file