Version 2.4.1

Released 2020-03-03

Add docs about rate limiting (#68)

  • Add documentation of rate limits features
  • Add documentation of API error codes

Co-authored-by: Camille <cmeulien@heliostech.fr>

Add builds notification

Fix enabling too many requests in first period

Fix market order creation

Release stable version

Rework rate limits config (#70)

  • Change rate limits configuration

Co-authored-by: Camille <cmeulien@heliostech.fr>

Update order API

Use correct time format for trade publisher

Version 2.4.0-fbd6faa

Released 2020-03-02

Acquire a SQL lock on finex-engine start to ensure only one instance is running at any given time

Add balance monitor observer

Add level/role filtering

Add rate limiting per role

  • Add rate limiting package
    • Fix session refetch on missing account

Add preventing overspending logic

  • Create overspending situation test

Add stage deployment hook and notification to slack

Add notes section to readme (#44)

Add a test scenario for fees with any market

Add specs for trading fees

Add Builder package

  • Add benchmark for builder
    • Add SQLBuffer
    • Add trades count
    • Update structure.sql
    • Update example, remove cleanUp
    • Add tests
    • Add injection protection

Add coverage report

Add structure.sql (#14)

Add uuid to fabricateOrder in orderbook_test

Add UUID and CreatedAt to order model

Add message, trade and market models (#10)

Remove unused transaction type

Add drone config to run tests

Add jwt package (#4)

Adding roadmap

Adding models

Adding development foundation

Build & Publish changelog to SDK

Bulk API for creating and canceling orders

  • Refactor orderapi
    • Move test actions to yaml format
    • Add short api description

Bump version to 2.4.0

Bump version using sdk-citools

Cancel order by uuid

Change order API fields to amount and type

Change decimal library to shopspring/decimal (#50)

  • Change decimal library to shopspring/decimal

Change keys loading logic (#34)

  • Load only the public key from the orderapi

Co-authored-by: Camille <cmeulien@heliostech.fr>

Create account if it doesn't exist

Drone to bump and build image

Drop precision decimal cannot hold in Scan

Enhancement: Switch the CI container registry to quay.io (#55)

Feature: Add JWT generator and improve Rate Limiter (#17)

  • Add JWT generator

  • Fetch limiter configs from ENV. Add ENV helpers to config

Feature: Run loop for matching component (#20)

Finex graceful shutdown

  • Fix logger initilizer

Finex integration

  • Add functional tests
    • Handle tradeId in builder
    • Fix currencies cache bug
    • Fix balance locking
    • Rework Order cancelation

Fix overlocking in session

Fix blocking on matching WarmUp step

  • Load disabled markets

Fix balance select in gateway

  • Fix order cancel bug
    • Improve debug logs
    • Do not publish empty operations
    • Fix order created_at
    • Insert origin_ locked and volume

Fix for Orderapi handlers (#18)

Graceful orderapi shutdown

Handle decimal precision limit gracefully

  • decimal.Floor failing testcase
    • Safeguard for maximum precision, set the default market precision to 8

Improve docker build

Incremental observer (#32)

  • Incremental observer

    • Fix ranger message format
    • Use binary uuid
    • Idle sql when there are no operations

Initial commit

Initialize markets with open orders

  • Add flexible precision to market
    • Load market precision from database
    • Update tests for matching
    • Do not insert wait orders

Insert order and trade ids

Matching component (#5)

  • Add matching pkg
    • OrderBook type contains btrees and matching engine
    • Market type contains market info and orderbook
    • Matching type keep the list of markets and dispatch messages to correct markets

Move api description to docs/api.md (#51)

Move pkg/cache

Move config & sql pkg. Add mq & transaction pkg (#8)

  • Move pkg/config

  • Move pkg/sql

  • Add pkg/mq

  • Add pkg/transcation

Notify about rejected orders through ranger (#45)

  • Scenario with a rejected market order because of not enough liquidity on market
  • Scenario with a rejected order being rejected because of not enough balance

Order API with create and cancel endpoints (#1)

Co-authored-by: Maksym <mnaichuk@heliostech.fr>

panic on Panic log level

Publish date as string for Influx

Publish UUID to Ranger

Publish snapshots for nonactive markets

Ranger observer

  • Add tests for ranger

Rework preciosion handling

  • Apply precision on matching input
    • Load precision from database
    • Handle precision in api

Stability improvements

  • Fix incorrect currency log
    • Load timestamp from database
    • Handle market state
    • Update Locked for order cancel

Support of post_only order type

Test selecting Id behaviour

Trade Publisher for Influx

Update README.md

Update order api params

Update cache package

Update pkg/config to handle new config.yml format

Pull Requests

Merge pull request #6 from openware/feature/model