> ## 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.

# Patch Bridge Status

> Patch the status of a bridge.



## OpenAPI

````yaml https://api.rhino.fi/bridge/swagger.json patch /history/bridge/{bridgeId}
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/bridge/{bridgeId}:
    patch:
      tags:
        - history
      summary: Patch Bridge Status
      description: Patch the status of a bridge.
      operationId: history.patchBridgeHistory
      parameters:
        - name: bridgeId
          in: path
          schema:
            type: string
            description: Unique identifier of the bridge transaction.
          required: true
          description: Unique identifier of the bridge transaction.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - state
              properties:
                state:
                  type: string
                  enum:
                    - CANCELLED
              additionalProperties: false
        required: true
      responses:
        '200':
          description: BridgePending
          content:
            application/json:
              schema:
                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'
        '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'
        '404':
          description: BridgeNotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BridgeNotFound'
        '422':
          description: CannotCancelBridge
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/CannotCancelBridge'
                  - $ref: '#/components/schemas/InvalidRequest'
      security:
        - bearer: []
        - legacyApiKey: []
components:
  schemas:
    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
    NonEmptyString:
      type: string
      description: a non empty string
      title: nonEmptyString
      minLength: 1
    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
    BridgeNotFound:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - BridgeNotFound
      additionalProperties: false
    CannotCancelBridge:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - CannotCancelBridge
      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

````