> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rhino.fi/llms.txt
> Use this file to discover all available pages before exploring further.

# User History

> Fetch bridge history for a user.



## OpenAPI

````yaml https://api.rhino.fi/bridge/swagger.json get /history-cursor/user
openapi: 3.1.0
info:
  title: Bridge API
  version: 0.0.1
  description: Functionality for interacting with Rhino bridge service
servers:
  - url: https://api.rhino.fi/bridge
security: []
tags:
  - name: quote
  - name: configs
  - name: history
  - name: swap
  - name: depositAddresses
paths:
  /history-cursor/user:
    get:
      tags:
        - history
      summary: User History
      description: Fetch bridge history for a user.
      operationId: history.userHistoryCursor
      parameters:
        - name: sortBy
          in: query
          schema:
            type: string
            enum:
              - createdAt
              - updatedAt
            description: 'Field to sort by: "createdAt" or "updatedAt".'
          required: true
          description: 'Field to sort by: "createdAt" or "updatedAt".'
        - name: sortDirection
          in: query
          schema:
            type: string
            enum:
              - asc
              - desc
            description: 'Sort direction: "asc" for ascending, "desc" for descending.'
          required: true
          description: 'Sort direction: "asc" for ascending, "desc" for descending.'
        - name: state
          in: query
          schema:
            type: string
            enum:
              - PENDING
              - ACCEPTED
              - EXECUTED
            description: >-
              Optional filter by bridge state: "PENDING", "ACCEPTED", or
              "EXECUTED".
          required: false
          description: >-
            Optional filter by bridge state: "PENDING", "ACCEPTED", or
            "EXECUTED".
        - name: pageToken
          in: query
          schema:
            $ref: '#/components/schemas/NonEmptyString'
          required: false
        - name: pageSize
          in: query
          schema:
            type: string
            description: a string to be decoded into a number
          required: true
          description: a string to be decoded into a number
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - items
                  - nextPageToken
                properties:
                  items:
                    type: array
                    items:
                      anyOf:
                        - anyOf:
                            - type: object
                              required:
                                - _id
                                - userId
                                - chainIn
                                - chainOut
                                - amountIn
                                - amountInUsd
                                - amountOut
                                - amountOutUsd
                                - amountNative
                                - amountNativeUsd
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                                - sponsoredFees
                                - recipient
                                - depositor
                                - createdAt
                                - commitmentDate
                                - token
                                - usdPrice
                                - state
                              properties:
                                _id:
                                  type: string
                                userId:
                                  type: string
                                chainIn:
                                  type: string
                                chainOut:
                                  type: string
                                amountIn:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountInUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountOut:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountOutUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountNative:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    - type: 'null'
                                amountNativeUsd:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    - type: 'null'
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sponsoredFees:
                                  type: object
                                  required:
                                    - fee
                                    - feeUsd
                                    - gasFee
                                    - gasFeeUsd
                                    - platformFee
                                    - platformFeeUsd
                                    - percentageFee
                                    - percentageFeeUsd
                                    - sourceGasFee
                                    - sourceGasFeeUsd
                                  properties:
                                    fee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    feeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    gasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    gasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    platformFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    platformFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    percentageFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    percentageFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    sourceGasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    sourceGasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                  additionalProperties: false
                                recipient:
                                  type: string
                                depositor:
                                  type: string
                                createdAt:
                                  $ref: '#/components/schemas/DateFromString'
                                commitmentDate:
                                  $ref: '#/components/schemas/DateFromString'
                                speed:
                                  type: string
                                  enum:
                                    - fast
                                    - standard
                                    - slow
                                estimatedDuration:
                                  type: number
                                  description: >-
                                    a non-negative number to be decoded into a
                                    Duration
                                  title: nonNegative
                                  minimum: 0
                                postBridgeData:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/ExtendedPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapSandboxPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                    - $ref: >-
                                        #/components/schemas/AaveV3SupplyPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/RocketFoundationDepositPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/MapleDepositPostBridgeData
                                token:
                                  type: string
                                usdPrice:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                _tag:
                                  type: string
                                  enum:
                                    - bridge
                                state:
                                  type: string
                                  enum:
                                    - PENDING
                              additionalProperties: false
                            - $ref: '#/components/schemas/BridgeSwapPending'
                            - $ref: '#/components/schemas/DepositAddressBridgePending'
                            - type: object
                              required:
                                - _id
                                - userId
                                - chainIn
                                - chainOut
                                - amountIn
                                - amountInUsd
                                - amountOut
                                - amountOutUsd
                                - amountNative
                                - amountNativeUsd
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                                - sponsoredFees
                                - recipient
                                - depositor
                                - createdAt
                                - commitmentDate
                                - token
                                - usdPrice
                                - depositTxHash
                                - depositDiscoveredAt
                                - expectedDepositConfirmedAt
                                - expectedDepositConfirmedAtBlock
                                - state
                              properties:
                                _id:
                                  type: string
                                userId:
                                  type: string
                                chainIn:
                                  type: string
                                chainOut:
                                  type: string
                                amountIn:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountInUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountOut:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountOutUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountNative:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    - type: 'null'
                                amountNativeUsd:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    - type: 'null'
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sponsoredFees:
                                  type: object
                                  required:
                                    - fee
                                    - feeUsd
                                    - gasFee
                                    - gasFeeUsd
                                    - platformFee
                                    - platformFeeUsd
                                    - percentageFee
                                    - percentageFeeUsd
                                    - sourceGasFee
                                    - sourceGasFeeUsd
                                  properties:
                                    fee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    feeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    gasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    gasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    platformFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    platformFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    percentageFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    percentageFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    sourceGasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    sourceGasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                  additionalProperties: false
                                recipient:
                                  type: string
                                depositor:
                                  type: string
                                createdAt:
                                  $ref: '#/components/schemas/DateFromString'
                                commitmentDate:
                                  $ref: '#/components/schemas/DateFromString'
                                speed:
                                  type: string
                                  enum:
                                    - fast
                                    - standard
                                    - slow
                                estimatedDuration:
                                  type: number
                                  description: >-
                                    a non-negative number to be decoded into a
                                    Duration
                                  title: nonNegative
                                  minimum: 0
                                postBridgeData:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/ExtendedPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapSandboxPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                    - $ref: >-
                                        #/components/schemas/AaveV3SupplyPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/RocketFoundationDepositPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/MapleDepositPostBridgeData
                                token:
                                  type: string
                                usdPrice:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                _tag:
                                  type: string
                                  enum:
                                    - bridge
                                depositTxHash:
                                  type: string
                                depositDiscoveredAt:
                                  $ref: '#/components/schemas/DateFromString'
                                expectedDepositConfirmedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                expectedDepositConfirmedAtBlock:
                                  $ref: '#/components/schemas/Int'
                                state:
                                  type: string
                                  enum:
                                    - PENDING_CONFIRMATION
                              additionalProperties: false
                            - $ref: >-
                                #/components/schemas/BridgeSwapPendingConfirmation
                            - $ref: >-
                                #/components/schemas/DepositAddressBridgePendingConfirmation
                            - type: object
                              required:
                                - _id
                                - userId
                                - chainIn
                                - chainOut
                                - amountIn
                                - amountInUsd
                                - amountOut
                                - amountOutUsd
                                - amountNative
                                - amountNativeUsd
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                                - sponsoredFees
                                - recipient
                                - depositor
                                - createdAt
                                - commitmentDate
                                - token
                                - usdPrice
                                - cancelledAt
                                - state
                              properties:
                                _id:
                                  type: string
                                userId:
                                  type: string
                                chainIn:
                                  type: string
                                chainOut:
                                  type: string
                                amountIn:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountInUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountOut:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountOutUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountNative:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    - type: 'null'
                                amountNativeUsd:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    - type: 'null'
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sponsoredFees:
                                  type: object
                                  required:
                                    - fee
                                    - feeUsd
                                    - gasFee
                                    - gasFeeUsd
                                    - platformFee
                                    - platformFeeUsd
                                    - percentageFee
                                    - percentageFeeUsd
                                    - sourceGasFee
                                    - sourceGasFeeUsd
                                  properties:
                                    fee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    feeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    gasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    gasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    platformFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    platformFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    percentageFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    percentageFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    sourceGasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    sourceGasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                  additionalProperties: false
                                recipient:
                                  type: string
                                depositor:
                                  type: string
                                createdAt:
                                  $ref: '#/components/schemas/DateFromString'
                                commitmentDate:
                                  $ref: '#/components/schemas/DateFromString'
                                speed:
                                  type: string
                                  enum:
                                    - fast
                                    - standard
                                    - slow
                                estimatedDuration:
                                  type: number
                                  description: >-
                                    a non-negative number to be decoded into a
                                    Duration
                                  title: nonNegative
                                  minimum: 0
                                postBridgeData:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/ExtendedPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapSandboxPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                    - $ref: >-
                                        #/components/schemas/AaveV3SupplyPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/RocketFoundationDepositPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/MapleDepositPostBridgeData
                                token:
                                  type: string
                                usdPrice:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                _tag:
                                  type: string
                                  enum:
                                    - bridge
                                cancelledAt:
                                  $ref: '#/components/schemas/DateFromString'
                                state:
                                  type: string
                                  enum:
                                    - CANCELLED
                              additionalProperties: false
                            - $ref: '#/components/schemas/BridgeSwapCancelled'
                            - type: object
                              required:
                                - _id
                                - userId
                                - chainIn
                                - chainOut
                                - amountIn
                                - amountInUsd
                                - amountOut
                                - amountOutUsd
                                - amountNative
                                - amountNativeUsd
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                                - sponsoredFees
                                - recipient
                                - depositor
                                - createdAt
                                - commitmentDate
                                - token
                                - usdPrice
                                - depositTxHash
                                - depositCommittedAt
                                - failedAt
                                - state
                              properties:
                                _id:
                                  type: string
                                userId:
                                  type: string
                                chainIn:
                                  type: string
                                chainOut:
                                  type: string
                                amountIn:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountInUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountOut:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountOutUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountNative:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    - type: 'null'
                                amountNativeUsd:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    - type: 'null'
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sponsoredFees:
                                  type: object
                                  required:
                                    - fee
                                    - feeUsd
                                    - gasFee
                                    - gasFeeUsd
                                    - platformFee
                                    - platformFeeUsd
                                    - percentageFee
                                    - percentageFeeUsd
                                    - sourceGasFee
                                    - sourceGasFeeUsd
                                  properties:
                                    fee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    feeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    gasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    gasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    platformFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    platformFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    percentageFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    percentageFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    sourceGasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    sourceGasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                  additionalProperties: false
                                recipient:
                                  type: string
                                depositor:
                                  type: string
                                createdAt:
                                  $ref: '#/components/schemas/DateFromString'
                                commitmentDate:
                                  $ref: '#/components/schemas/DateFromString'
                                speed:
                                  type: string
                                  enum:
                                    - fast
                                    - standard
                                    - slow
                                estimatedDuration:
                                  type: number
                                  description: >-
                                    a non-negative number to be decoded into a
                                    Duration
                                  title: nonNegative
                                  minimum: 0
                                postBridgeData:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/ExtendedPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapSandboxPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                    - $ref: >-
                                        #/components/schemas/AaveV3SupplyPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/RocketFoundationDepositPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/MapleDepositPostBridgeData
                                token:
                                  type: string
                                usdPrice:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                _tag:
                                  type: string
                                  enum:
                                    - bridge
                                depositTxHash:
                                  type: string
                                depositCommittedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                depositDiscoveredAt:
                                  $ref: '#/components/schemas/DateFromString'
                                depositConfirmedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                expectedDepositConfirmedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                expectedDepositConfirmedAtBlock:
                                  $ref: '#/components/schemas/Int'
                                preSwapTxHash:
                                  type: string
                                preSwapCommittedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                isConfirmed:
                                  type: boolean
                                failedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                state:
                                  type: string
                                  enum:
                                    - FAILED
                              additionalProperties: false
                            - $ref: '#/components/schemas/BridgeSwapFailed'
                            - $ref: '#/components/schemas/DepositAddressBridgeFailed'
                            - type: object
                              required:
                                - _id
                                - userId
                                - chainIn
                                - chainOut
                                - amountIn
                                - amountInUsd
                                - amountOut
                                - amountOutUsd
                                - amountNative
                                - amountNativeUsd
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                                - sponsoredFees
                                - recipient
                                - depositor
                                - createdAt
                                - commitmentDate
                                - token
                                - usdPrice
                                - depositTxHash
                                - depositCommittedAt
                                - state
                              properties:
                                _id:
                                  type: string
                                userId:
                                  type: string
                                chainIn:
                                  type: string
                                chainOut:
                                  type: string
                                amountIn:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountInUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountOut:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountOutUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountNative:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    - type: 'null'
                                amountNativeUsd:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    - type: 'null'
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sponsoredFees:
                                  type: object
                                  required:
                                    - fee
                                    - feeUsd
                                    - gasFee
                                    - gasFeeUsd
                                    - platformFee
                                    - platformFeeUsd
                                    - percentageFee
                                    - percentageFeeUsd
                                    - sourceGasFee
                                    - sourceGasFeeUsd
                                  properties:
                                    fee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    feeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    gasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    gasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    platformFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    platformFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    percentageFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    percentageFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    sourceGasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    sourceGasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                  additionalProperties: false
                                recipient:
                                  type: string
                                depositor:
                                  type: string
                                createdAt:
                                  $ref: '#/components/schemas/DateFromString'
                                commitmentDate:
                                  $ref: '#/components/schemas/DateFromString'
                                speed:
                                  type: string
                                  enum:
                                    - fast
                                    - standard
                                    - slow
                                estimatedDuration:
                                  type: number
                                  description: >-
                                    a non-negative number to be decoded into a
                                    Duration
                                  title: nonNegative
                                  minimum: 0
                                postBridgeData:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/ExtendedPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapSandboxPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                    - $ref: >-
                                        #/components/schemas/AaveV3SupplyPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/RocketFoundationDepositPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/MapleDepositPostBridgeData
                                token:
                                  type: string
                                usdPrice:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                _tag:
                                  type: string
                                  enum:
                                    - bridge
                                depositTxHash:
                                  type: string
                                depositCommittedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                depositDiscoveredAt:
                                  $ref: '#/components/schemas/DateFromString'
                                depositConfirmedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                expectedDepositConfirmedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                expectedDepositConfirmedAtBlock:
                                  $ref: '#/components/schemas/Int'
                                preSwapTxHash:
                                  type: string
                                preSwapCommittedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                isConfirmed:
                                  type: boolean
                                state:
                                  type: string
                                  enum:
                                    - DEPOSIT_ACCEPTED
                              additionalProperties: false
                            - $ref: '#/components/schemas/BridgeSwapDepositAccepted'
                            - $ref: >-
                                #/components/schemas/DepositAddressBridgeDepositAccepted
                            - type: object
                              required:
                                - _id
                                - userId
                                - chainIn
                                - chainOut
                                - amountIn
                                - amountInUsd
                                - amountOut
                                - amountOutUsd
                                - amountNative
                                - amountNativeUsd
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                                - sponsoredFees
                                - recipient
                                - depositor
                                - createdAt
                                - commitmentDate
                                - token
                                - usdPrice
                                - depositTxHash
                                - depositCommittedAt
                                - state
                              properties:
                                _id:
                                  type: string
                                userId:
                                  type: string
                                chainIn:
                                  type: string
                                chainOut:
                                  type: string
                                amountIn:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountInUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountOut:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountOutUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountNative:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    - type: 'null'
                                amountNativeUsd:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    - type: 'null'
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sponsoredFees:
                                  type: object
                                  required:
                                    - fee
                                    - feeUsd
                                    - gasFee
                                    - gasFeeUsd
                                    - platformFee
                                    - platformFeeUsd
                                    - percentageFee
                                    - percentageFeeUsd
                                    - sourceGasFee
                                    - sourceGasFeeUsd
                                  properties:
                                    fee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    feeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    gasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    gasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    platformFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    platformFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    percentageFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    percentageFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    sourceGasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    sourceGasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                  additionalProperties: false
                                recipient:
                                  type: string
                                depositor:
                                  type: string
                                createdAt:
                                  $ref: '#/components/schemas/DateFromString'
                                commitmentDate:
                                  $ref: '#/components/schemas/DateFromString'
                                speed:
                                  type: string
                                  enum:
                                    - fast
                                    - standard
                                    - slow
                                estimatedDuration:
                                  type: number
                                  description: >-
                                    a non-negative number to be decoded into a
                                    Duration
                                  title: nonNegative
                                  minimum: 0
                                postBridgeData:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/ExtendedPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapSandboxPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                    - $ref: >-
                                        #/components/schemas/AaveV3SupplyPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/RocketFoundationDepositPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/MapleDepositPostBridgeData
                                token:
                                  type: string
                                usdPrice:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                _tag:
                                  type: string
                                  enum:
                                    - bridge
                                depositTxHash:
                                  type: string
                                depositCommittedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                depositDiscoveredAt:
                                  $ref: '#/components/schemas/DateFromString'
                                depositConfirmedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                expectedDepositConfirmedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                expectedDepositConfirmedAtBlock:
                                  $ref: '#/components/schemas/Int'
                                preSwapTxHash:
                                  type: string
                                preSwapCommittedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                isConfirmed:
                                  type: boolean
                                state:
                                  type: string
                                  enum:
                                    - ACCEPTED
                              additionalProperties: false
                            - $ref: '#/components/schemas/BridgeSwapAccepted'
                            - $ref: >-
                                #/components/schemas/DepositAddressBridgeAccepted
                            - $ref: >-
                                #/components/schemas/DepositAddressBridgeExecuted
                            - type: object
                              required:
                                - depositTxHash
                                - depositCommittedAt
                                - reason
                                - _tag
                                - _id
                                - userId
                                - chainIn
                                - chainOut
                                - amountIn
                                - amountInUsd
                                - amountOut
                                - amountOutUsd
                                - amountNative
                                - amountNativeUsd
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                                - sponsoredFees
                                - recipient
                                - depositor
                                - createdAt
                                - commitmentDate
                                - tokenIn
                                - tokenOut
                                - minAmountOut
                                - minAmountOutUsd
                                - usdPriceTokenIn
                                - usdPriceTokenOut
                                - refundTxHash
                                - refundTxTimestamp
                                - refundedToken
                                - refundedAmount
                                - refundedChain
                                - state
                              properties:
                                depositTxHash:
                                  type: string
                                depositCommittedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                reason:
                                  type: string
                                additionalData:
                                  anyOf:
                                    - type: object
                                      required: []
                                      properties: {}
                                      additionalProperties:
                                        anyOf:
                                          - type: string
                                          - type: number
                                    - type: 'null'
                                _tag:
                                  type: string
                                  enum:
                                    - bridgeSwap
                                _id:
                                  type: string
                                userId:
                                  type: string
                                chainIn:
                                  type: string
                                chainOut:
                                  type: string
                                amountIn:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountInUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountOut:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountOutUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountNative:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    - type: 'null'
                                amountNativeUsd:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    - type: 'null'
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sponsoredFees:
                                  type: object
                                  required:
                                    - fee
                                    - feeUsd
                                    - gasFee
                                    - gasFeeUsd
                                    - platformFee
                                    - platformFeeUsd
                                    - percentageFee
                                    - percentageFeeUsd
                                    - sourceGasFee
                                    - sourceGasFeeUsd
                                  properties:
                                    fee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    feeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    gasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    gasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    platformFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    platformFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    percentageFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    percentageFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    sourceGasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    sourceGasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                  additionalProperties: false
                                recipient:
                                  type: string
                                depositor:
                                  type: string
                                createdAt:
                                  $ref: '#/components/schemas/DateFromString'
                                commitmentDate:
                                  $ref: '#/components/schemas/DateFromString'
                                speed:
                                  type: string
                                  enum:
                                    - fast
                                    - standard
                                    - slow
                                estimatedDuration:
                                  type: number
                                  description: >-
                                    a non-negative number to be decoded into a
                                    Duration
                                  title: nonNegative
                                  minimum: 0
                                postBridgeData:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/ExtendedPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapSandboxPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                    - $ref: >-
                                        #/components/schemas/AaveV3SupplyPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/RocketFoundationDepositPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/MapleDepositPostBridgeData
                                tokenIn:
                                  type: string
                                tokenOut:
                                  type: string
                                minAmountOut:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                minAmountOutUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                usdPriceTokenIn:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                usdPriceTokenOut:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                preSwap:
                                  $ref: '#/components/schemas/SwapQuote'
                                postSwap:
                                  $ref: '#/components/schemas/SwapQuote'
                                depositDiscoveredAt:
                                  $ref: '#/components/schemas/DateFromString'
                                depositConfirmedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                expectedDepositConfirmedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                expectedDepositConfirmedAtBlock:
                                  $ref: '#/components/schemas/Int'
                                preSwapTxHash:
                                  type: string
                                preSwapCommittedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                isConfirmed:
                                  type: boolean
                                refundTxHash:
                                  $ref: '#/components/schemas/NonEmptyString'
                                refundTxTimestamp:
                                  $ref: '#/components/schemas/DateFromString'
                                refundedToken:
                                  $ref: '#/components/schemas/NonEmptyString'
                                refundedAmount:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                refundedChain:
                                  $ref: '#/components/schemas/NonEmptyString'
                                state:
                                  type: string
                                  enum:
                                    - SWAP_FAILED_REFUNDED
                              additionalProperties: false
                            - type: object
                              required:
                                - depositTxHash
                                - depositCommittedAt
                                - reason
                                - _tag
                                - _id
                                - userId
                                - chainIn
                                - chainOut
                                - amountIn
                                - amountInUsd
                                - amountOut
                                - amountOutUsd
                                - amountNative
                                - amountNativeUsd
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                                - sponsoredFees
                                - recipient
                                - depositor
                                - createdAt
                                - commitmentDate
                                - tokenIn
                                - tokenOut
                                - minAmountOut
                                - minAmountOutUsd
                                - usdPriceTokenIn
                                - usdPriceTokenOut
                                - state
                              properties:
                                depositTxHash:
                                  type: string
                                depositCommittedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                reason:
                                  type: string
                                additionalData:
                                  anyOf:
                                    - type: object
                                      required: []
                                      properties: {}
                                      additionalProperties:
                                        anyOf:
                                          - type: string
                                          - type: number
                                    - type: 'null'
                                _tag:
                                  type: string
                                  enum:
                                    - bridgeSwap
                                _id:
                                  type: string
                                userId:
                                  type: string
                                chainIn:
                                  type: string
                                chainOut:
                                  type: string
                                amountIn:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountInUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountOut:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountOutUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountNative:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    - type: 'null'
                                amountNativeUsd:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    - type: 'null'
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sponsoredFees:
                                  type: object
                                  required:
                                    - fee
                                    - feeUsd
                                    - gasFee
                                    - gasFeeUsd
                                    - platformFee
                                    - platformFeeUsd
                                    - percentageFee
                                    - percentageFeeUsd
                                    - sourceGasFee
                                    - sourceGasFeeUsd
                                  properties:
                                    fee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    feeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    gasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    gasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    platformFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    platformFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    percentageFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    percentageFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    sourceGasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    sourceGasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                  additionalProperties: false
                                recipient:
                                  type: string
                                depositor:
                                  type: string
                                createdAt:
                                  $ref: '#/components/schemas/DateFromString'
                                commitmentDate:
                                  $ref: '#/components/schemas/DateFromString'
                                speed:
                                  type: string
                                  enum:
                                    - fast
                                    - standard
                                    - slow
                                estimatedDuration:
                                  type: number
                                  description: >-
                                    a non-negative number to be decoded into a
                                    Duration
                                  title: nonNegative
                                  minimum: 0
                                postBridgeData:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/ExtendedPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapSandboxPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                    - $ref: >-
                                        #/components/schemas/AaveV3SupplyPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/RocketFoundationDepositPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/MapleDepositPostBridgeData
                                tokenIn:
                                  type: string
                                tokenOut:
                                  type: string
                                minAmountOut:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                minAmountOutUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                usdPriceTokenIn:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                usdPriceTokenOut:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                preSwap:
                                  $ref: '#/components/schemas/SwapQuote'
                                postSwap:
                                  $ref: '#/components/schemas/SwapQuote'
                                state:
                                  type: string
                                  enum:
                                    - DEPOSIT_RECEIVED_AFTER_GRACE_PERIOD
                              additionalProperties: false
                            - type: object
                              required:
                                - depositTxHash
                                - depositCommittedAt
                                - reason
                                - _tag
                                - _id
                                - userId
                                - chainIn
                                - chainOut
                                - amountIn
                                - amountInUsd
                                - amountOut
                                - amountOutUsd
                                - amountNative
                                - amountNativeUsd
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                                - sponsoredFees
                                - recipient
                                - depositor
                                - createdAt
                                - commitmentDate
                                - tokenIn
                                - tokenOut
                                - minAmountOut
                                - minAmountOutUsd
                                - usdPriceTokenIn
                                - usdPriceTokenOut
                                - refundTxHash
                                - refundTxTimestamp
                                - refundedToken
                                - refundedAmount
                                - refundedChain
                                - state
                              properties:
                                depositTxHash:
                                  type: string
                                depositCommittedAt:
                                  $ref: '#/components/schemas/DateFromString'
                                reason:
                                  type: string
                                additionalData:
                                  anyOf:
                                    - type: object
                                      required: []
                                      properties: {}
                                      additionalProperties:
                                        anyOf:
                                          - type: string
                                          - type: number
                                    - type: 'null'
                                _tag:
                                  type: string
                                  enum:
                                    - bridgeSwap
                                _id:
                                  type: string
                                userId:
                                  type: string
                                chainIn:
                                  type: string
                                chainOut:
                                  type: string
                                amountIn:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountInUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountOut:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                amountOutUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                amountNative:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    - type: 'null'
                                amountNativeUsd:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    - type: 'null'
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sponsoredFees:
                                  type: object
                                  required:
                                    - fee
                                    - feeUsd
                                    - gasFee
                                    - gasFeeUsd
                                    - platformFee
                                    - platformFeeUsd
                                    - percentageFee
                                    - percentageFeeUsd
                                    - sourceGasFee
                                    - sourceGasFeeUsd
                                  properties:
                                    fee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    feeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    gasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    gasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    platformFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    platformFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    percentageFee:
                                      $ref: '#/components/schemas/BigDecimal'
                                    percentageFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                    sourceGasFee:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromString
                                    sourceGasFeeUsd:
                                      $ref: >-
                                        #/components/schemas/BigDecimalFromNumber
                                  additionalProperties: false
                                recipient:
                                  type: string
                                depositor:
                                  type: string
                                createdAt:
                                  $ref: '#/components/schemas/DateFromString'
                                commitmentDate:
                                  $ref: '#/components/schemas/DateFromString'
                                speed:
                                  type: string
                                  enum:
                                    - fast
                                    - standard
                                    - slow
                                estimatedDuration:
                                  type: number
                                  description: >-
                                    a non-negative number to be decoded into a
                                    Duration
                                  title: nonNegative
                                  minimum: 0
                                postBridgeData:
                                  anyOf:
                                    - $ref: >-
                                        #/components/schemas/ExtendedPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/WirexWrapSandboxPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                    - $ref: >-
                                        #/components/schemas/AaveV3SupplyPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/RocketFoundationDepositPostBridgeData
                                    - $ref: >-
                                        #/components/schemas/MapleDepositPostBridgeData
                                tokenIn:
                                  type: string
                                tokenOut:
                                  type: string
                                minAmountOut:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                minAmountOutUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                usdPriceTokenIn:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                usdPriceTokenOut:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                preSwap:
                                  $ref: '#/components/schemas/SwapQuote'
                                postSwap:
                                  $ref: '#/components/schemas/SwapQuote'
                                refundTxHash:
                                  $ref: '#/components/schemas/NonEmptyString'
                                refundTxTimestamp:
                                  $ref: '#/components/schemas/DateFromString'
                                refundedToken:
                                  $ref: '#/components/schemas/NonEmptyString'
                                refundedAmount:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                refundedChain:
                                  $ref: '#/components/schemas/NonEmptyString'
                                state:
                                  type: string
                                  enum:
                                    - >-
                                      DEPOSIT_RECEIVED_AFTER_GRACE_PERIOD_REFUNDED
                              additionalProperties: false
                        - type: object
                          required:
                            - _id
                            - userId
                            - chainIn
                            - chainOut
                            - amountIn
                            - amountInUsd
                            - amountOut
                            - amountOutUsd
                            - amountNative
                            - amountNativeUsd
                            - fee
                            - feeUsd
                            - gasFee
                            - gasFeeUsd
                            - platformFee
                            - platformFeeUsd
                            - percentageFee
                            - percentageFeeUsd
                            - sourceGasFee
                            - sourceGasFeeUsd
                            - sponsoredFees
                            - recipient
                            - depositor
                            - createdAt
                            - commitmentDate
                            - token
                            - usdPrice
                            - depositTxHash
                            - depositCommittedAt
                            - withdrawTxHash
                            - withdrawCommittedAt
                            - state
                          properties:
                            _id:
                              type: string
                            userId:
                              type: string
                            chainIn:
                              type: string
                            chainOut:
                              type: string
                            amountIn:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountInUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountOut:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountOutUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountNative:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromString'
                                - type: 'null'
                            amountNativeUsd:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromNumber'
                                - type: 'null'
                            fee:
                              $ref: '#/components/schemas/BigDecimal'
                            feeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            gasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            gasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            platformFee:
                              $ref: '#/components/schemas/BigDecimal'
                            platformFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            percentageFee:
                              $ref: '#/components/schemas/BigDecimal'
                            percentageFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sourceGasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            sourceGasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sponsoredFees:
                              type: object
                              required:
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                              properties:
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                              additionalProperties: false
                            recipient:
                              type: string
                            depositor:
                              type: string
                            createdAt:
                              $ref: '#/components/schemas/DateFromString'
                            commitmentDate:
                              $ref: '#/components/schemas/DateFromString'
                            speed:
                              type: string
                              enum:
                                - fast
                                - standard
                                - slow
                            estimatedDuration:
                              type: number
                              description: >-
                                a non-negative number to be decoded into a
                                Duration
                              title: nonNegative
                              minimum: 0
                            postBridgeData:
                              anyOf:
                                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/WirexWrapSandboxPostBridgeData
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                - $ref: >-
                                    #/components/schemas/AaveV3SupplyPostBridgeData
                                - $ref: >-
                                    #/components/schemas/RocketFoundationDepositPostBridgeData
                                - $ref: >-
                                    #/components/schemas/MapleDepositPostBridgeData
                            token:
                              type: string
                            usdPrice:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            _tag:
                              type: string
                              enum:
                                - bridge
                            depositTxHash:
                              type: string
                            depositCommittedAt:
                              $ref: '#/components/schemas/DateFromString'
                            depositDiscoveredAt:
                              $ref: '#/components/schemas/DateFromString'
                            depositConfirmedAt:
                              $ref: '#/components/schemas/DateFromString'
                            expectedDepositConfirmedAt:
                              $ref: '#/components/schemas/DateFromString'
                            expectedDepositConfirmedAtBlock:
                              $ref: '#/components/schemas/Int'
                            preSwapTxHash:
                              type: string
                            preSwapCommittedAt:
                              $ref: '#/components/schemas/DateFromString'
                            isConfirmed:
                              type: boolean
                            withdrawTxHash:
                              type: string
                            withdrawCommittedAt:
                              $ref: '#/components/schemas/DateFromString'
                            state:
                              type: string
                              enum:
                                - EXECUTED
                          additionalProperties: false
                        - $ref: '#/components/schemas/BridgeSwapExecuted'
                      description: Bridge transaction details.
                  nextPageToken:
                    anyOf:
                      - $ref: '#/components/schemas/NonEmptyString'
                      - type: 'null'
                additionalProperties: false
        '400':
          description: The request did not match the expected schema
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/HttpApiDecodeError'
                  - $ref: '#/components/schemas/InvalidJwt'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
        '422':
          description: InvalidRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequest'
      security:
        - bearer: []
        - legacyApiKey: []
