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

# Bridge Statuses (Deposit Hash)

> Fetch the status of bridges by deposit transaction hash.



## OpenAPI

````yaml https://api.rhino.fi/bridge/swagger.json get /history/bridge/by-deposit-hash/{depositTxHash}
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/by-deposit-hash/{depositTxHash}:
    get:
      tags:
        - history
      summary: Bridge Statuses (Deposit Hash)
      description: Fetch the status of bridges by deposit transaction hash.
      operationId: history.bridgeHistoryByDepositHash
      parameters:
        - name: depositTxHash
          in: path
          schema:
            type: string
            description: Transaction hash of the deposit transaction.
          required: true
          description: Transaction hash of the deposit transaction.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                minItems: 1
                items:
                  anyOf:
                    - anyOf:
                        - type: object
                          required:
                            - _id
                            - userId
                            - chainIn
                            - chainOut
                            - amountIn
                            - amountInUsd
                            - amountOut
                            - amountOutUsd
                            - amountNative
                            - amountNativeUsd
                            - fee
                            - feeUsd
                            - gasFee
                            - gasFeeUsd
                            - platformFee
                            - platformFeeUsd
                            - percentageFee
                            - percentageFeeUsd
                            - sourceGasFee
                            - sourceGasFeeUsd
                            - sponsoredFees
                            - recipient
                            - depositor
                            - createdAt
                            - commitmentDate
                            - token
                            - usdPrice
                            - state
                          properties:
                            _id:
                              type: string
                            userId:
                              type: string
                            chainIn:
                              type: string
                            chainOut:
                              type: string
                            amountIn:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountInUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountOut:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountOutUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountNative:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromString'
                                - type: 'null'
                            amountNativeUsd:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromNumber'
                                - type: 'null'
                            fee:
                              $ref: '#/components/schemas/BigDecimal'
                            feeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            gasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            gasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            platformFee:
                              $ref: '#/components/schemas/BigDecimal'
                            platformFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            percentageFee:
                              $ref: '#/components/schemas/BigDecimal'
                            percentageFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sourceGasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            sourceGasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sponsoredFees:
                              type: object
                              required:
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                              properties:
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                              additionalProperties: false
                            recipient:
                              type: string
                            depositor:
                              type: string
                            createdAt:
                              $ref: '#/components/schemas/DateFromString'
                            commitmentDate:
                              $ref: '#/components/schemas/DateFromString'
                            speed:
                              type: string
                              enum:
                                - fast
                                - standard
                                - slow
                            estimatedDuration:
                              type: number
                              description: >-
                                a non-negative number to be decoded into a
                                Duration
                              title: nonNegative
                              minimum: 0
                            postBridgeData:
                              anyOf:
                                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/WirexWrapSandboxPostBridgeData
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                - $ref: >-
                                    #/components/schemas/AaveV3SupplyPostBridgeData
                                - $ref: >-
                                    #/components/schemas/RocketFoundationDepositPostBridgeData
                                - $ref: >-
                                    #/components/schemas/MapleDepositPostBridgeData
                            token:
                              type: string
                            usdPrice:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            _tag:
                              type: string
                              enum:
                                - bridge
                            state:
                              type: string
                              enum:
                                - PENDING
                          additionalProperties: false
                        - $ref: '#/components/schemas/BridgeSwapPending'
                        - $ref: '#/components/schemas/DepositAddressBridgePending'
                        - type: object
                          required:
                            - _id
                            - userId
                            - chainIn
                            - chainOut
                            - amountIn
                            - amountInUsd
                            - amountOut
                            - amountOutUsd
                            - amountNative
                            - amountNativeUsd
                            - fee
                            - feeUsd
                            - gasFee
                            - gasFeeUsd
                            - platformFee
                            - platformFeeUsd
                            - percentageFee
                            - percentageFeeUsd
                            - sourceGasFee
                            - sourceGasFeeUsd
                            - sponsoredFees
                            - recipient
                            - depositor
                            - createdAt
                            - commitmentDate
                            - token
                            - usdPrice
                            - depositTxHash
                            - depositDiscoveredAt
                            - expectedDepositConfirmedAt
                            - expectedDepositConfirmedAtBlock
                            - state
                          properties:
                            _id:
                              type: string
                            userId:
                              type: string
                            chainIn:
                              type: string
                            chainOut:
                              type: string
                            amountIn:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountInUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountOut:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountOutUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountNative:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromString'
                                - type: 'null'
                            amountNativeUsd:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromNumber'
                                - type: 'null'
                            fee:
                              $ref: '#/components/schemas/BigDecimal'
                            feeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            gasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            gasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            platformFee:
                              $ref: '#/components/schemas/BigDecimal'
                            platformFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            percentageFee:
                              $ref: '#/components/schemas/BigDecimal'
                            percentageFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sourceGasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            sourceGasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sponsoredFees:
                              type: object
                              required:
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                              properties:
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                              additionalProperties: false
                            recipient:
                              type: string
                            depositor:
                              type: string
                            createdAt:
                              $ref: '#/components/schemas/DateFromString'
                            commitmentDate:
                              $ref: '#/components/schemas/DateFromString'
                            speed:
                              type: string
                              enum:
                                - fast
                                - standard
                                - slow
                            estimatedDuration:
                              type: number
                              description: >-
                                a non-negative number to be decoded into a
                                Duration
                              title: nonNegative
                              minimum: 0
                            postBridgeData:
                              anyOf:
                                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/WirexWrapSandboxPostBridgeData
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                - $ref: >-
                                    #/components/schemas/AaveV3SupplyPostBridgeData
                                - $ref: >-
                                    #/components/schemas/RocketFoundationDepositPostBridgeData
                                - $ref: >-
                                    #/components/schemas/MapleDepositPostBridgeData
                            token:
                              type: string
                            usdPrice:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            _tag:
                              type: string
                              enum:
                                - bridge
                            depositTxHash:
                              type: string
                            depositDiscoveredAt:
                              $ref: '#/components/schemas/DateFromString'
                            expectedDepositConfirmedAt:
                              $ref: '#/components/schemas/DateFromString'
                            expectedDepositConfirmedAtBlock:
                              $ref: '#/components/schemas/Int'
                            state:
                              type: string
                              enum:
                                - PENDING_CONFIRMATION
                          additionalProperties: false
                        - $ref: '#/components/schemas/BridgeSwapPendingConfirmation'
                        - $ref: >-
                            #/components/schemas/DepositAddressBridgePendingConfirmation
                        - type: object
                          required:
                            - _id
                            - userId
                            - chainIn
                            - chainOut
                            - amountIn
                            - amountInUsd
                            - amountOut
                            - amountOutUsd
                            - amountNative
                            - amountNativeUsd
                            - fee
                            - feeUsd
                            - gasFee
                            - gasFeeUsd
                            - platformFee
                            - platformFeeUsd
                            - percentageFee
                            - percentageFeeUsd
                            - sourceGasFee
                            - sourceGasFeeUsd
                            - sponsoredFees
                            - recipient
                            - depositor
                            - createdAt
                            - commitmentDate
                            - token
                            - usdPrice
                            - cancelledAt
                            - state
                          properties:
                            _id:
                              type: string
                            userId:
                              type: string
                            chainIn:
                              type: string
                            chainOut:
                              type: string
                            amountIn:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountInUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountOut:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountOutUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountNative:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromString'
                                - type: 'null'
                            amountNativeUsd:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromNumber'
                                - type: 'null'
                            fee:
                              $ref: '#/components/schemas/BigDecimal'
                            feeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            gasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            gasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            platformFee:
                              $ref: '#/components/schemas/BigDecimal'
                            platformFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            percentageFee:
                              $ref: '#/components/schemas/BigDecimal'
                            percentageFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sourceGasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            sourceGasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sponsoredFees:
                              type: object
                              required:
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                              properties:
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                              additionalProperties: false
                            recipient:
                              type: string
                            depositor:
                              type: string
                            createdAt:
                              $ref: '#/components/schemas/DateFromString'
                            commitmentDate:
                              $ref: '#/components/schemas/DateFromString'
                            speed:
                              type: string
                              enum:
                                - fast
                                - standard
                                - slow
                            estimatedDuration:
                              type: number
                              description: >-
                                a non-negative number to be decoded into a
                                Duration
                              title: nonNegative
                              minimum: 0
                            postBridgeData:
                              anyOf:
                                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/WirexWrapSandboxPostBridgeData
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                - $ref: >-
                                    #/components/schemas/AaveV3SupplyPostBridgeData
                                - $ref: >-
                                    #/components/schemas/RocketFoundationDepositPostBridgeData
                                - $ref: >-
                                    #/components/schemas/MapleDepositPostBridgeData
                            token:
                              type: string
                            usdPrice:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            _tag:
                              type: string
                              enum:
                                - bridge
                            cancelledAt:
                              $ref: '#/components/schemas/DateFromString'
                            state:
                              type: string
                              enum:
                                - CANCELLED
                          additionalProperties: false
                        - $ref: '#/components/schemas/BridgeSwapCancelled'
                        - type: object
                          required:
                            - _id
                            - userId
                            - chainIn
                            - chainOut
                            - amountIn
                            - amountInUsd
                            - amountOut
                            - amountOutUsd
                            - amountNative
                            - amountNativeUsd
                            - fee
                            - feeUsd
                            - gasFee
                            - gasFeeUsd
                            - platformFee
                            - platformFeeUsd
                            - percentageFee
                            - percentageFeeUsd
                            - sourceGasFee
                            - sourceGasFeeUsd
                            - sponsoredFees
                            - recipient
                            - depositor
                            - createdAt
                            - commitmentDate
                            - token
                            - usdPrice
                            - depositTxHash
                            - depositCommittedAt
                            - failedAt
                            - state
                          properties:
                            _id:
                              type: string
                            userId:
                              type: string
                            chainIn:
                              type: string
                            chainOut:
                              type: string
                            amountIn:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountInUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountOut:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountOutUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountNative:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromString'
                                - type: 'null'
                            amountNativeUsd:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromNumber'
                                - type: 'null'
                            fee:
                              $ref: '#/components/schemas/BigDecimal'
                            feeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            gasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            gasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            platformFee:
                              $ref: '#/components/schemas/BigDecimal'
                            platformFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            percentageFee:
                              $ref: '#/components/schemas/BigDecimal'
                            percentageFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sourceGasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            sourceGasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sponsoredFees:
                              type: object
                              required:
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                              properties:
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                              additionalProperties: false
                            recipient:
                              type: string
                            depositor:
                              type: string
                            createdAt:
                              $ref: '#/components/schemas/DateFromString'
                            commitmentDate:
                              $ref: '#/components/schemas/DateFromString'
                            speed:
                              type: string
                              enum:
                                - fast
                                - standard
                                - slow
                            estimatedDuration:
                              type: number
                              description: >-
                                a non-negative number to be decoded into a
                                Duration
                              title: nonNegative
                              minimum: 0
                            postBridgeData:
                              anyOf:
                                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/WirexWrapSandboxPostBridgeData
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                - $ref: >-
                                    #/components/schemas/AaveV3SupplyPostBridgeData
                                - $ref: >-
                                    #/components/schemas/RocketFoundationDepositPostBridgeData
                                - $ref: >-
                                    #/components/schemas/MapleDepositPostBridgeData
                            token:
                              type: string
                            usdPrice:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            _tag:
                              type: string
                              enum:
                                - bridge
                            depositTxHash:
                              type: string
                            depositCommittedAt:
                              $ref: '#/components/schemas/DateFromString'
                            depositDiscoveredAt:
                              $ref: '#/components/schemas/DateFromString'
                            depositConfirmedAt:
                              $ref: '#/components/schemas/DateFromString'
                            expectedDepositConfirmedAt:
                              $ref: '#/components/schemas/DateFromString'
                            expectedDepositConfirmedAtBlock:
                              $ref: '#/components/schemas/Int'
                            preSwapTxHash:
                              type: string
                            preSwapCommittedAt:
                              $ref: '#/components/schemas/DateFromString'
                            isConfirmed:
                              type: boolean
                            failedAt:
                              $ref: '#/components/schemas/DateFromString'
                            state:
                              type: string
                              enum:
                                - FAILED
                          additionalProperties: false
                        - $ref: '#/components/schemas/BridgeSwapFailed'
                        - $ref: '#/components/schemas/DepositAddressBridgeFailed'
                        - type: object
                          required:
                            - _id
                            - userId
                            - chainIn
                            - chainOut
                            - amountIn
                            - amountInUsd
                            - amountOut
                            - amountOutUsd
                            - amountNative
                            - amountNativeUsd
                            - fee
                            - feeUsd
                            - gasFee
                            - gasFeeUsd
                            - platformFee
                            - platformFeeUsd
                            - percentageFee
                            - percentageFeeUsd
                            - sourceGasFee
                            - sourceGasFeeUsd
                            - sponsoredFees
                            - recipient
                            - depositor
                            - createdAt
                            - commitmentDate
                            - token
                            - usdPrice
                            - depositTxHash
                            - depositCommittedAt
                            - state
                          properties:
                            _id:
                              type: string
                            userId:
                              type: string
                            chainIn:
                              type: string
                            chainOut:
                              type: string
                            amountIn:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountInUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountOut:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountOutUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountNative:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromString'
                                - type: 'null'
                            amountNativeUsd:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromNumber'
                                - type: 'null'
                            fee:
                              $ref: '#/components/schemas/BigDecimal'
                            feeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            gasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            gasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            platformFee:
                              $ref: '#/components/schemas/BigDecimal'
                            platformFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            percentageFee:
                              $ref: '#/components/schemas/BigDecimal'
                            percentageFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sourceGasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            sourceGasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sponsoredFees:
                              type: object
                              required:
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                              properties:
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                              additionalProperties: false
                            recipient:
                              type: string
                            depositor:
                              type: string
                            createdAt:
                              $ref: '#/components/schemas/DateFromString'
                            commitmentDate:
                              $ref: '#/components/schemas/DateFromString'
                            speed:
                              type: string
                              enum:
                                - fast
                                - standard
                                - slow
                            estimatedDuration:
                              type: number
                              description: >-
                                a non-negative number to be decoded into a
                                Duration
                              title: nonNegative
                              minimum: 0
                            postBridgeData:
                              anyOf:
                                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/WirexWrapSandboxPostBridgeData
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                - $ref: >-
                                    #/components/schemas/AaveV3SupplyPostBridgeData
                                - $ref: >-
                                    #/components/schemas/RocketFoundationDepositPostBridgeData
                                - $ref: >-
                                    #/components/schemas/MapleDepositPostBridgeData
                            token:
                              type: string
                            usdPrice:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            _tag:
                              type: string
                              enum:
                                - bridge
                            depositTxHash:
                              type: string
                            depositCommittedAt:
                              $ref: '#/components/schemas/DateFromString'
                            depositDiscoveredAt:
                              $ref: '#/components/schemas/DateFromString'
                            depositConfirmedAt:
                              $ref: '#/components/schemas/DateFromString'
                            expectedDepositConfirmedAt:
                              $ref: '#/components/schemas/DateFromString'
                            expectedDepositConfirmedAtBlock:
                              $ref: '#/components/schemas/Int'
                            preSwapTxHash:
                              type: string
                            preSwapCommittedAt:
                              $ref: '#/components/schemas/DateFromString'
                            isConfirmed:
                              type: boolean
                            state:
                              type: string
                              enum:
                                - DEPOSIT_ACCEPTED
                          additionalProperties: false
                        - $ref: '#/components/schemas/BridgeSwapDepositAccepted'
                        - $ref: >-
                            #/components/schemas/DepositAddressBridgeDepositAccepted
                        - type: object
                          required:
                            - _id
                            - userId
                            - chainIn
                            - chainOut
                            - amountIn
                            - amountInUsd
                            - amountOut
                            - amountOutUsd
                            - amountNative
                            - amountNativeUsd
                            - fee
                            - feeUsd
                            - gasFee
                            - gasFeeUsd
                            - platformFee
                            - platformFeeUsd
                            - percentageFee
                            - percentageFeeUsd
                            - sourceGasFee
                            - sourceGasFeeUsd
                            - sponsoredFees
                            - recipient
                            - depositor
                            - createdAt
                            - commitmentDate
                            - token
                            - usdPrice
                            - depositTxHash
                            - depositCommittedAt
                            - state
                          properties:
                            _id:
                              type: string
                            userId:
                              type: string
                            chainIn:
                              type: string
                            chainOut:
                              type: string
                            amountIn:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountInUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountOut:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountOutUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountNative:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromString'
                                - type: 'null'
                            amountNativeUsd:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromNumber'
                                - type: 'null'
                            fee:
                              $ref: '#/components/schemas/BigDecimal'
                            feeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            gasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            gasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            platformFee:
                              $ref: '#/components/schemas/BigDecimal'
                            platformFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            percentageFee:
                              $ref: '#/components/schemas/BigDecimal'
                            percentageFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sourceGasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            sourceGasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sponsoredFees:
                              type: object
                              required:
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                              properties:
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                              additionalProperties: false
                            recipient:
                              type: string
                            depositor:
                              type: string
                            createdAt:
                              $ref: '#/components/schemas/DateFromString'
                            commitmentDate:
                              $ref: '#/components/schemas/DateFromString'
                            speed:
                              type: string
                              enum:
                                - fast
                                - standard
                                - slow
                            estimatedDuration:
                              type: number
                              description: >-
                                a non-negative number to be decoded into a
                                Duration
                              title: nonNegative
                              minimum: 0
                            postBridgeData:
                              anyOf:
                                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/WirexWrapSandboxPostBridgeData
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                - $ref: >-
                                    #/components/schemas/AaveV3SupplyPostBridgeData
                                - $ref: >-
                                    #/components/schemas/RocketFoundationDepositPostBridgeData
                                - $ref: >-
                                    #/components/schemas/MapleDepositPostBridgeData
                            token:
                              type: string
                            usdPrice:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            _tag:
                              type: string
                              enum:
                                - bridge
                            depositTxHash:
                              type: string
                            depositCommittedAt:
                              $ref: '#/components/schemas/DateFromString'
                            depositDiscoveredAt:
                              $ref: '#/components/schemas/DateFromString'
                            depositConfirmedAt:
                              $ref: '#/components/schemas/DateFromString'
                            expectedDepositConfirmedAt:
                              $ref: '#/components/schemas/DateFromString'
                            expectedDepositConfirmedAtBlock:
                              $ref: '#/components/schemas/Int'
                            preSwapTxHash:
                              type: string
                            preSwapCommittedAt:
                              $ref: '#/components/schemas/DateFromString'
                            isConfirmed:
                              type: boolean
                            state:
                              type: string
                              enum:
                                - ACCEPTED
                          additionalProperties: false
                        - $ref: '#/components/schemas/BridgeSwapAccepted'
                        - $ref: '#/components/schemas/DepositAddressBridgeAccepted'
                        - $ref: '#/components/schemas/DepositAddressBridgeExecuted'
                        - type: object
                          required:
                            - depositTxHash
                            - depositCommittedAt
                            - reason
                            - _tag
                            - _id
                            - userId
                            - chainIn
                            - chainOut
                            - amountIn
                            - amountInUsd
                            - amountOut
                            - amountOutUsd
                            - amountNative
                            - amountNativeUsd
                            - fee
                            - feeUsd
                            - gasFee
                            - gasFeeUsd
                            - platformFee
                            - platformFeeUsd
                            - percentageFee
                            - percentageFeeUsd
                            - sourceGasFee
                            - sourceGasFeeUsd
                            - sponsoredFees
                            - recipient
                            - depositor
                            - createdAt
                            - commitmentDate
                            - tokenIn
                            - tokenOut
                            - minAmountOut
                            - minAmountOutUsd
                            - usdPriceTokenIn
                            - usdPriceTokenOut
                            - refundTxHash
                            - refundTxTimestamp
                            - refundedToken
                            - refundedAmount
                            - refundedChain
                            - state
                          properties:
                            depositTxHash:
                              type: string
                            depositCommittedAt:
                              $ref: '#/components/schemas/DateFromString'
                            reason:
                              type: string
                            additionalData:
                              anyOf:
                                - type: object
                                  required: []
                                  properties: {}
                                  additionalProperties:
                                    anyOf:
                                      - type: string
                                      - type: number
                                - type: 'null'
                            _tag:
                              type: string
                              enum:
                                - bridgeSwap
                            _id:
                              type: string
                            userId:
                              type: string
                            chainIn:
                              type: string
                            chainOut:
                              type: string
                            amountIn:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountInUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountOut:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountOutUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountNative:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromString'
                                - type: 'null'
                            amountNativeUsd:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromNumber'
                                - type: 'null'
                            fee:
                              $ref: '#/components/schemas/BigDecimal'
                            feeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            gasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            gasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            platformFee:
                              $ref: '#/components/schemas/BigDecimal'
                            platformFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            percentageFee:
                              $ref: '#/components/schemas/BigDecimal'
                            percentageFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sourceGasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            sourceGasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sponsoredFees:
                              type: object
                              required:
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                              properties:
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                              additionalProperties: false
                            recipient:
                              type: string
                            depositor:
                              type: string
                            createdAt:
                              $ref: '#/components/schemas/DateFromString'
                            commitmentDate:
                              $ref: '#/components/schemas/DateFromString'
                            speed:
                              type: string
                              enum:
                                - fast
                                - standard
                                - slow
                            estimatedDuration:
                              type: number
                              description: >-
                                a non-negative number to be decoded into a
                                Duration
                              title: nonNegative
                              minimum: 0
                            postBridgeData:
                              anyOf:
                                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/WirexWrapSandboxPostBridgeData
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                - $ref: >-
                                    #/components/schemas/AaveV3SupplyPostBridgeData
                                - $ref: >-
                                    #/components/schemas/RocketFoundationDepositPostBridgeData
                                - $ref: >-
                                    #/components/schemas/MapleDepositPostBridgeData
                            tokenIn:
                              type: string
                            tokenOut:
                              type: string
                            minAmountOut:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            minAmountOutUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            usdPriceTokenIn:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            usdPriceTokenOut:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            preSwap:
                              $ref: '#/components/schemas/SwapQuote'
                            postSwap:
                              $ref: '#/components/schemas/SwapQuote'
                            depositDiscoveredAt:
                              $ref: '#/components/schemas/DateFromString'
                            depositConfirmedAt:
                              $ref: '#/components/schemas/DateFromString'
                            expectedDepositConfirmedAt:
                              $ref: '#/components/schemas/DateFromString'
                            expectedDepositConfirmedAtBlock:
                              $ref: '#/components/schemas/Int'
                            preSwapTxHash:
                              type: string
                            preSwapCommittedAt:
                              $ref: '#/components/schemas/DateFromString'
                            isConfirmed:
                              type: boolean
                            refundTxHash:
                              $ref: '#/components/schemas/NonEmptyString'
                            refundTxTimestamp:
                              $ref: '#/components/schemas/DateFromString'
                            refundedToken:
                              $ref: '#/components/schemas/NonEmptyString'
                            refundedAmount:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            refundedChain:
                              $ref: '#/components/schemas/NonEmptyString'
                            state:
                              type: string
                              enum:
                                - SWAP_FAILED_REFUNDED
                          additionalProperties: false
                        - type: object
                          required:
                            - depositTxHash
                            - depositCommittedAt
                            - reason
                            - _tag
                            - _id
                            - userId
                            - chainIn
                            - chainOut
                            - amountIn
                            - amountInUsd
                            - amountOut
                            - amountOutUsd
                            - amountNative
                            - amountNativeUsd
                            - fee
                            - feeUsd
                            - gasFee
                            - gasFeeUsd
                            - platformFee
                            - platformFeeUsd
                            - percentageFee
                            - percentageFeeUsd
                            - sourceGasFee
                            - sourceGasFeeUsd
                            - sponsoredFees
                            - recipient
                            - depositor
                            - createdAt
                            - commitmentDate
                            - tokenIn
                            - tokenOut
                            - minAmountOut
                            - minAmountOutUsd
                            - usdPriceTokenIn
                            - usdPriceTokenOut
                            - state
                          properties:
                            depositTxHash:
                              type: string
                            depositCommittedAt:
                              $ref: '#/components/schemas/DateFromString'
                            reason:
                              type: string
                            additionalData:
                              anyOf:
                                - type: object
                                  required: []
                                  properties: {}
                                  additionalProperties:
                                    anyOf:
                                      - type: string
                                      - type: number
                                - type: 'null'
                            _tag:
                              type: string
                              enum:
                                - bridgeSwap
                            _id:
                              type: string
                            userId:
                              type: string
                            chainIn:
                              type: string
                            chainOut:
                              type: string
                            amountIn:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountInUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountOut:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountOutUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountNative:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromString'
                                - type: 'null'
                            amountNativeUsd:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromNumber'
                                - type: 'null'
                            fee:
                              $ref: '#/components/schemas/BigDecimal'
                            feeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            gasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            gasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            platformFee:
                              $ref: '#/components/schemas/BigDecimal'
                            platformFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            percentageFee:
                              $ref: '#/components/schemas/BigDecimal'
                            percentageFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sourceGasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            sourceGasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sponsoredFees:
                              type: object
                              required:
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                              properties:
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                              additionalProperties: false
                            recipient:
                              type: string
                            depositor:
                              type: string
                            createdAt:
                              $ref: '#/components/schemas/DateFromString'
                            commitmentDate:
                              $ref: '#/components/schemas/DateFromString'
                            speed:
                              type: string
                              enum:
                                - fast
                                - standard
                                - slow
                            estimatedDuration:
                              type: number
                              description: >-
                                a non-negative number to be decoded into a
                                Duration
                              title: nonNegative
                              minimum: 0
                            postBridgeData:
                              anyOf:
                                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/WirexWrapSandboxPostBridgeData
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                - $ref: >-
                                    #/components/schemas/AaveV3SupplyPostBridgeData
                                - $ref: >-
                                    #/components/schemas/RocketFoundationDepositPostBridgeData
                                - $ref: >-
                                    #/components/schemas/MapleDepositPostBridgeData
                            tokenIn:
                              type: string
                            tokenOut:
                              type: string
                            minAmountOut:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            minAmountOutUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            usdPriceTokenIn:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            usdPriceTokenOut:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            preSwap:
                              $ref: '#/components/schemas/SwapQuote'
                            postSwap:
                              $ref: '#/components/schemas/SwapQuote'
                            state:
                              type: string
                              enum:
                                - DEPOSIT_RECEIVED_AFTER_GRACE_PERIOD
                          additionalProperties: false
                        - type: object
                          required:
                            - depositTxHash
                            - depositCommittedAt
                            - reason
                            - _tag
                            - _id
                            - userId
                            - chainIn
                            - chainOut
                            - amountIn
                            - amountInUsd
                            - amountOut
                            - amountOutUsd
                            - amountNative
                            - amountNativeUsd
                            - fee
                            - feeUsd
                            - gasFee
                            - gasFeeUsd
                            - platformFee
                            - platformFeeUsd
                            - percentageFee
                            - percentageFeeUsd
                            - sourceGasFee
                            - sourceGasFeeUsd
                            - sponsoredFees
                            - recipient
                            - depositor
                            - createdAt
                            - commitmentDate
                            - tokenIn
                            - tokenOut
                            - minAmountOut
                            - minAmountOutUsd
                            - usdPriceTokenIn
                            - usdPriceTokenOut
                            - refundTxHash
                            - refundTxTimestamp
                            - refundedToken
                            - refundedAmount
                            - refundedChain
                            - state
                          properties:
                            depositTxHash:
                              type: string
                            depositCommittedAt:
                              $ref: '#/components/schemas/DateFromString'
                            reason:
                              type: string
                            additionalData:
                              anyOf:
                                - type: object
                                  required: []
                                  properties: {}
                                  additionalProperties:
                                    anyOf:
                                      - type: string
                                      - type: number
                                - type: 'null'
                            _tag:
                              type: string
                              enum:
                                - bridgeSwap
                            _id:
                              type: string
                            userId:
                              type: string
                            chainIn:
                              type: string
                            chainOut:
                              type: string
                            amountIn:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountInUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountOut:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            amountOutUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            amountNative:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromString'
                                - type: 'null'
                            amountNativeUsd:
                              anyOf:
                                - $ref: '#/components/schemas/BigDecimalFromNumber'
                                - type: 'null'
                            fee:
                              $ref: '#/components/schemas/BigDecimal'
                            feeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            gasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            gasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            platformFee:
                              $ref: '#/components/schemas/BigDecimal'
                            platformFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            percentageFee:
                              $ref: '#/components/schemas/BigDecimal'
                            percentageFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sourceGasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            sourceGasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sponsoredFees:
                              type: object
                              required:
                                - fee
                                - feeUsd
                                - gasFee
                                - gasFeeUsd
                                - platformFee
                                - platformFeeUsd
                                - percentageFee
                                - percentageFeeUsd
                                - sourceGasFee
                                - sourceGasFeeUsd
                              properties:
                                fee:
                                  $ref: '#/components/schemas/BigDecimal'
                                feeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                gasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                gasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                platformFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                platformFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                percentageFee:
                                  $ref: '#/components/schemas/BigDecimal'
                                percentageFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                                sourceGasFee:
                                  $ref: '#/components/schemas/BigDecimalFromString'
                                sourceGasFeeUsd:
                                  $ref: '#/components/schemas/BigDecimalFromNumber'
                              additionalProperties: false
                            recipient:
                              type: string
                            depositor:
                              type: string
                            createdAt:
                              $ref: '#/components/schemas/DateFromString'
                            commitmentDate:
                              $ref: '#/components/schemas/DateFromString'
                            speed:
                              type: string
                              enum:
                                - fast
                                - standard
                                - slow
                            estimatedDuration:
                              type: number
                              description: >-
                                a non-negative number to be decoded into a
                                Duration
                              title: nonNegative
                              minimum: 0
                            postBridgeData:
                              anyOf:
                                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                                - $ref: >-
                                    #/components/schemas/WirexWrapSandboxPostBridgeData
                                - $ref: >-
                                    #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                                - $ref: >-
                                    #/components/schemas/AaveV3SupplyPostBridgeData
                                - $ref: >-
                                    #/components/schemas/RocketFoundationDepositPostBridgeData
                                - $ref: >-
                                    #/components/schemas/MapleDepositPostBridgeData
                            tokenIn:
                              type: string
                            tokenOut:
                              type: string
                            minAmountOut:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            minAmountOutUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            usdPriceTokenIn:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            usdPriceTokenOut:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            preSwap:
                              $ref: '#/components/schemas/SwapQuote'
                            postSwap:
                              $ref: '#/components/schemas/SwapQuote'
                            refundTxHash:
                              $ref: '#/components/schemas/NonEmptyString'
                            refundTxTimestamp:
                              $ref: '#/components/schemas/DateFromString'
                            refundedToken:
                              $ref: '#/components/schemas/NonEmptyString'
                            refundedAmount:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            refundedChain:
                              $ref: '#/components/schemas/NonEmptyString'
                            state:
                              type: string
                              enum:
                                - DEPOSIT_RECEIVED_AFTER_GRACE_PERIOD_REFUNDED
                          additionalProperties: false
                    - type: object
                      required:
                        - _id
                        - userId
                        - chainIn
                        - chainOut
                        - amountIn
                        - amountInUsd
                        - amountOut
                        - amountOutUsd
                        - amountNative
                        - amountNativeUsd
                        - fee
                        - feeUsd
                        - gasFee
                        - gasFeeUsd
                        - platformFee
                        - platformFeeUsd
                        - percentageFee
                        - percentageFeeUsd
                        - sourceGasFee
                        - sourceGasFeeUsd
                        - sponsoredFees
                        - recipient
                        - depositor
                        - createdAt
                        - commitmentDate
                        - token
                        - usdPrice
                        - depositTxHash
                        - depositCommittedAt
                        - withdrawTxHash
                        - withdrawCommittedAt
                        - state
                      properties:
                        _id:
                          type: string
                        userId:
                          type: string
                        chainIn:
                          type: string
                        chainOut:
                          type: string
                        amountIn:
                          $ref: '#/components/schemas/BigDecimalFromString'
                        amountInUsd:
                          $ref: '#/components/schemas/BigDecimalFromNumber'
                        amountOut:
                          $ref: '#/components/schemas/BigDecimalFromString'
                        amountOutUsd:
                          $ref: '#/components/schemas/BigDecimalFromNumber'
                        amountNative:
                          anyOf:
                            - $ref: '#/components/schemas/BigDecimalFromString'
                            - type: 'null'
                        amountNativeUsd:
                          anyOf:
                            - $ref: '#/components/schemas/BigDecimalFromNumber'
                            - type: 'null'
                        fee:
                          $ref: '#/components/schemas/BigDecimal'
                        feeUsd:
                          $ref: '#/components/schemas/BigDecimalFromNumber'
                        gasFee:
                          $ref: '#/components/schemas/BigDecimalFromString'
                        gasFeeUsd:
                          $ref: '#/components/schemas/BigDecimalFromNumber'
                        platformFee:
                          $ref: '#/components/schemas/BigDecimal'
                        platformFeeUsd:
                          $ref: '#/components/schemas/BigDecimalFromNumber'
                        percentageFee:
                          $ref: '#/components/schemas/BigDecimal'
                        percentageFeeUsd:
                          $ref: '#/components/schemas/BigDecimalFromNumber'
                        sourceGasFee:
                          $ref: '#/components/schemas/BigDecimalFromString'
                        sourceGasFeeUsd:
                          $ref: '#/components/schemas/BigDecimalFromNumber'
                        sponsoredFees:
                          type: object
                          required:
                            - fee
                            - feeUsd
                            - gasFee
                            - gasFeeUsd
                            - platformFee
                            - platformFeeUsd
                            - percentageFee
                            - percentageFeeUsd
                            - sourceGasFee
                            - sourceGasFeeUsd
                          properties:
                            fee:
                              $ref: '#/components/schemas/BigDecimal'
                            feeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            gasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            gasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            platformFee:
                              $ref: '#/components/schemas/BigDecimal'
                            platformFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            percentageFee:
                              $ref: '#/components/schemas/BigDecimal'
                            percentageFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                            sourceGasFee:
                              $ref: '#/components/schemas/BigDecimalFromString'
                            sourceGasFeeUsd:
                              $ref: '#/components/schemas/BigDecimalFromNumber'
                          additionalProperties: false
                        recipient:
                          type: string
                        depositor:
                          type: string
                        createdAt:
                          $ref: '#/components/schemas/DateFromString'
                        commitmentDate:
                          $ref: '#/components/schemas/DateFromString'
                        speed:
                          type: string
                          enum:
                            - fast
                            - standard
                            - slow
                        estimatedDuration:
                          type: number
                          description: a non-negative number to be decoded into a Duration
                          title: nonNegative
                          minimum: 0
                        postBridgeData:
                          anyOf:
                            - $ref: '#/components/schemas/ExtendedPostBridgeData'
                            - $ref: >-
                                #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                            - $ref: >-
                                #/components/schemas/WirexWrapSandboxPostBridgeData
                            - $ref: >-
                                #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
                            - $ref: >-
                                #/components/schemas/RocketFoundationDepositPostBridgeData
                            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
                        token:
                          type: string
                        usdPrice:
                          $ref: '#/components/schemas/BigDecimalFromNumber'
                        _tag:
                          type: string
                          enum:
                            - bridge
                        depositTxHash:
                          type: string
                        depositCommittedAt:
                          $ref: '#/components/schemas/DateFromString'
                        depositDiscoveredAt:
                          $ref: '#/components/schemas/DateFromString'
                        depositConfirmedAt:
                          $ref: '#/components/schemas/DateFromString'
                        expectedDepositConfirmedAt:
                          $ref: '#/components/schemas/DateFromString'
                        expectedDepositConfirmedAtBlock:
                          $ref: '#/components/schemas/Int'
                        preSwapTxHash:
                          type: string
                        preSwapCommittedAt:
                          $ref: '#/components/schemas/DateFromString'
                        isConfirmed:
                          type: boolean
                        withdrawTxHash:
                          type: string
                        withdrawCommittedAt:
                          $ref: '#/components/schemas/DateFromString'
                        state:
                          type: string
                          enum:
                            - EXECUTED
                      additionalProperties: false
                    - $ref: '#/components/schemas/BridgeSwapExecuted'
        '400':
          description: The request did not match the expected schema
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/HttpApiDecodeError'
                  - $ref: '#/components/schemas/InvalidJwt'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
        '422':
          description: InvalidRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequest'
        '500':
          description: HistoryNotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HistoryNotFound'
      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
    InvalidRequest:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - InvalidRequest
      additionalProperties: false
    HistoryNotFound:
      type: object
      required:
        - _id
        - _tag
      properties:
        _id:
          type: string
        _tag:
          type: string
          enum:
            - HistoryNotFound
      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

````