synapsecns/sanguine

View on GitHub
services/rfq/api/docs/swagger.yaml

Summary

Maintainability
Test Coverage
definitions:
  model.GetContractsResponse:
    properties:
      contracts:
        additionalProperties:
          type: string
        description: Contracts is a map of chain id to contract address
        type: object
    type: object
  model.GetOpenQuoteRequestsResponse:
    properties:
      created_at:
        type: string
      dest_chain_id:
        type: integer
      dest_token:
        type: string
      expiration_window:
        type: integer
      origin_amount_exact:
        type: string
      origin_chain_id:
        type: integer
      origin_token:
        type: string
      user_address:
        type: string
    type: object
  model.GetQuoteResponse:
    properties:
      dest_amount:
        description: DestAmount is the max amount of liquidity which exists for a
          given destination token, provided in the destination token decimals
        type: string
      dest_chain_id:
        description: DestChainID is the chain which the relayer is willing to relay
          to
        type: integer
      dest_fast_bridge_address:
        description: DestFastBridgeAddress is the address of the fast bridge contract
          on the destination chain
        type: string
      dest_token_addr:
        description: DestToken is the token address for which the relayer willing
          to relay to
        type: string
      fixed_fee:
        description: FixedFee is the fixed fee for the quote, provided in the destination
          token terms
        type: string
      max_origin_amount:
        description: MaxOriginAmount is the maximum amount of origin tokens bridgeable
        type: string
      origin_chain_id:
        description: OriginChainID is the chain which the relayer is willing to relay
          from
        type: integer
      origin_fast_bridge_address:
        description: OriginFastBridgeAddress is the address of the fast bridge contract
          on the origin chain
        type: string
      origin_token_addr:
        description: OriginTokenAddr is the token address for which the relayer willing
          to relay from
        type: string
      relayer_addr:
        description: Address of the relayer providing the quote
        type: string
      updated_at:
        description: UpdatedAt is the time that the quote was last upserted
        type: string
    type: object
  model.PutBulkQuotesRequest:
    properties:
      quotes:
        items:
          $ref: '#/definitions/model.PutRelayerQuoteRequest'
        type: array
    type: object
  model.PutRFQRequest:
    properties:
      data:
        $ref: '#/definitions/model.QuoteData'
      integrator_id:
        type: string
      quote_types:
        items:
          type: string
        type: array
      user_address:
        type: string
    type: object
  model.PutRFQResponse:
    properties:
      dest_amount:
        type: string
      quote_id:
        type: string
      quote_type:
        type: string
      reason:
        type: string
      relayer_address:
        type: string
      success:
        type: boolean
    type: object
  model.PutRelayerQuoteRequest:
    properties:
      dest_amount:
        type: string
      dest_chain_id:
        type: integer
      dest_fast_bridge_address:
        type: string
      dest_token_addr:
        type: string
      fixed_fee:
        type: string
      max_origin_amount:
        type: string
      origin_chain_id:
        type: integer
      origin_fast_bridge_address:
        type: string
      origin_token_addr:
        type: string
    type: object
  model.QuoteData:
    properties:
      dest_amount:
        type: string
      dest_chain_id:
        type: integer
      dest_token_addr:
        type: string
      expiration_window:
        type: integer
      origin_amount_exact:
        type: string
      origin_chain_id:
        type: integer
      origin_token_addr:
        type: string
      quote_id:
        type: string
      relayer_address:
        type: string
    type: object
info:
  contact: {}
paths:
  /ack:
    put:
      consumes:
      - application/json
      description: cache an ack request to synchronize relayer actions.
      parameters:
      - description: query params
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/model.PutRelayerQuoteRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          headers:
            X-Api-Version:
              description: API Version Number - See docs for more info
              type: string
      summary: Relay ack
      tags:
      - ack
  /bulk_quotes:
    put:
      consumes:
      - application/json
      description: upsert bulk quotes from relayer.
      parameters:
      - description: query params
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/model.PutBulkQuotesRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          headers:
            X-Api-Version:
              description: API Version Number - See docs for more info
              type: string
      summary: Upsert quotes
      tags:
      - quotes
  /contracts:
    get:
      consumes:
      - application/json
      description: get quotes from all relayers.
      produces:
      - application/json
      responses:
        "200":
          description: OK
          headers:
            X-Api-Version:
              description: API Version Number - See docs for more info
              type: string
          schema:
            items:
              $ref: '#/definitions/model.GetContractsResponse'
            type: array
      summary: Get contract addresses
      tags:
      - quotes
  /open_quote_requests:
    get:
      consumes:
      - application/json
      description: Get all open quote requests that are currently in Received or Pending
        status.
      produces:
      - application/json
      responses:
        "200":
          description: OK
          headers:
            X-Api-Version:
              description: API Version Number - See docs for more info
              type: string
          schema:
            items:
              $ref: '#/definitions/model.GetOpenQuoteRequestsResponse'
            type: array
      summary: Get open quote requests
      tags:
      - quotes
  /quotes:
    get:
      consumes:
      - application/json
      description: get quotes from all relayers.
      parameters:
      - description: origin chain id to filter quotes by
        in: path
        name: originChainID
        type: integer
      - description: origin chain id to filter quotes by
        in: path
        name: originTokenAddr
        type: string
      - description: destination chain id to filter quotes by
        in: path
        name: destChainID
        type: integer
      - description: destination token address to filter quotes by
        in: path
        name: destTokenAddr
        type: string
      - description: relayer address to filter quotes by
        in: path
        name: relayerAddr
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          headers:
            X-Api-Version:
              description: API Version Number - See docs for more info
              type: string
          schema:
            items:
              $ref: '#/definitions/model.GetQuoteResponse'
            type: array
      summary: Get quotes
      tags:
      - quotes
    put:
      consumes:
      - application/json
      description: upsert a quote from relayer.
      parameters:
      - description: query params
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/model.PutRelayerQuoteRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          headers:
            X-Api-Version:
              description: API Version Number - See docs for more info
              type: string
      summary: Upsert quote
      tags:
      - quotes
  /rfq:
    put:
      consumes:
      - application/json
      description: Initiate an Active Request-For-Quote and return the best quote
        available.
      parameters:
      - description: Initiate an Active Request-For-Quote
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/model.PutRFQRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          headers:
            X-Api-Version:
              description: API Version Number - See docs for more info
              type: string
          schema:
            $ref: '#/definitions/model.PutRFQResponse'
      summary: Initiate an Active RFQ
      tags:
      - quotes
  /rfq_stream:
    get:
      description: Establish a WebSocket connection to listen for streaming active
        quote requests.
      produces:
      - application/json
      responses:
        "101":
          description: Switching Protocols
          headers:
            X-Api-Version:
              description: API Version Number - See docs for more info
              type: string
          schema:
            type: string
      summary: Listen for Active RFQs
      tags:
      - quotes
swagger: "2.0"