components:
  schemas:
    NonEmptyString:
      type: string
      description: a non empty string
      title: nonEmptyString
      minLength: 1
    BigDecimalFromString:
      type: string
      description: a string to be decoded into a BigDecimal
    BigDecimalFromNumber:
      type: number
      description: a number to be decoded into a BigDecimal
    BigDecimal:
      type: string
      description: a string to be decoded into a BigDecimal
    DateFromString:
      type: string
      description: a string to be decoded into a Date
    ExtendedPostBridgeData:
      type: object
      required:
        - _tag
        - vaultId
      properties:
        _tag:
          type: string
          enum:
            - extended
        vaultId:
          $ref: '#/components/schemas/NonNegativeInt'
      additionalProperties: false
    StarkwareBtcfiCampaignPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - starkwarebtcfi
      additionalProperties: false
    WirexWrapPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - wirexwrap
      additionalProperties: false
    WirexWrapSandboxPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - wirexwrapsandbox
      additionalProperties: false
    StarkwareBtcfiCampaignV2PostBridgeData:
      type: object
      required:
        - _tag
        - spans
      properties:
        _tag:
          type: string
          enum:
            - starkwarebtcfiv2
        spans:
          type: array
          items:
            $ref: '#/components/schemas/StarknetFelt'
          description: an array of at most 70 item(s)
          title: maxItems(70)
          maxItems: 70
      additionalProperties: false
    AaveV3SupplyPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - aavev3supply
      additionalProperties: false
    RocketFoundationDepositPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - rocketfoundationdeposit
      additionalProperties: false
    MapleDepositPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - mapledeposit
      additionalProperties: false
    BridgeSwapPending:
      type: object
      required:
        - _tag
        - _id
        - userId
        - chainIn
        - chainOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - amountNative
        - amountNativeUsd
        - fee
        - feeUsd
        - gasFee
        - gasFeeUsd
        - platformFee
        - platformFeeUsd
        - percentageFee
        - percentageFeeUsd
        - sourceGasFee
        - sourceGasFeeUsd
        - sponsoredFees
        - recipient
        - depositor
        - createdAt
        - commitmentDate
        - tokenIn
        - tokenOut
        - minAmountOut
        - minAmountOutUsd
        - usdPriceTokenIn
        - usdPriceTokenOut
        - state
      properties:
        _tag:
          type: string
          enum:
            - bridgeSwap
        _id:
          type: string
        userId:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        amountIn:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountInUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountNative:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromString'
            - type: 'null'
        amountNativeUsd:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromNumber'
            - type: 'null'
        fee:
          $ref: '#/components/schemas/BigDecimal'
        feeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        gasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        gasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        platformFee:
          $ref: '#/components/schemas/BigDecimal'
        platformFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        percentageFee:
          $ref: '#/components/schemas/BigDecimal'
        percentageFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sourceGasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        sourceGasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sponsoredFees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
          properties:
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
          additionalProperties: false
        recipient:
          type: string
        depositor:
          type: string
        createdAt:
          $ref: '#/components/schemas/DateFromString'
        commitmentDate:
          $ref: '#/components/schemas/DateFromString'
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
        estimatedDuration:
          type: number
          description: a non-negative number to be decoded into a Duration
          title: nonNegative
          minimum: 0
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
        tokenIn:
          type: string
        tokenOut:
          type: string
        minAmountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        minAmountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenIn:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenOut:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        preSwap:
          $ref: '#/components/schemas/SwapQuote'
        postSwap:
          $ref: '#/components/schemas/SwapQuote'
        state:
          type: string
          enum:
            - PENDING
      additionalProperties: false
    DepositAddressBridgePending:
      type: object
      required:
        - _tag
        - _id
        - userId
        - chainIn
        - chainOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - amountNative
        - amountNativeUsd
        - fee
        - feeUsd
        - gasFee
        - gasFeeUsd
        - platformFee
        - platformFeeUsd
        - percentageFee
        - percentageFeeUsd
        - sourceGasFee
        - sourceGasFeeUsd
        - sponsoredFees
        - recipient
        - depositor
        - createdAt
        - commitmentDate
        - token
        - usdPrice
        - state
      properties:
        _tag:
          type: string
          enum:
            - depositAddressBridge
        _id:
          type: string
        userId:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        amountIn:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountInUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountNative:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromString'
            - type: 'null'
        amountNativeUsd:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromNumber'
            - type: 'null'
        fee:
          $ref: '#/components/schemas/BigDecimal'
        feeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        gasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        gasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        platformFee:
          $ref: '#/components/schemas/BigDecimal'
        platformFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        percentageFee:
          $ref: '#/components/schemas/BigDecimal'
        percentageFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sourceGasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        sourceGasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sponsoredFees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
          properties:
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
          additionalProperties: false
        recipient:
          type: string
        depositor:
          type: string
        createdAt:
          $ref: '#/components/schemas/DateFromString'
        commitmentDate:
          $ref: '#/components/schemas/DateFromString'
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
        estimatedDuration:
          type: number
          description: a non-negative number to be decoded into a Duration
          title: nonNegative
          minimum: 0
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
        token:
          type: string
        tokenOut:
          type: string
        usdPrice:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        depositAddress:
          type: string
        state:
          type: string
          enum:
            - PENDING
      additionalProperties: false
    Int:
      type: integer
      description: an integer
      title: int
    BridgeSwapPendingConfirmation:
      type: object
      required:
        - _tag
        - _id
        - userId
        - chainIn
        - chainOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - amountNative
        - amountNativeUsd
        - fee
        - feeUsd
        - gasFee
        - gasFeeUsd
        - platformFee
        - platformFeeUsd
        - percentageFee
        - percentageFeeUsd
        - sourceGasFee
        - sourceGasFeeUsd
        - sponsoredFees
        - recipient
        - depositor
        - createdAt
        - commitmentDate
        - tokenIn
        - tokenOut
        - minAmountOut
        - minAmountOutUsd
        - usdPriceTokenIn
        - usdPriceTokenOut
        - depositTxHash
        - depositDiscoveredAt
        - expectedDepositConfirmedAt
        - expectedDepositConfirmedAtBlock
        - state
      properties:
        _tag:
          type: string
          enum:
            - bridgeSwap
        _id:
          type: string
        userId:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        amountIn:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountInUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountNative:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromString'
            - type: 'null'
        amountNativeUsd:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromNumber'
            - type: 'null'
        fee:
          $ref: '#/components/schemas/BigDecimal'
        feeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        gasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        gasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        platformFee:
          $ref: '#/components/schemas/BigDecimal'
        platformFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        percentageFee:
          $ref: '#/components/schemas/BigDecimal'
        percentageFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sourceGasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        sourceGasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sponsoredFees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
          properties:
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
          additionalProperties: false
        recipient:
          type: string
        depositor:
          type: string
        createdAt:
          $ref: '#/components/schemas/DateFromString'
        commitmentDate:
          $ref: '#/components/schemas/DateFromString'
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
        estimatedDuration:
          type: number
          description: a non-negative number to be decoded into a Duration
          title: nonNegative
          minimum: 0
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
        tokenIn:
          type: string
        tokenOut:
          type: string
        minAmountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        minAmountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenIn:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenOut:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        preSwap:
          $ref: '#/components/schemas/SwapQuote'
        postSwap:
          $ref: '#/components/schemas/SwapQuote'
        depositTxHash:
          type: string
        depositDiscoveredAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAtBlock:
          $ref: '#/components/schemas/Int'
        state:
          type: string
          enum:
            - PENDING_CONFIRMATION
      additionalProperties: false
    DepositAddressBridgePendingConfirmation:
      type: object
      required:
        - _tag
        - _id
        - userId
        - chainIn
        - chainOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - amountNative
        - amountNativeUsd
        - fee
        - feeUsd
        - gasFee
        - gasFeeUsd
        - platformFee
        - platformFeeUsd
        - percentageFee
        - percentageFeeUsd
        - sourceGasFee
        - sourceGasFeeUsd
        - sponsoredFees
        - recipient
        - depositor
        - createdAt
        - commitmentDate
        - token
        - usdPrice
        - depositTxHash
        - depositDiscoveredAt
        - expectedDepositConfirmedAt
        - expectedDepositConfirmedAtBlock
        - state
      properties:
        _tag:
          type: string
          enum:
            - depositAddressBridge
        _id:
          type: string
        userId:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        amountIn:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountInUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountNative:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromString'
            - type: 'null'
        amountNativeUsd:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromNumber'
            - type: 'null'
        fee:
          $ref: '#/components/schemas/BigDecimal'
        feeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        gasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        gasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        platformFee:
          $ref: '#/components/schemas/BigDecimal'
        platformFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        percentageFee:
          $ref: '#/components/schemas/BigDecimal'
        percentageFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sourceGasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        sourceGasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sponsoredFees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
          properties:
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
          additionalProperties: false
        recipient:
          type: string
        depositor:
          type: string
        createdAt:
          $ref: '#/components/schemas/DateFromString'
        commitmentDate:
          $ref: '#/components/schemas/DateFromString'
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
        estimatedDuration:
          type: number
          description: a non-negative number to be decoded into a Duration
          title: nonNegative
          minimum: 0
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
        token:
          type: string
        tokenOut:
          type: string
        usdPrice:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        depositAddress:
          type: string
        depositTxHash:
          type: string
        depositDiscoveredAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAtBlock:
          $ref: '#/components/schemas/Int'
        state:
          type: string
          enum:
            - PENDING_CONFIRMATION
      additionalProperties: false
    BridgeSwapCancelled:
      type: object
      required:
        - _tag
        - _id
        - userId
        - chainIn
        - chainOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - amountNative
        - amountNativeUsd
        - fee
        - feeUsd
        - gasFee
        - gasFeeUsd
        - platformFee
        - platformFeeUsd
        - percentageFee
        - percentageFeeUsd
        - sourceGasFee
        - sourceGasFeeUsd
        - sponsoredFees
        - recipient
        - depositor
        - createdAt
        - commitmentDate
        - tokenIn
        - tokenOut
        - minAmountOut
        - minAmountOutUsd
        - usdPriceTokenIn
        - usdPriceTokenOut
        - cancelledAt
        - state
      properties:
        _tag:
          type: string
          enum:
            - bridgeSwap
        _id:
          type: string
        userId:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        amountIn:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountInUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountNative:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromString'
            - type: 'null'
        amountNativeUsd:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromNumber'
            - type: 'null'
        fee:
          $ref: '#/components/schemas/BigDecimal'
        feeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        gasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        gasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        platformFee:
          $ref: '#/components/schemas/BigDecimal'
        platformFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        percentageFee:
          $ref: '#/components/schemas/BigDecimal'
        percentageFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sourceGasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        sourceGasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sponsoredFees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
          properties:
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
          additionalProperties: false
        recipient:
          type: string
        depositor:
          type: string
        createdAt:
          $ref: '#/components/schemas/DateFromString'
        commitmentDate:
          $ref: '#/components/schemas/DateFromString'
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
        estimatedDuration:
          type: number
          description: a non-negative number to be decoded into a Duration
          title: nonNegative
          minimum: 0
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
        tokenIn:
          type: string
        tokenOut:
          type: string
        minAmountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        minAmountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenIn:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenOut:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        preSwap:
          $ref: '#/components/schemas/SwapQuote'
        postSwap:
          $ref: '#/components/schemas/SwapQuote'
        cancelledAt:
          $ref: '#/components/schemas/DateFromString'
        state:
          type: string
          enum:
            - CANCELLED
      additionalProperties: false
    BridgeSwapFailed:
      type: object
      required:
        - _tag
        - _id
        - userId
        - chainIn
        - chainOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - amountNative
        - amountNativeUsd
        - fee
        - feeUsd
        - gasFee
        - gasFeeUsd
        - platformFee
        - platformFeeUsd
        - percentageFee
        - percentageFeeUsd
        - sourceGasFee
        - sourceGasFeeUsd
        - sponsoredFees
        - recipient
        - depositor
        - createdAt
        - commitmentDate
        - tokenIn
        - tokenOut
        - minAmountOut
        - minAmountOutUsd
        - usdPriceTokenIn
        - usdPriceTokenOut
        - state
      properties:
        _tag:
          type: string
          enum:
            - bridgeSwap
        _id:
          type: string
        userId:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        amountIn:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountInUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountNative:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromString'
            - type: 'null'
        amountNativeUsd:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromNumber'
            - type: 'null'
        fee:
          $ref: '#/components/schemas/BigDecimal'
        feeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        gasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        gasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        platformFee:
          $ref: '#/components/schemas/BigDecimal'
        platformFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        percentageFee:
          $ref: '#/components/schemas/BigDecimal'
        percentageFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sourceGasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        sourceGasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sponsoredFees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
          properties:
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
          additionalProperties: false
        recipient:
          type: string
        depositor:
          type: string
        createdAt:
          $ref: '#/components/schemas/DateFromString'
        commitmentDate:
          $ref: '#/components/schemas/DateFromString'
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
        estimatedDuration:
          type: number
          description: a non-negative number to be decoded into a Duration
          title: nonNegative
          minimum: 0
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
        tokenIn:
          type: string
        tokenOut:
          type: string
        minAmountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        minAmountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenIn:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenOut:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        preSwap:
          $ref: '#/components/schemas/SwapQuote'
        postSwap:
          $ref: '#/components/schemas/SwapQuote'
        state:
          type: string
          enum:
            - SWAP_FAILED
      additionalProperties: false
    DepositAddressBridgeFailed:
      type: object
      required:
        - _tag
        - _id
        - userId
        - chainIn
        - chainOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - amountNative
        - amountNativeUsd
        - fee
        - feeUsd
        - gasFee
        - gasFeeUsd
        - platformFee
        - platformFeeUsd
        - percentageFee
        - percentageFeeUsd
        - sourceGasFee
        - sourceGasFeeUsd
        - sponsoredFees
        - recipient
        - depositor
        - createdAt
        - commitmentDate
        - token
        - usdPrice
        - depositTxHash
        - depositCommittedAt
        - failedAt
        - state
      properties:
        _tag:
          type: string
          enum:
            - depositAddressBridge
        _id:
          type: string
        userId:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        amountIn:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountInUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountNative:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromString'
            - type: 'null'
        amountNativeUsd:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromNumber'
            - type: 'null'
        fee:
          $ref: '#/components/schemas/BigDecimal'
        feeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        gasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        gasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        platformFee:
          $ref: '#/components/schemas/BigDecimal'
        platformFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        percentageFee:
          $ref: '#/components/schemas/BigDecimal'
        percentageFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sourceGasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        sourceGasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sponsoredFees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
          properties:
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
          additionalProperties: false
        recipient:
          type: string
        depositor:
          type: string
        createdAt:
          $ref: '#/components/schemas/DateFromString'
        commitmentDate:
          $ref: '#/components/schemas/DateFromString'
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
        estimatedDuration:
          type: number
          description: a non-negative number to be decoded into a Duration
          title: nonNegative
          minimum: 0
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
        token:
          type: string
        tokenOut:
          type: string
        usdPrice:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        depositAddress:
          type: string
        depositTxHash:
          type: string
        depositCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        depositDiscoveredAt:
          $ref: '#/components/schemas/DateFromString'
        depositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAtBlock:
          $ref: '#/components/schemas/Int'
        preSwapTxHash:
          type: string
        preSwapCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        isConfirmed:
          type: boolean
        failedAt:
          $ref: '#/components/schemas/DateFromString'
        state:
          type: string
          enum:
            - FAILED
      additionalProperties: false
    BridgeSwapDepositAccepted:
      type: object
      required:
        - _tag
        - _id
        - userId
        - chainIn
        - chainOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - amountNative
        - amountNativeUsd
        - fee
        - feeUsd
        - gasFee
        - gasFeeUsd
        - platformFee
        - platformFeeUsd
        - percentageFee
        - percentageFeeUsd
        - sourceGasFee
        - sourceGasFeeUsd
        - sponsoredFees
        - recipient
        - depositor
        - createdAt
        - commitmentDate
        - tokenIn
        - tokenOut
        - minAmountOut
        - minAmountOutUsd
        - usdPriceTokenIn
        - usdPriceTokenOut
        - depositTxHash
        - depositCommittedAt
        - state
      properties:
        _tag:
          type: string
          enum:
            - bridgeSwap
        _id:
          type: string
        userId:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        amountIn:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountInUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountNative:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromString'
            - type: 'null'
        amountNativeUsd:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromNumber'
            - type: 'null'
        fee:
          $ref: '#/components/schemas/BigDecimal'
        feeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        gasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        gasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        platformFee:
          $ref: '#/components/schemas/BigDecimal'
        platformFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        percentageFee:
          $ref: '#/components/schemas/BigDecimal'
        percentageFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sourceGasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        sourceGasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sponsoredFees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
          properties:
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
          additionalProperties: false
        recipient:
          type: string
        depositor:
          type: string
        createdAt:
          $ref: '#/components/schemas/DateFromString'
        commitmentDate:
          $ref: '#/components/schemas/DateFromString'
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
        estimatedDuration:
          type: number
          description: a non-negative number to be decoded into a Duration
          title: nonNegative
          minimum: 0
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
        tokenIn:
          type: string
        tokenOut:
          type: string
        minAmountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        minAmountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenIn:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenOut:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        preSwap:
          $ref: '#/components/schemas/SwapQuote'
        postSwap:
          $ref: '#/components/schemas/SwapQuote'
        depositTxHash:
          type: string
        depositCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        depositDiscoveredAt:
          $ref: '#/components/schemas/DateFromString'
        depositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAtBlock:
          $ref: '#/components/schemas/Int'
        preSwapTxHash:
          type: string
        preSwapCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        isConfirmed:
          type: boolean
        state:
          type: string
          enum:
            - DEPOSIT_ACCEPTED
      additionalProperties: false
    DepositAddressBridgeDepositAccepted:
      type: object
      required:
        - _tag
        - _id
        - userId
        - chainIn
        - chainOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - amountNative
        - amountNativeUsd
        - fee
        - feeUsd
        - gasFee
        - gasFeeUsd
        - platformFee
        - platformFeeUsd
        - percentageFee
        - percentageFeeUsd
        - sourceGasFee
        - sourceGasFeeUsd
        - sponsoredFees
        - recipient
        - depositor
        - createdAt
        - commitmentDate
        - token
        - usdPrice
        - depositTxHash
        - depositCommittedAt
        - state
      properties:
        _tag:
          type: string
          enum:
            - depositAddressBridge
        _id:
          type: string
        userId:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        amountIn:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountInUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountNative:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromString'
            - type: 'null'
        amountNativeUsd:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromNumber'
            - type: 'null'
        fee:
          $ref: '#/components/schemas/BigDecimal'
        feeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        gasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        gasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        platformFee:
          $ref: '#/components/schemas/BigDecimal'
        platformFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        percentageFee:
          $ref: '#/components/schemas/BigDecimal'
        percentageFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sourceGasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        sourceGasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sponsoredFees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
          properties:
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
          additionalProperties: false
        recipient:
          type: string
        depositor:
          type: string
        createdAt:
          $ref: '#/components/schemas/DateFromString'
        commitmentDate:
          $ref: '#/components/schemas/DateFromString'
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
        estimatedDuration:
          type: number
          description: a non-negative number to be decoded into a Duration
          title: nonNegative
          minimum: 0
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
        token:
          type: string
        tokenOut:
          type: string
        usdPrice:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        depositAddress:
          type: string
        depositTxHash:
          type: string
        depositCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        depositDiscoveredAt:
          $ref: '#/components/schemas/DateFromString'
        depositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAtBlock:
          $ref: '#/components/schemas/Int'
        preSwapTxHash:
          type: string
        preSwapCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        isConfirmed:
          type: boolean
        state:
          type: string
          enum:
            - DEPOSIT_ACCEPTED
      additionalProperties: false
    BridgeSwapAccepted:
      type: object
      required:
        - _tag
        - _id
        - userId
        - chainIn
        - chainOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - amountNative
        - amountNativeUsd
        - fee
        - feeUsd
        - gasFee
        - gasFeeUsd
        - platformFee
        - platformFeeUsd
        - percentageFee
        - percentageFeeUsd
        - sourceGasFee
        - sourceGasFeeUsd
        - sponsoredFees
        - recipient
        - depositor
        - createdAt
        - commitmentDate
        - tokenIn
        - tokenOut
        - minAmountOut
        - minAmountOutUsd
        - usdPriceTokenIn
        - usdPriceTokenOut
        - depositTxHash
        - depositCommittedAt
        - state
      properties:
        _tag:
          type: string
          enum:
            - bridgeSwap
        _id:
          type: string
        userId:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        amountIn:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountInUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountNative:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromString'
            - type: 'null'
        amountNativeUsd:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromNumber'
            - type: 'null'
        fee:
          $ref: '#/components/schemas/BigDecimal'
        feeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        gasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        gasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        platformFee:
          $ref: '#/components/schemas/BigDecimal'
        platformFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        percentageFee:
          $ref: '#/components/schemas/BigDecimal'
        percentageFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sourceGasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        sourceGasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sponsoredFees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
          properties:
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
          additionalProperties: false
        recipient:
          type: string
        depositor:
          type: string
        createdAt:
          $ref: '#/components/schemas/DateFromString'
        commitmentDate:
          $ref: '#/components/schemas/DateFromString'
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
        estimatedDuration:
          type: number
          description: a non-negative number to be decoded into a Duration
          title: nonNegative
          minimum: 0
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
        tokenIn:
          type: string
        tokenOut:
          type: string
        minAmountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        minAmountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenIn:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenOut:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        preSwap:
          $ref: '#/components/schemas/SwapQuote'
        postSwap:
          $ref: '#/components/schemas/SwapQuote'
        depositTxHash:
          type: string
        depositCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        depositDiscoveredAt:
          $ref: '#/components/schemas/DateFromString'
        depositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAtBlock:
          $ref: '#/components/schemas/Int'
        preSwapTxHash:
          type: string
        preSwapCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        isConfirmed:
          type: boolean
        state:
          type: string
          enum:
            - ACCEPTED
      additionalProperties: false
    DepositAddressBridgeAccepted:
      type: object
      required:
        - _tag
        - _id
        - userId
        - chainIn
        - chainOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - amountNative
        - amountNativeUsd
        - fee
        - feeUsd
        - gasFee
        - gasFeeUsd
        - platformFee
        - platformFeeUsd
        - percentageFee
        - percentageFeeUsd
        - sourceGasFee
        - sourceGasFeeUsd
        - sponsoredFees
        - recipient
        - depositor
        - createdAt
        - commitmentDate
        - token
        - usdPrice
        - depositTxHash
        - depositCommittedAt
        - state
      properties:
        _tag:
          type: string
          enum:
            - depositAddressBridge
        _id:
          type: string
        userId:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        amountIn:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountInUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountNative:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromString'
            - type: 'null'
        amountNativeUsd:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromNumber'
            - type: 'null'
        fee:
          $ref: '#/components/schemas/BigDecimal'
        feeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        gasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        gasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        platformFee:
          $ref: '#/components/schemas/BigDecimal'
        platformFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        percentageFee:
          $ref: '#/components/schemas/BigDecimal'
        percentageFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sourceGasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        sourceGasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sponsoredFees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
          properties:
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
          additionalProperties: false
        recipient:
          type: string
        depositor:
          type: string
        createdAt:
          $ref: '#/components/schemas/DateFromString'
        commitmentDate:
          $ref: '#/components/schemas/DateFromString'
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
        estimatedDuration:
          type: number
          description: a non-negative number to be decoded into a Duration
          title: nonNegative
          minimum: 0
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
        token:
          type: string
        tokenOut:
          type: string
        usdPrice:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        depositAddress:
          type: string
        depositTxHash:
          type: string
        depositCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        depositDiscoveredAt:
          $ref: '#/components/schemas/DateFromString'
        depositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAtBlock:
          $ref: '#/components/schemas/Int'
        preSwapTxHash:
          type: string
        preSwapCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        isConfirmed:
          type: boolean
        state:
          type: string
          enum:
            - ACCEPTED
      additionalProperties: false
    DepositAddressBridgeExecuted:
      type: object
      required:
        - _tag
        - _id
        - userId
        - chainIn
        - chainOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - amountNative
        - amountNativeUsd
        - fee
        - feeUsd
        - gasFee
        - gasFeeUsd
        - platformFee
        - platformFeeUsd
        - percentageFee
        - percentageFeeUsd
        - sourceGasFee
        - sourceGasFeeUsd
        - sponsoredFees
        - recipient
        - depositor
        - createdAt
        - commitmentDate
        - token
        - usdPrice
        - depositAddress
        - depositTxHash
        - depositCommittedAt
        - withdrawTxHash
        - withdrawCommittedAt
        - state
      properties:
        _tag:
          type: string
          enum:
            - depositAddressBridge
        _id:
          type: string
        userId:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        amountIn:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountInUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountNative:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromString'
            - type: 'null'
        amountNativeUsd:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromNumber'
            - type: 'null'
        fee:
          $ref: '#/components/schemas/BigDecimal'
        feeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        gasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        gasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        platformFee:
          $ref: '#/components/schemas/BigDecimal'
        platformFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        percentageFee:
          $ref: '#/components/schemas/BigDecimal'
        percentageFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sourceGasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        sourceGasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sponsoredFees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
          properties:
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
          additionalProperties: false
        recipient:
          type: string
        depositor:
          type: string
        createdAt:
          $ref: '#/components/schemas/DateFromString'
        commitmentDate:
          $ref: '#/components/schemas/DateFromString'
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
        estimatedDuration:
          type: number
          description: a non-negative number to be decoded into a Duration
          title: nonNegative
          minimum: 0
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
        token:
          type: string
        tokenOut:
          type: string
        usdPrice:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        depositAddress:
          type: string
        depositTxHash:
          type: string
        depositCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        depositDiscoveredAt:
          $ref: '#/components/schemas/DateFromString'
        depositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAtBlock:
          $ref: '#/components/schemas/Int'
        preSwapTxHash:
          type: string
        preSwapCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        isConfirmed:
          type: boolean
        withdrawTxHash:
          type: string
        withdrawCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        state:
          type: string
          enum:
            - EXECUTED
      additionalProperties: false
    SwapQuote:
      type: object
      required:
        - tokenIn
        - tokenOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - minAmountOut
        - minAmountOutUsd
        - aggregator
      properties:
        tokenIn:
          type: string
        tokenOut:
          type: string
        amountIn:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountInUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        minAmountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        minAmountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        aggregator:
          $comment: /schemas/enums
          anyOf:
            - type: string
              title: KYBERSWAP
              enum:
                - KYBERSWAP
            - type: string
              title: RHINO
              enum:
                - RHINO
            - type: string
              title: ONEINCH
              enum:
                - ONEINCH
            - type: string
              title: BEBOP
              enum:
                - BEBOP
      additionalProperties: false
    BridgeSwapExecuted:
      type: object
      required:
        - _tag
        - _id
        - userId
        - chainIn
        - chainOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - amountNative
        - amountNativeUsd
        - fee
        - feeUsd
        - gasFee
        - gasFeeUsd
        - platformFee
        - platformFeeUsd
        - percentageFee
        - percentageFeeUsd
        - sourceGasFee
        - sourceGasFeeUsd
        - sponsoredFees
        - recipient
        - depositor
        - createdAt
        - commitmentDate
        - tokenIn
        - tokenOut
        - minAmountOut
        - minAmountOutUsd
        - usdPriceTokenIn
        - usdPriceTokenOut
        - depositTxHash
        - depositCommittedAt
        - withdrawTxHash
        - withdrawCommittedAt
        - state
      properties:
        _tag:
          type: string
          enum:
            - bridgeSwap
        _id:
          type: string
        userId:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        amountIn:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountInUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountNative:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromString'
            - type: 'null'
        amountNativeUsd:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromNumber'
            - type: 'null'
        fee:
          $ref: '#/components/schemas/BigDecimal'
        feeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        gasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        gasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        platformFee:
          $ref: '#/components/schemas/BigDecimal'
        platformFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        percentageFee:
          $ref: '#/components/schemas/BigDecimal'
        percentageFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sourceGasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        sourceGasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sponsoredFees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
          properties:
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
          additionalProperties: false
        recipient:
          type: string
        depositor:
          type: string
        createdAt:
          $ref: '#/components/schemas/DateFromString'
        commitmentDate:
          $ref: '#/components/schemas/DateFromString'
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
        estimatedDuration:
          type: number
          description: a non-negative number to be decoded into a Duration
          title: nonNegative
          minimum: 0
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
        tokenIn:
          type: string
        tokenOut:
          type: string
        minAmountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        minAmountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenIn:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenOut:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        preSwap:
          $ref: '#/components/schemas/SwapQuote'
        postSwap:
          $ref: '#/components/schemas/SwapQuote'
        depositTxHash:
          type: string
        depositCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        depositDiscoveredAt:
          $ref: '#/components/schemas/DateFromString'
        depositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAtBlock:
          $ref: '#/components/schemas/Int'
        preSwapTxHash:
          type: string
        preSwapCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        isConfirmed:
          type: boolean
        withdrawTxHash:
          type: string
        withdrawCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        state:
          type: string
          enum:
            - EXECUTED
      additionalProperties: false
    HttpApiDecodeError:
      type: object
      required:
        - issues
        - message
        - _tag
      properties:
        issues:
          type: array
          items:
            $ref: '#/components/schemas/Issue'
        message:
          type: string
        _tag:
          type: string
          enum:
            - HttpApiDecodeError
      additionalProperties: false
      description: The request did not match the expected schema
    InvalidJwt:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - InvalidJwt
      additionalProperties: false
    Unauthorized:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - Unauthorized
      additionalProperties: false
    InvalidRequest:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - InvalidRequest
      additionalProperties: false
    NonNegativeInt:
      type: integer
      description: an integer
      title: int
      minimum: 0
    StarknetFelt:
      type: string
      description: a string that will be trimmed
    Issue:
      type: object
      required:
        - _tag
        - path
        - message
      properties:
        _tag:
          type: string
          enum:
            - Pointer
            - Unexpected
            - Missing
            - Composite
            - Refinement
            - Transformation
            - Type
            - Forbidden
          description: The tag identifying the type of parse issue
        path:
          type: array
          items:
            $ref: '#/components/schemas/PropertyKey'
          description: The path to the property where the issue occurred
        message:
          type: string
          description: A descriptive message explaining the issue
      additionalProperties: false
      description: >-
        Represents an error encountered while parsing a value to match the
        schema
    PropertyKey:
      anyOf:
        - type: string
        - type: number
        - type: object
          required:
            - _tag
            - key
          properties:
            _tag:
              type: string
              enum:
                - symbol
            key:
              type: string
          additionalProperties: false
          description: an object to be decoded into a globally shared symbol
  securitySchemes:
    bearer:
      description: JWT token for authentication
      type: http
      scheme: bearer
    legacyApiKey:
      type: apiKey
      name: authorization
      in: header

````