logo

#Version 2.2.33

Released 2019-11-15

AMQP messages for third party trading engine integration (#2215)

  • Publish message to RMQ on Liability create

  • Publish message to RMQ on API order submit

Add deposits and withdraws history to one API endpoint (#2207)

Add ability to bump & tag stable branches (#2328) (#2329)

Add rake task for load users and balances (#2287)

Add bitcoincash and ripple (#2286)

Add min_confirmations field to currency entity (#2276)

Add reload before load blockchain height in blockchain daemon (#2269)

Add password generator (#2245)

Add WS message for market order executed event (#2208)

  • Add ranger call for market order execute event

  • Unify ranger payloads

Add management API endpoint for listing trades (#2182)

Add optional fields for operations API (#2140)

  • Delete pagination from API for liabilities and add optional fields

  • Reset pagination and small fixes after review

  • Change timestamp to time range in API for liabilities

  • Add optional param reference_type for assets, expenses and revenues

  • Add time_from and time_to params to operations API

Add ability to deposit from admin panel (#2164)

Add missing end in Admin::Deposits::FiatsController (#2162)

Add filter by date in market/trades (#2126)

Add missing paginations for deposit & withdraw on admin panel (#2156)

Add note to withdraw (#2157)

Add ability to cancel all orders for specific market (#2125)

Adding trigger tables for Advance order types

Admin panel RBAC. New admin roles support (#2217)

  • Initailize RBAC logic

  • Add role permissions

Avoid message in controllers by overriding Grape::AllowBlankValidator (#2094)

Benchmark tasks for Matching TradeExecution and OrderProcessing (#2133)

  • Benchmark tasks for Matching TradeExecution and OrderProcessing

  • Implement Matching bench

  • Implement TradeExecutor bench

  • Implement OrderProcessor bench

  • Implement Dummy & Bitfinex Order injecotrs

  • Add bench config templates

  • Add bitfinex injector data

  • Expose RabbitMQ management API admin panel

  • Implement Deposit & Member factories

  • Add simple RabbitMQHTTP client

  • Fix failures:trade_errors rake task

  • Temporary skip feature specs

Co-authored-by: shal <ashanaakh@heliostech.fr> Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>

  • Direct benchmarks for matching, trade_executor and order_processing (#2138)

Change: config/database.yml – use port value from ENV (#2254)

Change order 'state' to int for order_processor (#2205)

Crash daemons on Mysql connection error (#2383)

  • Crash daemons on Mysql connection error (#2367)

  • Reraise errors in #submit and #cancel methods

Disable colorize logging in production (#2261)

Fail ethereum withdrawal in case of fail status in blockchain (#2302) (#2327)

Feature: update version of plugins (#2417)

Feature: Use drone CI (#2411)

Filter orders by type (#2167)

Fix double spending issue on withdraw (#2280)

Fix withdraws to include all currencies not just coins (#2222)

Fixes Issue #2128

Fix travis release (#2275)

Fix issue with JWT Token (#2265)

Fix bin/gendocs (#2150)

Fix release:travis rake task (#2145)

Improve sentry-raven error reporting (#2236)

Limit number of returned data from ranger global.update (#2153)

Major trading engine and logic rework with precision, rounding and matching flow improvements (#2258)

  • Update Peatio::Bench with matching engine bug
  • min_amount depends on amount_precision
  • Clear Matching Error classes
  • Finalize Engine #submit & replace Trade with Trade Struct
  • MarketOrderbookError in case of market order in orderbook
  • Define fractional parts for funds and fee
  • Fix market validations and spec
  • Add max_price precision validation
  • Remove price and volume rounding. Validate precision instead
  • Don't validate if attr not present
  • Fix sell market order. Rename AbstractOrder -> BaseOrder
  • Make migration more friendly. Remove attr_readonly from amount_precision & price_precision

Major Market model rework (#2241)

  • Replace Market enabled with state and list new states (without logic implementation)
  • Rework public/market API response structure
  • Rename Market API error name market.market.doesnt_exist -> market.market.doesnt_exist_or_not_enabled
  • Add ability to disable all markets
  • Remove precision equivalence validation (now amount and price precision could be different)
  • Add precisions sum validation (amount + price precision < 16)
  • Merge min_bid_amount & min_ask_amount to min_amount
  • Update admin views & controllers with new Market table structure
  • Update Market seeds
  • Rename ask_precision -> amount_precision, bid_precision -> price_precision
  • Rename min_ask_price -> min_price, max_bid_price -> max_price
  • Rename ask_unit -> base_unit, bid_unit -> quote_unit
  • Order fix_number_precision -> round_amount_and_price
  • Market fix_number_precision -> round_amount, round_price
  • Remove legacy Order & Market methods

Market & Currency admin forms corrections & improvements (#2303)

  • Improve Market form validations and errors
    • Ask/Bid fee -> Quote/Base currency fee
    • Base/Quote unit -> Base/Quote currency
    • Use number_field for decimals
    • Id has already been taken -> #{base}, #{quote} market already exists
    • Validate amount_precision instead of precisions sum
    • Validate price_preciosion to be less than FUNDS_PRECISION
    • Validate amount_precision to be less than FUNDS_PRECISION - price_precision
  • Update deposit table columns
  • Validate code instead of id in Currency
  • Define convention for organizing Ruby On Rails Models
  • Use 'withdrawal' instead of 'withdraw' everywhere

Move slave book from amqp to ruby daemons (#2267)

Move order submit to order_processor and remove Ordering (#2147)

  • Add new state Pending for orders;
  • Add fast check_balance before publishing message;
  • Publish message for submitting order from API;
  • Delete Ordering module;

Multi coin support for altcoins (#2243)

  • multi coin support for altcoins

Altcoins using same clients like dash so cache key collide. First coin get block number in other hand it s ignor get second lastest block number

  • Update blockchain_service.rb

Operations spec fix by saving timestamps in variables

Plugable coins API (#2168)

Major feature: rewritten blockchain and wallet api to enable easy implementation of 3rd party plugins

Peatio Plugin API v2 gives ability to extend Peatio with any coin which fits into basic Blockchain and Wallet interfaces described inside peatio-core gem.

Please see the following plugin example for your implementation: peatio-litecoin

Refactor and improve blockchain daemon performance (#2257)

  • Fix issues with timeout.
  • Split blockchains sync into threads.
  • Speed up sync using typhoeus adapter.
  • Use one BlockchainService instance per thread.
  • Use one connection per thread.
  • Sleep 10 seconds if synced.

Remove withdrawal attempts (#2281)

Remove http request for confirmations method (#2262)

  • Remove http call for confirmations method

  • Fix Adapter error in views

Remove peatio.tech brand from admin panel (#2072)

Remove gem grape_strip

Remove plugin API v1 (closes #2076) (#2090)

Remove deprecated fees API (closes #2077) (#2091)

Remove legacy member UI (#2051)

  • Remove yarn;
  • Remove Gems (rails-i18n, gon, angularjs-rails);
  • Remove /assets for funds page;
  • Remove application_controller methods related to funds page;
  • Remove /private and /concern controllers;
  • Remove application_helpers methods related to funds page;
  • Rewrite links and notices for deposits and withdraws in admin panel;
  • Remove private views and templates;
  • Remove config/locales;
  • Clean routes.rb and application.yml.erb;

Co-authored-by: dinesh-skyach <dinesh.skyach@gmail.com> Co-authored-by: ritesh-skyach <ritesh.skyach@gmail.com> Co-authored-by: ysv <ysavchuk@heliostech.fr>

Reorganization ruby and amqp workers (#2242)

Retry withdraw on failure (#2233)

  • Retry withdraw on failure

Rewrite callbacks for avoid using redirect_to :back (#2169)

  • Change redirect_to to render (#2113)

  • Rewrite callbacks for avoid using redirect_to :back

Skip withdraw in case of insufficient balance on hot wallet (#2179)

Start 2-1 development 🔌

Start 2.1.0 development 💫

Unify trade taker_type with Ranger and api (#2121)

Update peatio-ripple gem version (#2306)

Update bin/gendocs (#2272)

Update ruby version and gems (#2263)

  • Update ruby version and gems

  • Update hashdiff and rubocop gems

Update logger for withdraw coin daemon (#2234)

Update Readme (#2250)

Change links from peatio.tech to openware.com

Update RBAC roles (#2237)

Update ruby version to 2.6.2 (#2191)

  • update ruby version to 2.6.2

  • Update README.md

Update gem Boostrap scssc for CVE-2019-8331

Update application.yml.erb (#2098)

#2038 endpoint api/v2/members/me dosen't exists any more

Update README.md (#2092)

Update to use rubykube peatio git repo (#2093)

Updating database structure

Upgrade ruby to 2.6.2 (#2160)

Upgrade Ruby on Rails to 5.2 (#2146)

Upgrade Ruby on Rails to 5.0 (#2095)

Migration to newer rails gem version: 5.0.7.

We suggest to following tasks in the topic after this will be merged:

  • Update grape and relative gems.
  • Update to ruby 2.6.
  • Update to rails 5.1.

Co-authored-by: shal ashanaakh@heliostech.fr Co-authored-by: ysv ysavchuk@heliostech.fr

Use Faker::Blockchain::Bitcoin instead of Faker::Bitcoin (#2344)

Use json format for logs (#2232)

#Version 2.0.41

Released 2019-11-14

Add password generator (#2247)

Benchmark tasks for Matching TradeExecution and OrderProcessing (#2136)

  • Implement Matching bench
  • Implement TradeExecutor bench
  • Implement OrderProcessor bench
  • Implement Dummy & Bitfinex Order injecotrs
  • Add bench config templates
  • Add bitfinex injector data
  • Expose RabbitMQ management API admin panel
  • Implement Deposit & Member factories
  • Add simple RabbitMQHTTP client
  • Fix failures:trade_errors rake task
  • Temporary skip feature specs

Co-authored-by: shal <ashanaakh@heliostech.fr> Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>

Change redirect_to to render (#2113)

Get rid off grape_strip gem (#2116)

Release 2-0-stable

Rewrite callbacks for avoid using redirect_to :back (#2176)

  • Change redirect_to to render (#2113)

  • Rewrite callbacks for avoid using redirect_to :back

Rewrite callbacks for avoid using redirect_to :back

  • Change redirect_to to render (#2113)

  • Rewrite callbacks for avoid using redirect_to :back

Skip withdraw in case of insufficient balance on hot wallet (#2178)

Use drone CI (#2408)

#Version 2.2.32

Released 2019-11-14

Feature: Use drone CI (#2411)

#Version 2.2.31

Released 2019-11-12

Add deposits and withdraws history to one API endpoint (#2207)

Add ability to bump & tag stable branches (#2328) (#2329)

Crash daemons on Mysql connection error (#2383)

  • Crash daemons on Mysql connection error (#2367)

  • Reraise errors in #submit and #cancel methods

Fail ethereum withdrawal in case of fail status in blockchain (#2302) (#2327)

Market & Currency admin forms corrections & improvements (#2303)

  • Improve Market form validations and errors
    • Ask/Bid fee -> Quote/Base currency fee
    • Base/Quote unit -> Base/Quote currency
    • Use number_field for decimals
    • Id has already been taken -> #{base}, #{quote} market already exists
    • Validate amount_precision instead of precisions sum
    • Validate price_preciosion to be less than FUNDS_PRECISION
    • Validate amount_precision to be less than FUNDS_PRECISION - price_precision
  • Update deposit table columns
  • Validate code instead of id in Currency
  • Define convention for organizing Ruby On Rails Models
  • Use 'withdrawal' instead of 'withdraw' everywhere

Update peatio-ripple gem version (#2306)

Use Faker::Blockchain::Bitcoin instead of Faker::Bitcoin (#2344)

#Version 2.3.44

Released 2019-11-07

Expose explorer transaction and address in admin api (#2396)

Fix: move travis to openware repo

#Version 2.3.43

Released 2019-10-15

Use redis gem with hiredis instead of rails-redis (#2390)

#Version 2.3.42

Released 2019-10-10

Add ability to update currency through management api (#2389)

#Version 2.3.41

Released 2019-10-07

Return member accounts for all currencies for admin (#2387)

Validate order price and origin_volume only on creating (#2385)

#Version 2.3.40

Released 2019-10-04

Ability to edit market through management API (#2384)

#Version 2.3.39

Released 2019-10-04

Add visible, deposit_enabled, withdrawal_enabled columns to Currency (#2374)

  • Add visible, deposit_enabled, withdrawal_enabled columns to currency model

  • Change enabled to visible

Add endpoint to get currency by code to management API (#2372)

Add details about fees in trade API (#2363)

  • Add details about fees in trade API

  • Expose fee on /api/v2/market/trades

Add ability to change markets precision in Admin API (#2361)

Add endpoint for create fiat deposit (#2357)

Add endpoint to select specified adjustment (#2354)

Add actions endpoints for Withdraw and Deposit Admin API (#2351)

  • Add Account Kind to Operation's response

  • Add action endpoint for withdraws

  • Add actions endpoint for deposits

  • Finish action endpoint

  • Add rescue to prevent Internal Error

Add public endpoint for trading_fees (#2353)

Add user information in event_api (#2349)

Add uid and email field for withdrawal and deposits admin entities (#2350)

Add adjusments (#2325)

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

Add Admin and Management API for TradingFees (#2334)

Add endpoint to list all blockchain clients (#2339)

  • Allow filtering by disabled markets

Add missing -y in bin/gendocs (#2332)

Add validation specs for blockchain_key in Currency (#2158)

Add ability to bump & tag stable branches (#2328)

Add attr_readonly to some Order attributes (#2189)

Add specs for Operations::Account validations (#2175)

Add parity wallet gataway and use it instead of peth. Deprecate peth (#2295)

Admin API module for tower (#2264)

Feature admin panel api

Orders Blockchains Currencies Markets Wallets Deposits Withdraws Trades Operations Members Unify API doc files structure and naming.

Co-authored-by: dnfd dfedorchenko@heliostech.fr Co-authored-by: chumaknadya nchumak@heliostech.fr Co-authored-by: ysv ysavchuk@heliostech.fr

Beneficiaries model with ability to manage via user API (#2347)

Add Beneficiary model which can store both fiat crypto beneficiary data. Custom beneficiary fields like country, account_number, bank_swift_code are stored in JSON format. Also beneficiary contains name, description & currency_id in string format.

On beneficiary creation pin generated and saved in DB user needs to activate beneficiary with pin sent by email. Create & update actions are published to RabbitMQ by Event API.

There are 3 states of beneficiary:

  • pending - requires activation with pin;
  • active - activated by user and can be used for withdrawal;
  • achieved - equal to removed except fact that admin can read it.

Beneficiary account API consists of 5 endpoints:

  • GET /beneficiaries - get paginated list of beneficiaries for user;
  • GET /beneficiaries/:id - get single beneficiary by id;
  • POST /beneficiaries - create beneficiary for user;
  • PATH /beneficiaries/:id/activate - activate beneficiary with pin;
  • DELETE /beneficiaries/:id - delete beneficiary (actually change state to archived).

Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mod <lbellet@heliostech.fr>

Change run Peatio::Application to Rails.application in config.ru (#2316)

Using Rails::Application subclass to start the server is deprecated and was removed in Rails 6.0. https://github.com/rails/rails/commit/553b86fc751c751db504bcbe2d033eb2bb5b6a0b

Crash daemons on Mysql connection error (#2367)

Do not log full backtrace on order creation (#2368)

Drop step from blockchain model (#2282)

Fail ethereum withdrawal in case of fail status in blockchain (#2302)

Feature: add gem for support dash (#2338)

Feature scale puma to 4 workers

Fix #update_legacy_balance for locked accounts (#2380)

Fix 422 response on successful actions (#2358)

Increase trading fees maker & taker precision to 6 digits (#2360)

Integrate ability to withdraw both fiat & crypto with Beneficiary model (#2355)

Since we can store Beneficiaries in peatio starting from #2347 now we can implement user withdraw API for both fiat & crypto currencies. Itmeans that in this patch we have replaced POST accounts/withdraw rid param with beneficiary_id. This change gives ability to use active beneficiaries for both fiat & crypto withdrawals.

Beneficiary is now exposed in Admin API as field of Withdraw so admin can validate it directly.

beneficiary_id foreign key was added to Withdraw model so now it has optional belongs_to association with Beneficiary.

Also this patch improves Withdraw sum & amount precision logic. Instead of rounding attributes on creation now attributes precision is validated on Withdraw creation.

This patch also adds additional validation for Beneficiary data attribute

Integrate vault-rails (#2310)

  • Update migration

Market & Currency admin forms corrections & improvements (#2278)

  • Improve Market form validations and errors
    • Ask/Bid fee -> Quote/Base currency fee
    • Base/Quote unit -> Base/Quote currency
    • Use number_field for decimals
    • Id has already been taken -> #{base}, #{quote} market already exists
    • Validate amount_precision instead of precisions sum
    • Validate price_preciosion to be less than FUNDS_PRECISION
    • Validate amount_precision to be less than FUNDS_PRECISION - price_precision
  • Update deposit table columns
  • Validate code instead of id in Currency
  • Define convention for organizing Ruby On Rails Models
  • Use 'withdrawal' instead of 'withdraw' everywhere

Minor Admin fixes for Blockchain, Order, Trade, Currency (#2352)

  • Blockchain:

      ** Increase height max value
    
  • Orders Add ability to cancel single Cancel all orders by market, by side ** Change order type filter from ask/bid to sell/buy

  • Trades ** Replace maker/taker_order_id with maker/taker_order_email

  • Currency ** Base factor usage

Minor Wallet Admin API fixes & improvements. Drop parent & nsig from Wallet (#2348)

  • Use currency in wallet creation

  • Remove parent and nsig(api only)

  • List wallet gateways and wallet kinds

  • Fix typo

  • Remove Nsig and Parent

OrderProcessor must process order cancel after TradeExecutor (#2371)

Refactoring to maker-taker fee model. Major Trade model rework (#2292)

This patch replaces side-related (buy or sell) with maker-taker fee model. Its basic structure gives a fee discount to market makers providing liquidity (the makers); and charges higher fee to customers who take liquidity out of the market (the takers). Fee could be configured per market. Next changes were produced by switching to maker-taker fee model:

  • Replace ask_fee and bid_fee with maker_fee and taker_fee in Market model;
  • Replace fee with maker_fee and taker_fee in Order model;
  • Update Entities for Market and Trade models in user API, Trade model in management API;
  • Update Trade Accounting with maker/taker_fee;
  • Update Trade_executor and Matching_engine with new Trade model;
  • Update Market seeds;
  • Specs for maker/taker_fee;

Trade model rework consist of next changes:

  • Update Trade model structure:
    • ask_id -> maker_order_id;
    • bid_id -> taker_order_id;
    • ask_member_id -> maker_id;
    • bid_member_id -> taker_id;
    • volume -> amount;
    • funds -> total;
    • drop trend;

Remove uid length limit in members table (#2346)

Remove jq package from gendocs (#2333)

Remove legacy withdraw factories (#2198)

  • Remove legacy_btc_withdraw

  • Remove legacy_usd_withdraw

  • Remove unused legacy_{eth,trst,ring}_withdraw factories

Reraise errors in #submit and #cancel methods (#2375)

Rewrite validation for buy and sell order in trade_executor (#2335)

Start 2-3 development 💰

Stop use validations in migrations (#2331)

Support beneficiary_id in management API create withdraw (#2378)

  • Support beneficiary_id in management API create withdraw

  • Add currency check for deposits, update error messages + fixes

Trading Fee Schedule based on Member group (#2321)

Trading Fee Schedule based on Member group

Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>" Co-authored-by: ysv <ysavchuk@heliostech.fr>

Update ruby to 2.6.5 for security reasons (#2386)

Update Transher model (#2356)

  • Key changed to String;
  • Kind changed to enum Category, possible categories %w[wire refund purchases commission];
  • Desc changed to Description;

Update specs for swagger (#2340)

Update README.md

Update gem versions to reduce vulnerabilities (#2318)

The following vulnerabilities are fixed with an upgrade:

Update peatio-ripple gem version (#2298)

Use grape entity for exposing & documenting market ticker (#2365)

Use Faker::Blockchain::Bitcoin instead of Faker::Bitcoin (#2343)

Use update_attribute in migrations (#2324)

Validate accounting on Transfer & Adjustment creation. Create account on fly if does not exist (#2370)

  • Accounting check on Transfer/Adjustment creation

#Version 2.2.30

Released 2019-10-04

Add ability to bump & tag stable branches (#2328) (#2329)

Crash daemons on Mysql connection error (#2383)

  • Crash daemons on Mysql connection error (#2367)

  • Reraise errors in #submit and #cancel methods

Fail ethereum withdrawal in case of fail status in blockchain (#2302) (#2327)

Market & Currency admin forms corrections & improvements (#2303)

  • Improve Market form validations and errors
    • Ask/Bid fee -> Quote/Base currency fee
    • Base/Quote unit -> Base/Quote currency
    • Use number_field for decimals
    • Id has already been taken -> #{base}, #{quote} market already exists
    • Validate amount_precision instead of precisions sum
    • Validate price_preciosion to be less than FUNDS_PRECISION
    • Validate amount_precision to be less than FUNDS_PRECISION - price_precision
  • Update deposit table columns
  • Validate code instead of id in Currency
  • Define convention for organizing Ruby On Rails Models
  • Use 'withdrawal' instead of 'withdraw' everywhere

Update peatio-ripple gem version (#2306)

Use Faker::Blockchain::Bitcoin instead of Faker::Bitcoin (#2344)

#Version 2.3.38

Released 2019-09-30

Support beneficiary_id in management API create withdraw (#2378)

  • Support beneficiary_id in management API create withdraw

  • Add currency check for deposits, update error messages + fixes

#Version 2.3.37

Released 2019-09-26

Add visible, deposit_enabled, withdrawal_enabled columns to Currency (#2374)

  • Add visible, deposit_enabled, withdrawal_enabled columns to currency model

  • Change enabled to visible

OrderProcessor must process order cancel after TradeExecutor (#2371)

#Version 2.3.36

Released 2019-09-25

Add endpoint to get currency by code to management API (#2372)

Reraise errors in #submit and #cancel methods (#2375)

#Version 2.3.35

Released 2019-09-24

Do not log full backtrace on order creation (#2368)

#Version 2.3.34

Released 2019-09-22

Validate accounting on Transfer & Adjustment creation. Create account on fly if does not exist (#2370)

  • Accounting check on Transfer/Adjustment creation

#Version 2.3.33

Released 2019-09-18

Crash daemons on Mysql connection error (#2367)

Use grape entity for exposing & documenting market ticker (#2365)

#Version 2.3.32

Released 2019-09-13

Add details about fees in trade API (#2363)

  • Add details about fees in trade API

  • Expose fee on /api/v2/market/trades

#Version 2.3.31

Released 2019-09-11

Add ability to change markets precision in Admin API (#2361)

#Version 2.3.30

Released 2019-09-10

Increase trading fees maker & taker precision to 6 digits (#2360)

#Version 2.3.29

Released 2019-09-06

Fix 422 response on successful actions (#2358)

#Version 2.3.28

Released 2019-09-06

Integrate ability to withdraw both fiat & crypto with Beneficiary model (#2355)

Since we can store Beneficiaries in peatio starting from #2347 now we can implement user withdraw API for both fiat & crypto currencies. Itmeans that in this patch we have replaced POST accounts/withdraw rid param with beneficiary_id. This change gives ability to use active beneficiaries for both fiat & crypto withdrawals.

Beneficiary is now exposed in Admin API as field of Withdraw so admin can validate it directly.

beneficiary_id foreign key was added to Withdraw model so now it has optional belongs_to association with Beneficiary.

Also this patch improves Withdraw sum & amount precision logic. Instead of rounding attributes on creation now attributes precision is validated on Withdraw creation.

This patch also adds additional validation for Beneficiary data attribute

#Version 2.3.27

Released 2019-09-06

Add endpoint for create fiat deposit (#2357)

#Version 2.3.26

Released 2019-09-06

Add endpoint to select specified adjustment (#2354)

#Version 2.3.25

Released 2019-09-05

Update Transher model (#2356)

  • Key changed to String;
  • Kind changed to enum Category, possible categories %w[wire refund purchases commission];
  • Desc changed to Description;

#Version 2.3.24

Released 2019-09-05

Add actions endpoints for Withdraw and Deposit Admin API (#2351)

  • Add Account Kind to Operation's response

  • Add action endpoint for withdraws

  • Add actions endpoint for deposits

  • Finish action endpoint

  • Add rescue to prevent Internal Error

#Version 2.3.23

Released 2019-09-05

Minor Admin fixes for Blockchain, Order, Trade, Currency (#2352)

  • Blockchain:

      ** Increase height max value
    
  • Orders Add ability to cancel single Cancel all orders by market, by side ** Change order type filter from ask/bid to sell/buy

  • Trades ** Replace maker/taker_order_id with maker/taker_order_email

  • Currency ** Base factor usage

#Version 2.3.22

Released 2019-09-04

Beneficiaries model with ability to manage via user API (#2347)

Add Beneficiary model which can store both fiat crypto beneficiary data. Custom beneficiary fields like country, account_number, bank_swift_code are stored in JSON format. Also beneficiary contains name, description & currency_id in string format.

On beneficiary creation pin generated and saved in DB user needs to activate beneficiary with pin sent by email. Create & update actions are published to RabbitMQ by Event API.

There are 3 states of beneficiary:

  • pending - requires activation with pin;
  • active - activated by user and can be used for withdrawal;
  • achieved - equal to removed except fact that admin can read it.

Beneficiary account API consists of 5 endpoints:

  • GET /beneficiaries - get paginated list of beneficiaries for user;
  • GET /beneficiaries/:id - get single beneficiary by id;
  • POST /beneficiaries - create beneficiary for user;
  • PATH /beneficiaries/:id/activate - activate beneficiary with pin;
  • DELETE /beneficiaries/:id - delete beneficiary (actually change state to archived).

Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mod <lbellet@heliostech.fr>

#Version 2.3.21

Released 2019-09-03

Add public endpoint for trading_fees (#2353)

#Version 2.3.20

Released 2019-09-03

Add user information in event_api (#2349)

#Version 2.3.19

Released 2019-09-03

Add uid and email field for withdrawal and deposits admin entities (#2350)

#Version 2.3.18

Released 2019-09-02

Minor Wallet Admin API fixes & improvements. Drop parent & nsig from Wallet (#2348)

  • Use currency in wallet creation

  • Remove parent and nsig(api only)

  • List wallet gateways and wallet kinds

  • Fix typo

  • Remove Nsig and Parent

#Version 2.3.17

Released 2019-09-01

Add adjusments (#2325)

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

Add Admin and Management API for TradingFees (#2334)

#Version 2.3.16

Released 2019-08-29

Remove uid length limit in members table (#2346)

#Version 2.3.15

Released 2019-08-27

Add endpoint to list all blockchain clients (#2339)

  • Allow filtering by disabled markets

Add missing -y in bin/gendocs (#2332)

Add validation specs for blockchain_key in Currency (#2158)

Add ability to bump & tag stable branches (#2328)

Add attr_readonly to some Order attributes (#2189)

Add specs for Operations::Account validations (#2175)

Add parity wallet gataway and use it instead of peth. Deprecate peth (#2295)

Admin API module for tower (#2264)

Feature admin panel api

Orders Blockchains Currencies Markets Wallets Deposits Withdraws Trades Operations Members Unify API doc files structure and naming.

Co-authored-by: dnfd dfedorchenko@heliostech.fr Co-authored-by: chumaknadya nchumak@heliostech.fr Co-authored-by: ysv ysavchuk@heliostech.fr

Change run Peatio::Application to Rails.application in config.ru (#2316)

Using Rails::Application subclass to start the server is deprecated and was removed in Rails 6.0. https://github.com/rails/rails/commit/553b86fc751c751db504bcbe2d033eb2bb5b6a0b

Drop step from blockchain model (#2282)

Fail ethereum withdrawal in case of fail status in blockchain (#2302)

Feature: add gem for support dash (#2338)

Feature scale puma to 4 workers

Integrate vault-rails (#2310)

  • Update migration

Market & Currency admin forms corrections & improvements (#2278)

  • Improve Market form validations and errors
    • Ask/Bid fee -> Quote/Base currency fee
    • Base/Quote unit -> Base/Quote currency
    • Use number_field for decimals
    • Id has already been taken -> #{base}, #{quote} market already exists
    • Validate amount_precision instead of precisions sum
    • Validate price_preciosion to be less than FUNDS_PRECISION
    • Validate amount_precision to be less than FUNDS_PRECISION - price_precision
  • Update deposit table columns
  • Validate code instead of id in Currency
  • Define convention for organizing Ruby On Rails Models
  • Use 'withdrawal' instead of 'withdraw' everywhere

Refactoring to maker-taker fee model. Major Trade model rework (#2292)

This patch replaces side-related (buy or sell) with maker-taker fee model. Its basic structure gives a fee discount to market makers providing liquidity (the makers); and charges higher fee to customers who take liquidity out of the market (the takers). Fee could be configured per market. Next changes were produced by switching to maker-taker fee model:

  • Replace ask_fee and bid_fee with maker_fee and taker_fee in Market model;
  • Replace fee with maker_fee and taker_fee in Order model;
  • Update Entities for Market and Trade models in user API, Trade model in management API;
  • Update Trade Accounting with maker/taker_fee;
  • Update Trade_executor and Matching_engine with new Trade model;
  • Update Market seeds;
  • Specs for maker/taker_fee;

Trade model rework consist of next changes:

  • Update Trade model structure:
    • ask_id -> maker_order_id;
    • bid_id -> taker_order_id;
    • ask_member_id -> maker_id;
    • bid_member_id -> taker_id;
    • volume -> amount;
    • funds -> total;
    • drop trend;

Remove jq package from gendocs (#2333)

Remove legacy withdraw factories (#2198)

  • Remove legacy_btc_withdraw

  • Remove legacy_usd_withdraw

  • Remove unused legacy_{eth,trst,ring}_withdraw factories

Rewrite validation for buy and sell order in trade_executor (#2335)

Start 2-3 development 💰

Stop use validations in migrations (#2331)

Trading Fee Schedule based on Member group (#2321)

Trading Fee Schedule based on Member group

Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>" Co-authored-by: ysv <ysavchuk@heliostech.fr>

Update specs for swagger (#2340)

Update README.md

Update gem versions to reduce vulnerabilities (#2318)

The following vulnerabilities are fixed with an upgrade:

Update peatio-ripple gem version (#2298)

Use Faker::Blockchain::Bitcoin instead of Faker::Bitcoin (#2343)

Use update_attribute in migrations (#2324)

#Version 2.2.29

Released 2019-08-27

Add ability to bump & tag stable branches (#2328) (#2329)

Fail ethereum withdrawal in case of fail status in blockchain (#2302) (#2327)

Market & Currency admin forms corrections & improvements (#2303)

  • Improve Market form validations and errors
    • Ask/Bid fee -> Quote/Base currency fee
    • Base/Quote unit -> Base/Quote currency
    • Use number_field for decimals
    • Id has already been taken -> #{base}, #{quote} market already exists
    • Validate amount_precision instead of precisions sum
    • Validate price_preciosion to be less than FUNDS_PRECISION
    • Validate amount_precision to be less than FUNDS_PRECISION - price_precision
  • Update deposit table columns
  • Validate code instead of id in Currency
  • Define convention for organizing Ruby On Rails Models
  • Use 'withdrawal' instead of 'withdraw' everywhere

Update peatio-ripple gem version (#2306)

Use Faker::Blockchain::Bitcoin instead of Faker::Bitcoin (#2344)

#Version 2.3.14

Released 2019-08-26

Feature: add gem for support dash (#2338)

#Version 2.3.13

Released 2019-08-22

AMQP messages for third party trading engine integration (#2215)

  • Publish message to RMQ on Liability create

  • Publish message to RMQ on API order submit

Add missing -y in bin/gendocs (#2332)

Add validation specs for blockchain_key in Currency (#2158)

Add ability to bump & tag stable branches (#2328)

Add attr_readonly to some Order attributes (#2189)

Add specs for Operations::Account validations (#2175)

Add parity wallet gataway and use it instead of peth. Deprecate peth (#2295)

Add rake task for load users and balances (#2287)

Add bitcoincash and ripple (#2286)

Add min_confirmations field to currency entity (#2276)

Add reload before load blockchain height in blockchain daemon (#2269)

Add password generator (#2245)

Add WS message for market order executed event (#2208)

  • Add ranger call for market order execute event

  • Unify ranger payloads

Add management API endpoint for listing trades (#2182)

Adding trigger tables for Advance order types

Admin API module for tower (#2264)

Feature admin panel api

Orders Blockchains Currencies Markets Wallets Deposits Withdraws Trades Operations Members Unify API doc files structure and naming.

Co-authored-by: dnfd dfedorchenko@heliostech.fr Co-authored-by: chumaknadya nchumak@heliostech.fr Co-authored-by: ysv ysavchuk@heliostech.fr

Admin panel RBAC. New admin roles support (#2217)

  • Initailize RBAC logic

  • Add role permissions

Change run Peatio::Application to Rails.application in config.ru (#2316)

Using Rails::Application subclass to start the server is deprecated and was removed in Rails 6.0. https://github.com/rails/rails/commit/553b86fc751c751db504bcbe2d033eb2bb5b6a0b

Change: config/database.yml – use port value from ENV (#2254)

Change order 'state' to int for order_processor (#2205)

Disable colorize logging in production (#2261)

Drop step from blockchain model (#2282)

Fail ethereum withdrawal in case of fail status in blockchain (#2302)

Feature scale puma to 4 workers

Fix double spending issue on withdraw (#2280)

Fix withdraws to include all currencies not just coins (#2222)

Fixes Issue #2128

Fix travis release (#2275)

Fix issue with JWT Token (#2265)

Improve sentry-raven error reporting (#2236)

Integrate vault-rails (#2310)

  • Update migration

Major trading engine and logic rework with precision, rounding and matching flow improvements (#2258)

  • Update Peatio::Bench with matching engine bug
  • min_amount depends on amount_precision
  • Clear Matching Error classes
  • Finalize Engine #submit & replace Trade with Trade Struct
  • MarketOrderbookError in case of market order in orderbook
  • Define fractional parts for funds and fee
  • Fix market validations and spec
  • Add max_price precision validation
  • Remove price and volume rounding. Validate precision instead
  • Don't validate if attr not present
  • Fix sell market order. Rename AbstractOrder -> BaseOrder
  • Make migration more friendly. Remove attr_readonly from amount_precision & price_precision

Major Market model rework (#2241)

  • Replace Market enabled with state and list new states (without logic implementation)
  • Rework public/market API response structure
  • Rename Market API error name market.market.doesnt_exist -> market.market.doesnt_exist_or_not_enabled
  • Add ability to disable all markets
  • Remove precision equivalence validation (now amount and price precision could be different)
  • Add precisions sum validation (amount + price precision < 16)
  • Merge min_bid_amount & min_ask_amount to min_amount
  • Update admin views & controllers with new Market table structure
  • Update Market seeds
  • Rename ask_precision -> amount_precision, bid_precision -> price_precision
  • Rename min_ask_price -> min_price, max_bid_price -> max_price
  • Rename ask_unit -> base_unit, bid_unit -> quote_unit
  • Order fix_number_precision -> round_amount_and_price
  • Market fix_number_precision -> round_amount, round_price
  • Remove legacy Order & Market methods

Market & Currency admin forms corrections & improvements (#2278)

  • Improve Market form validations and errors
    • Ask/Bid fee -> Quote/Base currency fee
    • Base/Quote unit -> Base/Quote currency
    • Use number_field for decimals
    • Id has already been taken -> #{base}, #{quote} market already exists
    • Validate amount_precision instead of precisions sum
    • Validate price_preciosion to be less than FUNDS_PRECISION
    • Validate amount_precision to be less than FUNDS_PRECISION - price_precision
  • Update deposit table columns
  • Validate code instead of id in Currency
  • Define convention for organizing Ruby On Rails Models
  • Use 'withdrawal' instead of 'withdraw' everywhere

Move slave book from amqp to ruby daemons (#2267)

Multi coin support for altcoins (#2243)

  • multi coin support for altcoins

Altcoins using same clients like dash so cache key collide. First coin get block number in other hand it s ignor get second lastest block number

  • Update blockchain_service.rb

Operations spec fix by saving timestamps in variables

Plugable coins API (#2168)

Major feature: rewritten blockchain and wallet api to enable easy implementation of 3rd party plugins

Peatio Plugin API v2 gives ability to extend Peatio with any coin which fits into basic Blockchain and Wallet interfaces described inside peatio-core gem.

Please see the following plugin example for your implementation: peatio-litecoin

Refactor and improve blockchain daemon performance (#2257)

  • Fix issues with timeout.
  • Split blockchains sync into threads.
  • Speed up sync using typhoeus adapter.
  • Use one BlockchainService instance per thread.
  • Use one connection per thread.
  • Sleep 10 seconds if synced.

Refactoring to maker-taker fee model. Major Trade model rework (#2292)

This patch replaces side-related (buy or sell) with maker-taker fee model. Its basic structure gives a fee discount to market makers providing liquidity (the makers); and charges higher fee to customers who take liquidity out of the market (the takers). Fee could be configured per market. Next changes were produced by switching to maker-taker fee model:

  • Replace ask_fee and bid_fee with maker_fee and taker_fee in Market model;
  • Replace fee with maker_fee and taker_fee in Order model;
  • Update Entities for Market and Trade models in user API, Trade model in management API;
  • Update Trade Accounting with maker/taker_fee;
  • Update Trade_executor and Matching_engine with new Trade model;
  • Update Market seeds;
  • Specs for maker/taker_fee;

Trade model rework consist of next changes:

  • Update Trade model structure:
    • ask_id -> maker_order_id;
    • bid_id -> taker_order_id;
    • ask_member_id -> maker_id;
    • bid_member_id -> taker_id;
    • volume -> amount;
    • funds -> total;
    • drop trend;

Remove jq package from gendocs (#2333)

Remove legacy withdraw factories (#2198)

  • Remove legacy_btc_withdraw

  • Remove legacy_usd_withdraw

  • Remove unused legacy_{eth,trst,ring}_withdraw factories

Remove withdrawal attempts (#2281)

Remove http request for confirmations method (#2262)

  • Remove http call for confirmations method

  • Fix Adapter error in views

Reorganization ruby and amqp workers (#2242)

Retry withdraw on failure (#2233)

  • Retry withdraw on failure

Rewrite validation for buy and sell order in trade_executor (#2335)

Start 2-3 development 💰

Start 2-1 development 🔌

Stop use validations in migrations (#2331)

Trading Fee Schedule based on Member group (#2321)

Trading Fee Schedule based on Member group

Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>" Co-authored-by: ysv <ysavchuk@heliostech.fr>

Update README.md

Update gem versions to reduce vulnerabilities (#2318)

The following vulnerabilities are fixed with an upgrade:

Update peatio-ripple gem version (#2298)

Update bin/gendocs (#2272)

Update ruby version and gems (#2263)

  • Update ruby version and gems

  • Update hashdiff and rubocop gems

Update logger for withdraw coin daemon (#2234)

Update Readme (#2250)

Change links from peatio.tech to openware.com

Update RBAC roles (#2237)

Update ruby version to 2.6.2 (#2191)

  • update ruby version to 2.6.2

  • Update README.md

Updating database structure

Use update_attribute in migrations (#2324)

Use json format for logs (#2232)

#Version 2.1.21

Released 2019-08-20

Add ability to bump & tag stable branches (#2330)

Add password generator (#2248)

Fix Bitgo WalletService & WalletClient build_raw_transaction (#2206)

  • Raise Faraday::Error in Bitgo build_raw_transaction
  • Multiply deposit amount by 0.9 for successful build_raw_transaction

Release 2-1-stable

#Version 2.2.28

Released 2019-08-20

Add ability to bump & tag stable branches (#2328) (#2329)

Fail ethereum withdrawal in case of fail status in blockchain (#2302) (#2327)

Market & Currency admin forms corrections & improvements (#2303)

  • Improve Market form validations and errors
    • Ask/Bid fee -> Quote/Base currency fee
    • Base/Quote unit -> Base/Quote currency
    • Use number_field for decimals
    • Id has already been taken -> #{base}, #{quote} market already exists
    • Validate amount_precision instead of precisions sum
    • Validate price_preciosion to be less than FUNDS_PRECISION
    • Validate amount_precision to be less than FUNDS_PRECISION - price_precision
  • Update deposit table columns
  • Validate code instead of id in Currency
  • Define convention for organizing Ruby On Rails Models
  • Use 'withdrawal' instead of 'withdraw' everywhere

Update peatio-ripple gem version (#2306)

#Version 2.3.12

Released 2019-08-20

Add ability to bump & tag stable branches (#2328)

#Version 2.3.11

Released 2019-08-16

Use update_attribute in migrations (#2324)

#Version 2.3.10

Released 2019-08-16

Fail ethereum withdrawal in case of fail status in blockchain (#2302)

Feature scale puma to 4 workers

Remove legacy withdraw factories (#2198)

  • Remove legacy_btc_withdraw

  • Remove legacy_usd_withdraw

  • Remove unused legacy_{eth,trst,ring}_withdraw factories

#Version 2.3.9

Released 2019-08-15

Add attr_readonly to some Order attributes (#2189)

Add specs for Operations::Account validations (#2175)

#Version 2.3.8

Released 2019-08-15

Refactoring to maker-taker fee model. Major Trade model rework (#2292)

This patch replaces side-related (buy or sell) with maker-taker fee model. Its basic structure gives a fee discount to market makers providing liquidity (the makers); and charges higher fee to customers who take liquidity out of the market (the takers). Fee could be configured per market. Next changes were produced by switching to maker-taker fee model:

  • Replace ask_fee and bid_fee with maker_fee and taker_fee in Market model;
  • Replace fee with maker_fee and taker_fee in Order model;
  • Update Entities for Market and Trade models in user API, Trade model in management API;
  • Update Trade Accounting with maker/taker_fee;
  • Update Trade_executor and Matching_engine with new Trade model;
  • Update Market seeds;
  • Specs for maker/taker_fee;

Trade model rework consist of next changes:

  • Update Trade model structure:
    • ask_id -> maker_order_id;
    • bid_id -> taker_order_id;
    • ask_member_id -> maker_id;
    • bid_member_id -> taker_id;
    • volume -> amount;
    • funds -> total;
    • drop trend;

#Version 2.3.7

Released 2019-08-14

Update gem versions to reduce vulnerabilities (#2318)

The following vulnerabilities are fixed with an upgrade:

#Version 2.3.6

Released 2019-08-12

Change run Peatio::Application to Rails.application in config.ru (#2316)

Using Rails::Application subclass to start the server is deprecated and was removed in Rails 6.0. https://github.com/rails/rails/commit/553b86fc751c751db504bcbe2d033eb2bb5b6a0b

#Version 2.3.5

Released 2019-08-09

Integrate vault-rails (#2310)

  • Update migration

#Version 2.3.4

Released 2019-08-09

Drop step from blockchain model (#2282)

#Version 2.3.3

Released 2019-08-08

Add parity wallet gataway and use it instead of peth. Deprecate peth (#2295)

#Version 2.3.2

Released 2019-08-05

Market & Currency admin forms corrections & improvements (#2278)

  • Improve Market form validations and errors
    • Ask/Bid fee -> Quote/Base currency fee
    • Base/Quote unit -> Base/Quote currency
    • Use number_field for decimals
    • Id has already been taken -> #{base}, #{quote} market already exists
    • Validate amount_precision instead of precisions sum
    • Validate price_preciosion to be less than FUNDS_PRECISION
    • Validate amount_precision to be less than FUNDS_PRECISION - price_precision
  • Update deposit table columns
  • Validate code instead of id in Currency
  • Define convention for organizing Ruby On Rails Models
  • Use 'withdrawal' instead of 'withdraw' everywhere

Start 2-3 development 💰

Update peatio-ripple gem version (#2298)

#Version 2.3.1

Released 2019-08-01

Start 2-2 development 💰

#Version 2.2.27

Released 2019-08-01

Add rake task for load users and balances (#2287)

Fix double spending issue on withdraw (#2280)

#Version 2.2.26

Released 2019-07-31

Add bitcoincash and ripple (#2286)

Fix withdraws to include all currencies not just coins (#2222)

Fixes Issue #2128

#Version 2.2.25

Released 2019-07-24

Multi coin support for altcoins (#2243)

  • multi coin support for altcoins

Altcoins using same clients like dash so cache key collide. First coin get block number in other hand it s ignor get second lastest block number

  • Update blockchain_service.rb

Remove withdrawal attempts (#2281)

#Version 2.2.24

Released 2019-07-23

Add min_confirmations field to currency entity (#2276)

#Version 2.2.23

Released 2019-07-22

Fix travis release (#2275)

Major trading engine and logic rework with precision, rounding and matching flow improvements (#2258)

  • Update Peatio::Bench with matching engine bug
  • min_amount depends on amount_precision
  • Clear Matching Error classes
  • Finalize Engine #submit & replace Trade with Trade Struct
  • MarketOrderbookError in case of market order in orderbook
  • Define fractional parts for funds and fee
  • Fix market validations and spec
  • Add max_price precision validation
  • Remove price and volume rounding. Validate precision instead
  • Don't validate if attr not present
  • Fix sell market order. Rename AbstractOrder -> BaseOrder
  • Make migration more friendly. Remove attr_readonly from amount_precision & price_precision

Update bin/gendocs (#2272)

Update ruby version and gems (#2263)

  • Update ruby version and gems

  • Update hashdiff and rubocop gems

#Version 2.2.22

Released 2019-07-16

Add reload before load blockchain height in blockchain daemon (#2269)

#Version 2.2.21

Released 2019-07-16

Fix issue with JWT Token (#2265)

Move slave book from amqp to ruby daemons (#2267)

#Version 2.2.20

Released 2019-07-15

Remove http request for confirmations method (#2262)

  • Remove http call for confirmations method

  • Fix Adapter error in views

#Version 2.2.19

Released 2019-07-12

Refactor and improve blockchain daemon performance (#2257)

  • Fix issues with timeout.
  • Split blockchains sync into threads.
  • Speed up sync using typhoeus adapter.
  • Use one BlockchainService instance per thread.
  • Use one connection per thread.
  • Sleep 10 seconds if synced.

#Version 2.2.18

Released 2019-07-11

Disable colorize logging in production (#2261)

#Version 2.2.17

Released 2019-07-11

Change: config/database.yml – use port value from ENV (#2254)

Update logger for withdraw coin daemon (#2234)

#Version 2.2.16

Released 2019-07-05

Improve sentry-raven error reporting (#2236)

#Version 2.2.15

Released 2019-07-02

Update Readme (#2250)

Change links from peatio.tech to openware.com

#Version 2.2.14

Released 2019-07-01

AMQP messages for third party trading engine integration (#2215)

  • Publish message to RMQ on Liability create

  • Publish message to RMQ on API order submit

Ability to change VAULT_TOKEN (#2086)

Ability to set custom gas_limit & gas_price per currency.

Ability to use null reference for operation

Account Withdraw API With OTP

  • Add POST /api/v2/account/withdraws
  • Integrate Vault to travis & compose
  • Integrate Vault::TOTP client
  • Add ENABLE_ACCOUNT_WITHDRAWAL_API, VAULT_URL & VAULT_TOKEN envs

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Dinesh Chohda <dinesh.skyach@gmail.com>

Add password generator (#2245)

Add WS message for market order executed event (#2208)

  • Add ranger call for market order execute event

  • Unify ranger payloads

Add management API endpoint for listing trades (#2182)

Add optional fields for operations API (#2140)

  • Delete pagination from API for liabilities and add optional fields

  • Reset pagination and small fixes after review

  • Change timestamp to time range in API for liabilities

  • Add optional param reference_type for assets, expenses and revenues

  • Add time_from and time_to params to operations API

Add ability to deposit from admin panel (#2164)

Add missing end in Admin::Deposits::FiatsController (#2162)

Add filter by date in market/trades (#2126)

Add missing paginations for deposit & withdraw on admin panel (#2156)

Add note to withdraw (#2157)

Add ability to cancel all orders for specific market (#2125)

Add PR trigger to Drone CI (#2062)

Add close, avg_price & price_change_percent to WS & REST API (#2000)

  • Add close, avg_price & price_change_percent
  • Update WS API doc
  • Move & refactor Market #change_ratio to Global
  • Add ticker specs

closes #1991

Add Peatio UI removal alert

Add swagger.json in prettyjson format (#1984)

Add CONTRIBUTING guide [skip ci]

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add automatic docs generation for v2

Add Currency Name

Add missing deposit "skipped" translation (#1926)

Add opportunity to define minimum amount for trade

Add missing method

Adding trigger tables for Advance order types

Admin panel RBAC. New admin roles support (#2217)

  • Initailize RBAC logic

  • Add role permissions

Apigate integration

Integrate Ambassador gateway. Remove OAuth Authentication and Peatio session support New grape api organisation into account, market, public endpoints Remove CORS

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Louis Bellet <lbellet@openware.com>

Average 24h price using VWAP ratio. Minor Global & Market refactor

  • Calculate average 24 hours price using VWAP ratio
  • Move #avg_24h_price from Trade to Global
  • Update caching for #avg_h24_price and #h24_volume
  • Refactor Global #key
  • Use delegate instead of single-line method in Market
  • Add RedisTestHelper Rspec Helper
  • Global #avg_h24_price specs
  • Update Market delegation specs

closes #2001

Avoid message in controllers by overriding Grape::AllowBlankValidator (#2094)

Benchmark tasks for Matching TradeExecution and OrderProcessing (#2133)

  • Benchmark tasks for Matching TradeExecution and OrderProcessing

  • Implement Matching bench

  • Implement TradeExecutor bench

  • Implement OrderProcessor bench

  • Implement Dummy & Bitfinex Order injecotrs

  • Add bench config templates

  • Add bitfinex injector data

  • Expose RabbitMQ management API admin panel

  • Implement Deposit & Member factories

  • Add simple RabbitMQHTTP client

  • Fix failures:trade_errors rake task

  • Temporary skip feature specs

Co-authored-by: shal <ashanaakh@heliostech.fr> Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>

  • Direct benchmarks for matching, trade_executor and order_processing (#2138)

Change order 'state' to int for order_processor (#2205)

Change health checks request types for k8s (#2087)

Change liveness/readiness probes request types to GET from HEAD. Closes #2085.

Change http status for permitting actions

Documentation clean up [skip ci] (#2011)

  • Remove doc/setup-{osx,ubuntu}.md
  • Deprecate workbench Applogic & Peatio-trading-ui

closes #2010

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Experimental Transfer table & Management API. Operations refactor

  • Add Transfers model
  • Add Transfers /new & specs
  • Add Entities::Transfer & specs
  • Replace Operations::Chart with Operations::Account
  • Implement chart of accounts seed file & rake task
  • Require account code on Operation create
  • Refactor Operations /new endpoints
  • Management::Helpers #create_operation!
  • Refactor Operations #credit! #debit!
  • Remove Operations::Liability #credit! #debit!
  • Allow null for Operations::Liability member_id
  • Add Revenue member_id (revenues source)
  • Add Operations::Account & Transfer factories
  • Update Revenues record specs
  • Create list of default accounts on each spec

closes #2024

Expose Trade market maker and don't expose null side

Extend entities specs

Filter orders by type (#2167)

Fix bin/gendocs (#2150)

Fix release:travis rake task (#2145)

Fix user opportunity to create mirror market pairs (#2039)

  • Add validation for prevent user to create mirror market pairs;
  • Change market seed template (delete mirror pairs and change ask/bid_precision for pairs with fiat);

Fix the kline event json format was duplicate

Fix for_notify in pusher_market daemon

Fix specs for model Global

Fix dangerous migration

  • update :min_ask_price & :max_bid_price precision
  • change_column_null :markets, :max_bid_price
  • add_column :currencies, :position

Fix migration for currencies position and market entity

Fix markets seed file (#2009)

Fix private order update event (#2007)

Improve pagination for /markets /public APIs

  • Add api-pagination gem for account/deposits, account/withdraws, market/orders, market/trades;
  • Rewrite unify params for market/orders and market/trades, accounts/deposits and account/withdraws;
  • Sort by desc for market/orders;
  • Rewrite side for Trade model;

Improve /account and /market APIs

Improve deposit collection fees daemon (#1925)

Improve deposit collection daemon and add ability to reject fiat deposit

Income Statement (#1845) (#1849)

Limit number of returned data from ranger global.update (#2153)

List liability with specs

List assets,revenues,expenses with specs

Load balance from hot wallet before make quick withdraw (#1935)

Major Market model rework (#2241)

  • Replace Market enabled with state and list new states (without logic implementation)
  • Rework public/market API response structure
  • Rename Market API error name market.market.doesnt_exist -> market.market.doesnt_exist_or_not_enabled
  • Add ability to disable all markets
  • Remove precision equivalence validation (now amount and price precision could be different)
  • Add precisions sum validation (amount + price precision < 16)
  • Merge min_bid_amount & min_ask_amount to min_amount
  • Update admin views & controllers with new Market table structure
  • Update Market seeds
  • Rename ask_precision -> amount_precision, bid_precision -> price_precision
  • Rename min_ask_price -> min_price, max_bid_price -> max_price
  • Rename ask_unit -> base_unit, bid_unit -> quote_unit
  • Order fix_number_precision -> round_amount_and_price
  • Market fix_number_precision -> round_amount, round_price
  • Remove legacy Order & Market methods

Managemetn API for creating asset, revenue, expense and libility with specs

Migrate to Ambassador 0.50.0 & peatio 0.4.5. Update Ranger WS API

Move order submit to order_processor and remove Ordering (#2147)

  • Add new state Pending for orders;
  • Add fast check_balance before publishing message;
  • Publish message for submitting order from API;
  • Delete Ordering module;

Move health probes to Grape API v2 (closes #2066) (#2071)

Operations spec fix by saving timestamps in variables

Parity Blockchain/Wallet clients/services implementation (#1933)

Co-authored-by: Ohill <ybondur@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>"

Performance optimization for trade executor

Plugable coins API (#2168)

Major feature: rewritten blockchain and wallet api to enable easy implementation of 3rd party plugins

Peatio Plugin API v2 gives ability to extend Peatio with any coin which fits into basic Blockchain and Wallet interfaces described inside peatio-core gem.

Please see the following plugin example for your implementation: peatio-litecoin

Public version API endpoint

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

Release script updated

Remove peatio.tech brand from admin panel (#2072)

Remove gem grape_strip

Remove plugin API v1 (closes #2076) (#2090)

Remove deprecated fees API (closes #2077) (#2091)

Remove legacy member UI (#2051)

  • Remove yarn;
  • Remove Gems (rails-i18n, gon, angularjs-rails);
  • Remove /assets for funds page;
  • Remove application_controller methods related to funds page;
  • Remove /private and /concern controllers;
  • Remove application_helpers methods related to funds page;
  • Rewrite links and notices for deposits and withdraws in admin panel;
  • Remove private views and templates;
  • Remove config/locales;
  • Clean routes.rb and application.yml.erb;

Co-authored-by: dinesh-skyach <dinesh.skyach@gmail.com> Co-authored-by: ritesh-skyach <ritesh.skyach@gmail.com> Co-authored-by: ysv <ysavchuk@heliostech.fr>

Remove ActionDispatch Session. Disable CSRF

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1856)

Rename entities fields (#2070)

  • return in API entities and websocket api order volume as remaining_volume;
  • remove alias for origin_volume;
  • expose taker_type in trade entities;

Reorganization ruby and amqp workers (#2242)

Retry withdraw on failure (#2233)

  • Retry withdraw on failure

Revert Travis CI & Drop Drone CI (#2081)

  • Move Drone CI docker build step to tag trigger

  • Backport Travis CI for running specs

  • Backport Travis CI

  • Drop Drone CI

Rework Peatio accounting using double entry accounting system (#1777)

Add Operation Base model and tables

Add Operations::Asset,Liability,Revenue,Expense Add Operations::Chart which define class of items for which money spent or received Record Asset, Liability and Revenue operations on Deposit accept Record Liability transfer on Order create Record Liability transfer on Order cancel Record Liability transfer and Revenue creation on Trade create Deprecate legacy funds plus lock unlock and subtract funds Add Admin rubric for tracking Operations and Balance sheet Add Admin with Balance sheet

Rewrite callbacks for avoid using redirect_to :back (#2169)

  • Change redirect_to to render (#2113)

  • Rewrite callbacks for avoid using redirect_to :back

Rewrite get_depth to fetch data from db (#1894)

Rewrite api entities for docs. Split user and management api (#1958)

Skip withdraw in case of insufficient balance on hot wallet (#2179)

Sort orders by updated_at column (#2061)

  • Orders by updated_at instead of id in API::V2::Market::Orders
  • Add index_trade_on_created_at and index_orders_on_updated_at
  • Expose order updated_at
  • Update /api/v2/market/orders specs

closes #2060

Specs for account/balances and code polishing

Speed up RSpec test (closes #1932) (#2044)

  • Speed up RSpec test (closes #1932)

Start 2-1 development 🔌

Start 2.1.0 development 💫

Store Currency options as JSON and define accessors

Switch from Travis to Drone CI

  • Drop outdated documentation docs/ops/ci.md.
  • Drop Travis configuration file .drone.yml.
  • Replace old rake task release:travis to new one release:drone.
  • Add Drone pipeline:
    • Install dependencies.
    • Cache gems between CI builds.
    • Run RSpec tests.
    • Semver bump and push json/markdown docs.
    • Build docker image with following tags: latest,&lt;branch&gt;,&lt;tag&gt;.
    • Cache docker image between CI builds (Speed up docker build step).

Co-authored-by: Ali Shanaakh ashanaakh[@heliostech](https://github.com/heliostech).fr Co-authored-by: Yaroslav Savchuk ysavchuk[@heliostech](https://github.com/heliostech).fr

Unify trade taker_type with Ranger and api (#2121)

Unify API errors structure and messages (#2053)

  • Unify API errors for api/v2/market/* (#2058)

  • Unify API errors for api/v2/account/ and api/v2/public/ (#2063)

  • Add errors.md with list of Member API errors (#2080)

  • Move all REST API errors to single structure {errors: []}
  • Detailed description for order & withdraw POST failures
  • Add missing values validations
  • Add missing allow_blank validations
  • Add custom errors message for:
    • values validations
    • types validations
    • allow_blank validations
    • presence validations
    • custom validations
  • Add errors.md with errors list & description
  • Remove DB queries from desc
  • Remove API::V2::Error and descendants
  • Update ExceptionHandlers
  • Move NamedParams to /market
  • Add Order::InsufficientMarketLiquidity
  • include_api_error rspec matcher

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Ali Shanaakh <ashanaakh@heliostech.fr>

Update RBAC roles (#2237)

Update ruby version to 2.6.2 (#2191)

  • update ruby version to 2.6.2

  • Update README.md

Update gem Boostrap scssc for CVE-2019-8331

Update application.yml.erb (#2098)

#2038 endpoint api/v2/members/me dosen't exists any more

Update README.md (#2092)

Update to use rubykube peatio git repo (#2093)

Update updated_at on trade executor (closes #2069) (#2078)

Update specs & Minore spec refactor

Updating database structure

Upgrade ruby to 2.6.2 (#2160)

Upgrade Ruby on Rails to 5.2 (#2146)

Upgrade Ruby on Rails to 5.0 (#2095)

Migration to newer rails gem version: 5.0.7.

We suggest to following tasks in the topic after this will be merged:

  • Update grape and relative gems.
  • Update to ruby 2.6.
  • Update to rails 5.1.

Co-authored-by: shal ashanaakh@heliostech.fr Co-authored-by: ysv ysavchuk@heliostech.fr

use local seeds

Problem: workbench has old seeds config files Solution: use local seeds

Use json format for logs (#2232)

Use strict variant of save in Member#from_payload (#2088)

Pull Requests

Merge pull request #1989 from mnaichuk/new-market-api

Merge pull request #1966 from mnaichuk/2-0-add-cors

#Version 1.9.24

Released 2019-07-01

Ability to set custom gas_limit & gas_price per currency.

Add password generator (#2246)

Add close, avg_price & price_change_percent to WS & REST API

  • Add close, avg_price & price_change_percent
  • Update WS API doc
  • Move & refactor Market #change_ratio to Global
  • Add ticker specs

closes #1991

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add Currency Name (#1944)

Add opportunity to define minimum amount for trade

Add missing method

Benchmark tasks for Matching TradeExecution and OrderProcessing (#2132)

  • Implement Matching bench
  • Implement TradeExecutor bench
  • Implement OrderProcessor bench
  • Implement Dummy & Bitfinex Order injecotrs
  • Add bench config templates
  • Add bitfinex injector data
  • Expose RabbitMQ management API admin panel
  • Implement Deposit & Member factories
  • Add simple RabbitMQHTTP client
  • Fix failures:trade_errors rake task
  • Temporary skip feature specs

Co-authored-by: shal <ashanaakh@heliostech.fr> Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Expose Trade market maker and don't expose null side

Fixed Market Type should not appear on Trading-ui

Fixed member private event when order updated

Freeze bundler version in 1.17.1

Improve deposit collection daemon and add ability to reject fiat deposit

Load balance from hot wallet before make quick withdraw (#1934)

Massive gem updates

On successful trade trigger ranger private order event

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

Rails security update

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1857)

Revert "Add grape_strip to resolve whitespace in input params" (#2117)

This reverts commit 44a653a10901090811e88067b4d1f3f72f597cb5.

Rewrite get_depth to fetch data from db

Store Currency options as JSON and define accessors v1.9

Update setup-ubuntu.md (#2103)

rabbitmq no longer used here.

Update setup-ubuntu.md (#2043)

Updating api docs

#Version 2.0.40

Released 2019-07-01

Add password generator (#2247)

Benchmark tasks for Matching TradeExecution and OrderProcessing (#2136)

  • Implement Matching bench
  • Implement TradeExecutor bench
  • Implement OrderProcessor bench
  • Implement Dummy & Bitfinex Order injecotrs
  • Add bench config templates
  • Add bitfinex injector data
  • Expose RabbitMQ management API admin panel
  • Implement Deposit & Member factories
  • Add simple RabbitMQHTTP client
  • Fix failures:trade_errors rake task
  • Temporary skip feature specs

Co-authored-by: shal <ashanaakh@heliostech.fr> Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>

Change redirect_to to render (#2113)

Get rid off grape_strip gem (#2116)

Release 2-0-stable

Rewrite callbacks for avoid using redirect_to :back (#2176)

  • Change redirect_to to render (#2113)

  • Rewrite callbacks for avoid using redirect_to :back

Rewrite callbacks for avoid using redirect_to :back

  • Change redirect_to to render (#2113)

  • Rewrite callbacks for avoid using redirect_to :back

Skip withdraw in case of insufficient balance on hot wallet (#2178)

#Version 2.2.13

Released 2019-07-01

Add password generator (#2245)

#Version 2.2.12

Released 2019-06-26

Add WS message for market order executed event (#2208)

  • Add ranger call for market order execute event

  • Unify ranger payloads

#Version 2.2.11

Released 2019-06-21

Retry withdraw on failure (#2233)

  • Retry withdraw on failure

#Version 2.2.10

Released 2019-06-20

Update RBAC roles (#2237)

#Version 2.2.9

Released 2019-06-17

Use json format for logs (#2232)

#Version 2.2.8

Released 2019-06-13

Admin panel RBAC. New admin roles support (#2217)

  • Initailize RBAC logic

  • Add role permissions

#Version 2.2.7

Released 2019-05-31

Operations spec fix by saving timestamps in variables

#Version 2.2.6

Released 2019-05-30

Adding trigger tables for Advance order types

Updating database structure

#Version 2.2.5

Released 2019-05-30

AMQP messages for third party trading engine integration (#2215)

  • Publish message to RMQ on Liability create

  • Publish message to RMQ on API order submit

#Version 2.2.4

Released 2019-05-27

Add management API endpoint for listing trades (#2182)

Plugable coins API (#2168)

Major feature: rewritten blockchain and wallet api to enable easy implementation of 3rd party plugins

Peatio Plugin API v2 gives ability to extend Peatio with any coin which fits into basic Blockchain and Wallet interfaces described inside peatio-core gem.

Please see the following plugin example for your implementation: peatio-litecoin

#Version 2.2.3

Released 2019-05-14

Change order 'state' to int for order_processor (#2205)

#Version 2.2.2

Released 2019-05-14

Update ruby version to 2.6.2 (#2191)

  • update ruby version to 2.6.2

  • Update README.md

#Version 2.2.1

Released 2019-05-06

Add optional fields for operations API (#2140)

  • Delete pagination from API for liabilities and add optional fields

  • Reset pagination and small fixes after review

  • Change timestamp to time range in API for liabilities

  • Add optional param reference_type for assets, expenses and revenues

  • Add time_from and time_to params to operations API

Add ability to deposit from admin panel (#2164)

Add missing end in Admin::Deposits::FiatsController (#2162)

Add filter by date in market/trades (#2126)

Add missing paginations for deposit & withdraw on admin panel (#2156)

Add note to withdraw (#2157)

Add ability to cancel all orders for specific market (#2125)

Avoid message in controllers by overriding Grape::AllowBlankValidator (#2094)

Benchmark tasks for Matching TradeExecution and OrderProcessing (#2133)

  • Benchmark tasks for Matching TradeExecution and OrderProcessing

  • Implement Matching bench

  • Implement TradeExecutor bench

  • Implement OrderProcessor bench

  • Implement Dummy & Bitfinex Order injecotrs

  • Add bench config templates

  • Add bitfinex injector data

  • Expose RabbitMQ management API admin panel

  • Implement Deposit & Member factories

  • Add simple RabbitMQHTTP client

  • Fix failures:trade_errors rake task

  • Temporary skip feature specs

Co-authored-by: shal <ashanaakh@heliostech.fr> Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>

  • Direct benchmarks for matching, trade_executor and order_processing (#2138)

Filter orders by type (#2167)

Fix bin/gendocs (#2150)

Fix release:travis rake task (#2145)

Limit number of returned data from ranger global.update (#2153)

Move order submit to order_processor and remove Ordering (#2147)

  • Add new state Pending for orders;
  • Add fast check_balance before publishing message;
  • Publish message for submitting order from API;
  • Delete Ordering module;

Remove peatio.tech brand from admin panel (#2072)

Remove gem grape_strip

Remove plugin API v1 (closes #2076) (#2090)

Remove deprecated fees API (closes #2077) (#2091)

Remove legacy member UI (#2051)

  • Remove yarn;
  • Remove Gems (rails-i18n, gon, angularjs-rails);
  • Remove /assets for funds page;
  • Remove application_controller methods related to funds page;
  • Remove /private and /concern controllers;
  • Remove application_helpers methods related to funds page;
  • Rewrite links and notices for deposits and withdraws in admin panel;
  • Remove private views and templates;
  • Remove config/locales;
  • Clean routes.rb and application.yml.erb;

Co-authored-by: dinesh-skyach <dinesh.skyach@gmail.com> Co-authored-by: ritesh-skyach <ritesh.skyach@gmail.com> Co-authored-by: ysv <ysavchuk@heliostech.fr>

Rewrite callbacks for avoid using redirect_to :back (#2169)

  • Change redirect_to to render (#2113)

  • Rewrite callbacks for avoid using redirect_to :back

Skip withdraw in case of insufficient balance on hot wallet (#2179)

Start 2-1 development 🔌

Start 2.1.0 development 💫

Unify trade taker_type with Ranger and api (#2121)

Update gem Boostrap scssc for CVE-2019-8331

Update application.yml.erb (#2098)

#2038 endpoint api/v2/members/me dosen't exists any more

Update README.md (#2092)

Update to use rubykube peatio git repo (#2093)

Upgrade ruby to 2.6.2 (#2160)

Upgrade Ruby on Rails to 5.2 (#2146)

Upgrade Ruby on Rails to 5.0 (#2095)

Migration to newer rails gem version: 5.0.7.

We suggest to following tasks in the topic after this will be merged:

  • Update grape and relative gems.
  • Update to ruby 2.6.
  • Update to rails 5.1.

Co-authored-by: shal ashanaakh@heliostech.fr Co-authored-by: ysv ysavchuk@heliostech.fr

#Version 2.0.39

Released 2019-04-22

Benchmark tasks for Matching TradeExecution and OrderProcessing (#2136)

  • Implement Matching bench
  • Implement TradeExecutor bench
  • Implement OrderProcessor bench
  • Implement Dummy & Bitfinex Order injecotrs
  • Add bench config templates
  • Add bitfinex injector data
  • Expose RabbitMQ management API admin panel
  • Implement Deposit & Member factories
  • Add simple RabbitMQHTTP client
  • Fix failures:trade_errors rake task
  • Temporary skip feature specs

Co-authored-by: shal <ashanaakh@heliostech.fr> Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>

Change redirect_to to render (#2113)

Get rid off grape_strip gem (#2116)

Release 2-0-stable

Rewrite callbacks for avoid using redirect_to :back (#2176)

  • Change redirect_to to render (#2113)

  • Rewrite callbacks for avoid using redirect_to :back

Rewrite callbacks for avoid using redirect_to :back

  • Change redirect_to to render (#2113)

  • Rewrite callbacks for avoid using redirect_to :back

Skip withdraw in case of insufficient balance on hot wallet (#2178)

#Version 2.1.20

Released 2019-04-22

Add optional fields for operations API (#2140)

  • Delete pagination from API for liabilities and add optional fields

  • Reset pagination and small fixes after review

  • Change timestamp to time range in API for liabilities

  • Add optional param reference_type for assets, expenses and revenues

  • Add time_from and time_to params to operations API

Add ability to deposit from admin panel (#2164)

Add missing end in Admin::Deposits::FiatsController (#2162)

Add filter by date in market/trades (#2126)

Add missing paginations for deposit & withdraw on admin panel (#2156)

Add note to withdraw (#2157)

Add ability to cancel all orders for specific market (#2125)

Avoid message in controllers by overriding Grape::AllowBlankValidator (#2094)

Benchmark tasks for Matching TradeExecution and OrderProcessing (#2133)

  • Benchmark tasks for Matching TradeExecution and OrderProcessing

  • Implement Matching bench

  • Implement TradeExecutor bench

  • Implement OrderProcessor bench

  • Implement Dummy & Bitfinex Order injecotrs

  • Add bench config templates

  • Add bitfinex injector data

  • Expose RabbitMQ management API admin panel

  • Implement Deposit & Member factories

  • Add simple RabbitMQHTTP client

  • Fix failures:trade_errors rake task

  • Temporary skip feature specs

Co-authored-by: shal <ashanaakh@heliostech.fr> Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>

  • Direct benchmarks for matching, trade_executor and order_processing (#2138)

Filter orders by type (#2167)

Fix bin/gendocs (#2150)

Fix release:travis rake task (#2145)

Limit number of returned data from ranger global.update (#2153)

Move order submit to order_processor and remove Ordering (#2147)

  • Add new state Pending for orders;
  • Add fast check_balance before publishing message;
  • Publish message for submitting order from API;
  • Delete Ordering module;

Remove peatio.tech brand from admin panel (#2072)

Remove gem grape_strip

Remove plugin API v1 (closes #2076) (#2090)

Remove deprecated fees API (closes #2077) (#2091)

Remove legacy member UI (#2051)

  • Remove yarn;
  • Remove Gems (rails-i18n, gon, angularjs-rails);
  • Remove /assets for funds page;
  • Remove application_controller methods related to funds page;
  • Remove /private and /concern controllers;
  • Remove application_helpers methods related to funds page;
  • Rewrite links and notices for deposits and withdraws in admin panel;
  • Remove private views and templates;
  • Remove config/locales;
  • Clean routes.rb and application.yml.erb;

Co-authored-by: dinesh-skyach <dinesh.skyach@gmail.com> Co-authored-by: ritesh-skyach <ritesh.skyach@gmail.com> Co-authored-by: ysv <ysavchuk@heliostech.fr>

Rewrite callbacks for avoid using redirect_to :back (#2169)

  • Change redirect_to to render (#2113)

  • Rewrite callbacks for avoid using redirect_to :back

Skip withdraw in case of insufficient balance on hot wallet (#2179)

Start 2.1.0 development 💫

Unify trade taker_type with Ranger and api (#2121)

Update gem Boostrap scssc for CVE-2019-8331

Update application.yml.erb (#2098)

#2038 endpoint api/v2/members/me dosen't exists any more

Update README.md (#2092)

Update to use rubykube peatio git repo (#2093)

Upgrade ruby to 2.6.2 (#2160)

Upgrade Ruby on Rails to 5.2 (#2146)

Upgrade Ruby on Rails to 5.0 (#2095)

Migration to newer rails gem version: 5.0.7.

We suggest to following tasks in the topic after this will be merged:

  • Update grape and relative gems.
  • Update to ruby 2.6.
  • Update to rails 5.1.

Co-authored-by: shal ashanaakh@heliostech.fr Co-authored-by: ysv ysavchuk@heliostech.fr

#Version 2.0.38

Released 2019-04-22

Benchmark tasks for Matching TradeExecution and OrderProcessing (#2136)

  • Implement Matching bench
  • Implement TradeExecutor bench
  • Implement OrderProcessor bench
  • Implement Dummy & Bitfinex Order injecotrs
  • Add bench config templates
  • Add bitfinex injector data
  • Expose RabbitMQ management API admin panel
  • Implement Deposit & Member factories
  • Add simple RabbitMQHTTP client
  • Fix failures:trade_errors rake task
  • Temporary skip feature specs

Co-authored-by: shal <ashanaakh@heliostech.fr> Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>

Change redirect_to to render (#2113)

Get rid off grape_strip gem (#2116)

Release 2-0-stable

Rewrite callbacks for avoid using redirect_to :back (#2176)

  • Change redirect_to to render (#2113)

  • Rewrite callbacks for avoid using redirect_to :back

Rewrite callbacks for avoid using redirect_to :back

  • Change redirect_to to render (#2113)

  • Rewrite callbacks for avoid using redirect_to :back

#Version 2.1.19

Released 2019-04-19

Add optional fields for operations API (#2140)

  • Delete pagination from API for liabilities and add optional fields

  • Reset pagination and small fixes after review

  • Change timestamp to time range in API for liabilities

  • Add optional param reference_type for assets, expenses and revenues

  • Add time_from and time_to params to operations API

Add ability to deposit from admin panel (#2164)

Add missing end in Admin::Deposits::FiatsController (#2162)

Add filter by date in market/trades (#2126)

Add missing paginations for deposit & withdraw on admin panel (#2156)

Add note to withdraw (#2157)

Add ability to cancel all orders for specific market (#2125)

Avoid message in controllers by overriding Grape::AllowBlankValidator (#2094)

Benchmark tasks for Matching TradeExecution and OrderProcessing (#2133)

  • Benchmark tasks for Matching TradeExecution and OrderProcessing

  • Implement Matching bench

  • Implement TradeExecutor bench

  • Implement OrderProcessor bench

  • Implement Dummy & Bitfinex Order injecotrs

  • Add bench config templates

  • Add bitfinex injector data

  • Expose RabbitMQ management API admin panel

  • Implement Deposit & Member factories

  • Add simple RabbitMQHTTP client

  • Fix failures:trade_errors rake task

  • Temporary skip feature specs

Co-authored-by: shal <ashanaakh@heliostech.fr> Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>

  • Direct benchmarks for matching, trade_executor and order_processing (#2138)

Filter orders by type (#2167)

Fix bin/gendocs (#2150)

Fix release:travis rake task (#2145)

Limit number of returned data from ranger global.update (#2153)

Move order submit to order_processor and remove Ordering (#2147)

  • Add new state Pending for orders;
  • Add fast check_balance before publishing message;
  • Publish message for submitting order from API;
  • Delete Ordering module;

Remove peatio.tech brand from admin panel (#2072)

Remove gem grape_strip

Remove plugin API v1 (closes #2076) (#2090)

Remove deprecated fees API (closes #2077) (#2091)

Remove legacy member UI (#2051)

  • Remove yarn;
  • Remove Gems (rails-i18n, gon, angularjs-rails);
  • Remove /assets for funds page;
  • Remove application_controller methods related to funds page;
  • Remove /private and /concern controllers;
  • Remove application_helpers methods related to funds page;
  • Rewrite links and notices for deposits and withdraws in admin panel;
  • Remove private views and templates;
  • Remove config/locales;
  • Clean routes.rb and application.yml.erb;

Co-authored-by: dinesh-skyach <dinesh.skyach@gmail.com> Co-authored-by: ritesh-skyach <ritesh.skyach@gmail.com> Co-authored-by: ysv <ysavchuk@heliostech.fr>

Rewrite callbacks for avoid using redirect_to :back (#2169)

  • Change redirect_to to render (#2113)

  • Rewrite callbacks for avoid using redirect_to :back

Start 2.1.0 development 💫

Unify trade taker_type with Ranger and api (#2121)

Update gem Boostrap scssc for CVE-2019-8331

Update application.yml.erb (#2098)

#2038 endpoint api/v2/members/me dosen't exists any more

Update README.md (#2092)

Update to use rubykube peatio git repo (#2093)

Upgrade ruby to 2.6.2 (#2160)

Upgrade Ruby on Rails to 5.2 (#2146)

Upgrade Ruby on Rails to 5.0 (#2095)

Migration to newer rails gem version: 5.0.7.

We suggest to following tasks in the topic after this will be merged:

  • Update grape and relative gems.
  • Update to ruby 2.6.
  • Update to rails 5.1.

Co-authored-by: shal ashanaakh@heliostech.fr Co-authored-by: ysv ysavchuk@heliostech.fr

#Version 2.0.37

Released 2019-04-19

Benchmark tasks for Matching TradeExecution and OrderProcessing (#2136)

  • Implement Matching bench
  • Implement TradeExecutor bench
  • Implement OrderProcessor bench
  • Implement Dummy & Bitfinex Order injecotrs
  • Add bench config templates
  • Add bitfinex injector data
  • Expose RabbitMQ management API admin panel
  • Implement Deposit & Member factories
  • Add simple RabbitMQHTTP client
  • Fix failures:trade_errors rake task
  • Temporary skip feature specs

Co-authored-by: shal <ashanaakh@heliostech.fr> Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>

Change redirect_to to render (#2113)

Get rid off grape_strip gem (#2116)

Release 2-0-stable

Rewrite callbacks for avoid using redirect_to :back

  • Change redirect_to to render (#2113)

  • Rewrite callbacks for avoid using redirect_to :back

#Version 2.1.18

Released 2019-04-18

Rewrite callbacks for avoid using redirect_to :back (#2169)

  • Change redirect_to to render (#2113)

  • Rewrite callbacks for avoid using redirect_to :back

#Version 2.1.17

Released 2019-04-16

Add optional fields for operations API (#2140)

  • Delete pagination from API for liabilities and add optional fields

  • Reset pagination and small fixes after review

  • Change timestamp to time range in API for liabilities

  • Add optional param reference_type for assets, expenses and revenues

  • Add time_from and time_to params to operations API

Filter orders by type (#2167)

#Version 2.1.16

Released 2019-04-09

Add ability to deposit from admin panel (#2164)

#Version 2.1.15

Released 2019-04-05

Add missing end in Admin::Deposits::FiatsController (#2162)

Add filter by date in market/trades (#2126)

#Version 2.1.14

Released 2019-04-04

Add missing paginations for deposit & withdraw on admin panel (#2156)

Move order submit to order_processor and remove Ordering (#2147)

  • Add new state Pending for orders;
  • Add fast check_balance before publishing message;
  • Publish message for submitting order from API;
  • Delete Ordering module;

Upgrade ruby to 2.6.2 (#2160)

#Version 2.1.13

Released 2019-04-03

Ability to change VAULT_TOKEN (#2086)

Ability to set custom gas_limit & gas_price per currency.

Ability to use null reference for operation

Account Withdraw API With OTP

  • Add POST /api/v2/account/withdraws
  • Integrate Vault to travis & compose
  • Integrate Vault::TOTP client
  • Add ENABLE_ACCOUNT_WITHDRAWAL_API, VAULT_URL & VAULT_TOKEN envs

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Dinesh Chohda <dinesh.skyach@gmail.com>

Add note to withdraw (#2157)

Add ability to cancel all orders for specific market (#2125)

Add PR trigger to Drone CI (#2062)

Add close, avg_price & price_change_percent to WS & REST API (#2000)

  • Add close, avg_price & price_change_percent
  • Update WS API doc
  • Move & refactor Market #change_ratio to Global
  • Add ticker specs

closes #1991

Add Peatio UI removal alert

Add swagger.json in prettyjson format (#1984)

Add CONTRIBUTING guide [skip ci]

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add automatic docs generation for v2

Add Currency Name

Add missing deposit "skipped" translation (#1926)

Add opportunity to define minimum amount for trade

Add missing method

Apigate integration

Integrate Ambassador gateway. Remove OAuth Authentication and Peatio session support New grape api organisation into account, market, public endpoints Remove CORS

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Louis Bellet <lbellet@openware.com>

Average 24h price using VWAP ratio. Minor Global & Market refactor

  • Calculate average 24 hours price using VWAP ratio
  • Move #avg_24h_price from Trade to Global
  • Update caching for #avg_h24_price and #h24_volume
  • Refactor Global #key
  • Use delegate instead of single-line method in Market
  • Add RedisTestHelper Rspec Helper
  • Global #avg_h24_price specs
  • Update Market delegation specs

closes #2001

Avoid message in controllers by overriding Grape::AllowBlankValidator (#2094)

Change health checks request types for k8s (#2087)

Change liveness/readiness probes request types to GET from HEAD. Closes #2085.

Change http status for permitting actions

Documentation clean up [skip ci] (#2011)

  • Remove doc/setup-{osx,ubuntu}.md
  • Deprecate workbench Applogic & Peatio-trading-ui

closes #2010

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Experimental Transfer table & Management API. Operations refactor

  • Add Transfers model
  • Add Transfers /new & specs
  • Add Entities::Transfer & specs
  • Replace Operations::Chart with Operations::Account
  • Implement chart of accounts seed file & rake task
  • Require account code on Operation create
  • Refactor Operations /new endpoints
  • Management::Helpers #create_operation!
  • Refactor Operations #credit! #debit!
  • Remove Operations::Liability #credit! #debit!
  • Allow null for Operations::Liability member_id
  • Add Revenue member_id (revenues source)
  • Add Operations::Account & Transfer factories
  • Update Revenues record specs
  • Create list of default accounts on each spec

closes #2024

Expose Trade market maker and don't expose null side

Extend entities specs

Fix bin/gendocs (#2150)

Fix release:travis rake task (#2145)

Fix user opportunity to create mirror market pairs (#2039)

  • Add validation for prevent user to create mirror market pairs;
  • Change market seed template (delete mirror pairs and change ask/bid_precision for pairs with fiat);

Fix the kline event json format was duplicate

Fix for_notify in pusher_market daemon

Fix specs for model Global

Fix dangerous migration

  • update :min_ask_price & :max_bid_price precision
  • change_column_null :markets, :max_bid_price
  • add_column :currencies, :position

Fix migration for currencies position and market entity

Fix markets seed file (#2009)

Fix private order update event (#2007)

Improve pagination for /markets /public APIs

  • Add api-pagination gem for account/deposits, account/withdraws, market/orders, market/trades;
  • Rewrite unify params for market/orders and market/trades, accounts/deposits and account/withdraws;
  • Sort by desc for market/orders;
  • Rewrite side for Trade model;

Improve /account and /market APIs

Improve deposit collection fees daemon (#1925)

Improve deposit collection daemon and add ability to reject fiat deposit

Income Statement (#1845) (#1849)

Limit number of returned data from ranger global.update (#2153)

List liability with specs

List assets,revenues,expenses with specs

Load balance from hot wallet before make quick withdraw (#1935)

Managemetn API for creating asset, revenue, expense and libility with specs

Migrate to Ambassador 0.50.0 & peatio 0.4.5. Update Ranger WS API

Move health probes to Grape API v2 (closes #2066) (#2071)

Parity Blockchain/Wallet clients/services implementation (#1933)

Co-authored-by: Ohill <ybondur@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>"

Performance optimization for trade executor

Public version API endpoint

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

Release script updated

Remove peatio.tech brand from admin panel (#2072)

Remove gem grape_strip

Remove plugin API v1 (closes #2076) (#2090)

Remove deprecated fees API (closes #2077) (#2091)

Remove legacy member UI (#2051)

  • Remove yarn;
  • Remove Gems (rails-i18n, gon, angularjs-rails);
  • Remove /assets for funds page;
  • Remove application_controller methods related to funds page;
  • Remove /private and /concern controllers;
  • Remove application_helpers methods related to funds page;
  • Rewrite links and notices for deposits and withdraws in admin panel;
  • Remove private views and templates;
  • Remove config/locales;
  • Clean routes.rb and application.yml.erb;

Co-authored-by: dinesh-skyach <dinesh.skyach@gmail.com> Co-authored-by: ritesh-skyach <ritesh.skyach@gmail.com> Co-authored-by: ysv <ysavchuk@heliostech.fr>

Remove ActionDispatch Session. Disable CSRF

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1856)

Rename entities fields (#2070)

  • return in API entities and websocket api order volume as remaining_volume;
  • remove alias for origin_volume;
  • expose taker_type in trade entities;

Revert Travis CI & Drop Drone CI (#2081)

  • Move Drone CI docker build step to tag trigger

  • Backport Travis CI for running specs

  • Backport Travis CI

  • Drop Drone CI

Rework Peatio accounting using double entry accounting system (#1777)

Add Operation Base model and tables

Add Operations::Asset,Liability,Revenue,Expense Add Operations::Chart which define class of items for which money spent or received Record Asset, Liability and Revenue operations on Deposit accept Record Liability transfer on Order create Record Liability transfer on Order cancel Record Liability transfer and Revenue creation on Trade create Deprecate legacy funds plus lock unlock and subtract funds Add Admin rubric for tracking Operations and Balance sheet Add Admin with Balance sheet

Rewrite get_depth to fetch data from db (#1894)

Rewrite api entities for docs. Split user and management api (#1958)

Sort orders by updated_at column (#2061)

  • Orders by updated_at instead of id in API::V2::Market::Orders
  • Add index_trade_on_created_at and index_orders_on_updated_at
  • Expose order updated_at
  • Update /api/v2/market/orders specs

closes #2060

Specs for account/balances and code polishing

Speed up RSpec test (closes #1932) (#2044)

  • Speed up RSpec test (closes #1932)

Start 2.1.0 development 💫

Store Currency options as JSON and define accessors

Switch from Travis to Drone CI

  • Drop outdated documentation docs/ops/ci.md.
  • Drop Travis configuration file .drone.yml.
  • Replace old rake task release:travis to new one release:drone.
  • Add Drone pipeline:
    • Install dependencies.
    • Cache gems between CI builds.
    • Run RSpec tests.
    • Semver bump and push json/markdown docs.
    • Build docker image with following tags: latest,&lt;branch&gt;,&lt;tag&gt;.
    • Cache docker image between CI builds (Speed up docker build step).

Co-authored-by: Ali Shanaakh ashanaakh[@heliostech](https://github.com/heliostech).fr Co-authored-by: Yaroslav Savchuk ysavchuk[@heliostech](https://github.com/heliostech).fr

Unify trade taker_type with Ranger and api (#2121)

Unify API errors structure and messages (#2053)

  • Unify API errors for api/v2/market/* (#2058)

  • Unify API errors for api/v2/account/ and api/v2/public/ (#2063)

  • Add errors.md with list of Member API errors (#2080)

  • Move all REST API errors to single structure {errors: []}
  • Detailed description for order & withdraw POST failures
  • Add missing values validations
  • Add missing allow_blank validations
  • Add custom errors message for:
    • values validations
    • types validations
    • allow_blank validations
    • presence validations
    • custom validations
  • Add errors.md with errors list & description
  • Remove DB queries from desc
  • Remove API::V2::Error and descendants
  • Update ExceptionHandlers
  • Move NamedParams to /market
  • Add Order::InsufficientMarketLiquidity
  • include_api_error rspec matcher

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Ali Shanaakh <ashanaakh@heliostech.fr>

Update gem Boostrap scssc for CVE-2019-8331

Update application.yml.erb (#2098)

#2038 endpoint api/v2/members/me dosen't exists any more

Update README.md (#2092)

Update to use rubykube peatio git repo (#2093)

Update updated_at on trade executor (closes #2069) (#2078)

Update specs & Minore spec refactor

Upgrade Ruby on Rails to 5.2 (#2146)

Upgrade Ruby on Rails to 5.0 (#2095)

Migration to newer rails gem version: 5.0.7.

We suggest to following tasks in the topic after this will be merged:

  • Update grape and relative gems.
  • Update to ruby 2.6.
  • Update to rails 5.1.

Co-authored-by: shal ashanaakh@heliostech.fr Co-authored-by: ysv ysavchuk@heliostech.fr

use local seeds

Problem: workbench has old seeds config files Solution: use local seeds

Use strict variant of save in Member#from_payload (#2088)

Pull Requests

Merge pull request #1989 from mnaichuk/new-market-api

Merge pull request #1966 from mnaichuk/2-0-add-cors

#Version 1.9.23

Released 2019-04-03

Ability to set custom gas_limit & gas_price per currency.

Add close, avg_price & price_change_percent to WS & REST API

  • Add close, avg_price & price_change_percent
  • Update WS API doc
  • Move & refactor Market #change_ratio to Global
  • Add ticker specs

closes #1991

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add Currency Name (#1944)

Add opportunity to define minimum amount for trade

Add missing method

Benchmark tasks for Matching TradeExecution and OrderProcessing (#2132)

  • Implement Matching bench
  • Implement TradeExecutor bench
  • Implement OrderProcessor bench
  • Implement Dummy & Bitfinex Order injecotrs
  • Add bench config templates
  • Add bitfinex injector data
  • Expose RabbitMQ management API admin panel
  • Implement Deposit & Member factories
  • Add simple RabbitMQHTTP client
  • Fix failures:trade_errors rake task
  • Temporary skip feature specs

Co-authored-by: shal <ashanaakh@heliostech.fr> Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Expose Trade market maker and don't expose null side

Fixed Market Type should not appear on Trading-ui

Fixed member private event when order updated

Freeze bundler version in 1.17.1

Improve deposit collection daemon and add ability to reject fiat deposit

Load balance from hot wallet before make quick withdraw (#1934)

Massive gem updates

On successful trade trigger ranger private order event

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

Rails security update

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1857)

Revert "Add grape_strip to resolve whitespace in input params" (#2117)

This reverts commit 44a653a10901090811e88067b4d1f3f72f597cb5.

Rewrite get_depth to fetch data from db

Store Currency options as JSON and define accessors v1.9

Update setup-ubuntu.md (#2103)

rabbitmq no longer used here.

Update setup-ubuntu.md (#2043)

Updating api docs

#Version 2.0.36

Released 2019-04-03

Benchmark tasks for Matching TradeExecution and OrderProcessing (#2136)

  • Implement Matching bench
  • Implement TradeExecutor bench
  • Implement OrderProcessor bench
  • Implement Dummy & Bitfinex Order injecotrs
  • Add bench config templates
  • Add bitfinex injector data
  • Expose RabbitMQ management API admin panel
  • Implement Deposit & Member factories
  • Add simple RabbitMQHTTP client
  • Fix failures:trade_errors rake task
  • Temporary skip feature specs

Co-authored-by: shal <ashanaakh@heliostech.fr> Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>

Change redirect_to to render (#2113)

Get rid off grape_strip gem (#2116)

Release 2-0-stable

#Version 2.1.12

Released 2019-04-02

Upgrade Ruby on Rails to 5.2 (#2146)

#Version 2.1.11

Released 2019-04-01

Limit number of returned data from ranger global.update (#2153)

#Version 2.1.10

Released 2019-04-01

Ability to change VAULT_TOKEN (#2086)

Ability to set custom gas_limit & gas_price per currency.

Ability to use null reference for operation

Account Withdraw API With OTP

  • Add POST /api/v2/account/withdraws
  • Integrate Vault to travis & compose
  • Integrate Vault::TOTP client
  • Add ENABLE_ACCOUNT_WITHDRAWAL_API, VAULT_URL & VAULT_TOKEN envs

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Dinesh Chohda <dinesh.skyach@gmail.com>

Add ability to cancel all orders for specific market (#2125)

Add PR trigger to Drone CI (#2062)

Add close, avg_price & price_change_percent to WS & REST API (#2000)

  • Add close, avg_price & price_change_percent
  • Update WS API doc
  • Move & refactor Market #change_ratio to Global
  • Add ticker specs

closes #1991

Add Peatio UI removal alert

Add swagger.json in prettyjson format (#1984)

Add CONTRIBUTING guide [skip ci]

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add automatic docs generation for v2

Add Currency Name

Add missing deposit "skipped" translation (#1926)

Add opportunity to define minimum amount for trade

Add missing method

Apigate integration

Integrate Ambassador gateway. Remove OAuth Authentication and Peatio session support New grape api organisation into account, market, public endpoints Remove CORS

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Louis Bellet <lbellet@openware.com>

Average 24h price using VWAP ratio. Minor Global & Market refactor

  • Calculate average 24 hours price using VWAP ratio
  • Move #avg_24h_price from Trade to Global
  • Update caching for #avg_h24_price and #h24_volume
  • Refactor Global #key
  • Use delegate instead of single-line method in Market
  • Add RedisTestHelper Rspec Helper
  • Global #avg_h24_price specs
  • Update Market delegation specs

closes #2001

Avoid message in controllers by overriding Grape::AllowBlankValidator (#2094)

Change health checks request types for k8s (#2087)

Change liveness/readiness probes request types to GET from HEAD. Closes #2085.

Change http status for permitting actions

Documentation clean up [skip ci] (#2011)

  • Remove doc/setup-{osx,ubuntu}.md
  • Deprecate workbench Applogic & Peatio-trading-ui

closes #2010

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Experimental Transfer table & Management API. Operations refactor

  • Add Transfers model
  • Add Transfers /new & specs
  • Add Entities::Transfer & specs
  • Replace Operations::Chart with Operations::Account
  • Implement chart of accounts seed file & rake task
  • Require account code on Operation create
  • Refactor Operations /new endpoints
  • Management::Helpers #create_operation!
  • Refactor Operations #credit! #debit!
  • Remove Operations::Liability #credit! #debit!
  • Allow null for Operations::Liability member_id
  • Add Revenue member_id (revenues source)
  • Add Operations::Account & Transfer factories
  • Update Revenues record specs
  • Create list of default accounts on each spec

closes #2024

Expose Trade market maker and don't expose null side

Extend entities specs

Fix bin/gendocs (#2150)

Fix release:travis rake task (#2145)

Fix user opportunity to create mirror market pairs (#2039)

  • Add validation for prevent user to create mirror market pairs;
  • Change market seed template (delete mirror pairs and change ask/bid_precision for pairs with fiat);

Fix the kline event json format was duplicate

Fix for_notify in pusher_market daemon

Fix specs for model Global

Fix dangerous migration

  • update :min_ask_price & :max_bid_price precision
  • change_column_null :markets, :max_bid_price
  • add_column :currencies, :position

Fix migration for currencies position and market entity

Fix markets seed file (#2009)

Fix private order update event (#2007)

Improve pagination for /markets /public APIs

  • Add api-pagination gem for account/deposits, account/withdraws, market/orders, market/trades;
  • Rewrite unify params for market/orders and market/trades, accounts/deposits and account/withdraws;
  • Sort by desc for market/orders;
  • Rewrite side for Trade model;

Improve /account and /market APIs

Improve deposit collection fees daemon (#1925)

Improve deposit collection daemon and add ability to reject fiat deposit

Income Statement (#1845) (#1849)

List liability with specs

List assets,revenues,expenses with specs

Load balance from hot wallet before make quick withdraw (#1935)

Managemetn API for creating asset, revenue, expense and libility with specs

Migrate to Ambassador 0.50.0 & peatio 0.4.5. Update Ranger WS API

Move health probes to Grape API v2 (closes #2066) (#2071)

Parity Blockchain/Wallet clients/services implementation (#1933)

Co-authored-by: Ohill <ybondur@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>"

Performance optimization for trade executor

Public version API endpoint

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

Release script updated

Remove peatio.tech brand from admin panel (#2072)

Remove gem grape_strip

Remove plugin API v1 (closes #2076) (#2090)

Remove deprecated fees API (closes #2077) (#2091)

Remove legacy member UI (#2051)

  • Remove yarn;
  • Remove Gems (rails-i18n, gon, angularjs-rails);
  • Remove /assets for funds page;
  • Remove application_controller methods related to funds page;
  • Remove /private and /concern controllers;
  • Remove application_helpers methods related to funds page;
  • Rewrite links and notices for deposits and withdraws in admin panel;
  • Remove private views and templates;
  • Remove config/locales;
  • Clean routes.rb and application.yml.erb;

Co-authored-by: dinesh-skyach <dinesh.skyach@gmail.com> Co-authored-by: ritesh-skyach <ritesh.skyach@gmail.com> Co-authored-by: ysv <ysavchuk@heliostech.fr>

Remove ActionDispatch Session. Disable CSRF

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1856)

Rename entities fields (#2070)

  • return in API entities and websocket api order volume as remaining_volume;
  • remove alias for origin_volume;
  • expose taker_type in trade entities;

Revert Travis CI & Drop Drone CI (#2081)

  • Move Drone CI docker build step to tag trigger

  • Backport Travis CI for running specs

  • Backport Travis CI

  • Drop Drone CI

Rework Peatio accounting using double entry accounting system (#1777)

Add Operation Base model and tables

Add Operations::Asset,Liability,Revenue,Expense Add Operations::Chart which define class of items for which money spent or received Record Asset, Liability and Revenue operations on Deposit accept Record Liability transfer on Order create Record Liability transfer on Order cancel Record Liability transfer and Revenue creation on Trade create Deprecate legacy funds plus lock unlock and subtract funds Add Admin rubric for tracking Operations and Balance sheet Add Admin with Balance sheet

Rewrite get_depth to fetch data from db (#1894)

Rewrite api entities for docs. Split user and management api (#1958)

Sort orders by updated_at column (#2061)

  • Orders by updated_at instead of id in API::V2::Market::Orders
  • Add index_trade_on_created_at and index_orders_on_updated_at
  • Expose order updated_at
  • Update /api/v2/market/orders specs

closes #2060

Specs for account/balances and code polishing

Speed up RSpec test (closes #1932) (#2044)

  • Speed up RSpec test (closes #1932)

Start 2.1.0 development 💫

Store Currency options as JSON and define accessors

Switch from Travis to Drone CI

  • Drop outdated documentation docs/ops/ci.md.
  • Drop Travis configuration file .drone.yml.
  • Replace old rake task release:travis to new one release:drone.
  • Add Drone pipeline:
    • Install dependencies.
    • Cache gems between CI builds.
    • Run RSpec tests.
    • Semver bump and push json/markdown docs.
    • Build docker image with following tags: latest,&lt;branch&gt;,&lt;tag&gt;.
    • Cache docker image between CI builds (Speed up docker build step).

Co-authored-by: Ali Shanaakh ashanaakh[@heliostech](https://github.com/heliostech).fr Co-authored-by: Yaroslav Savchuk ysavchuk[@heliostech](https://github.com/heliostech).fr

Unify trade taker_type with Ranger and api (#2121)

Unify API errors structure and messages (#2053)

  • Unify API errors for api/v2/market/* (#2058)

  • Unify API errors for api/v2/account/ and api/v2/public/ (#2063)

  • Add errors.md with list of Member API errors (#2080)

  • Move all REST API errors to single structure {errors: []}
  • Detailed description for order & withdraw POST failures
  • Add missing values validations
  • Add missing allow_blank validations
  • Add custom errors message for:
    • values validations
    • types validations
    • allow_blank validations
    • presence validations
    • custom validations
  • Add errors.md with errors list & description
  • Remove DB queries from desc
  • Remove API::V2::Error and descendants
  • Update ExceptionHandlers
  • Move NamedParams to /market
  • Add Order::InsufficientMarketLiquidity
  • include_api_error rspec matcher

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Ali Shanaakh <ashanaakh@heliostech.fr>

Update gem Boostrap scssc for CVE-2019-8331

Update application.yml.erb (#2098)

#2038 endpoint api/v2/members/me dosen't exists any more

Update README.md (#2092)

Update to use rubykube peatio git repo (#2093)

Update updated_at on trade executor (closes #2069) (#2078)

Update specs & Minore spec refactor

Upgrade Ruby on Rails to 5.0 (#2095)

Migration to newer rails gem version: 5.0.7.

We suggest to following tasks in the topic after this will be merged:

  • Update grape and relative gems.
  • Update to ruby 2.6.
  • Update to rails 5.1.

Co-authored-by: shal ashanaakh@heliostech.fr Co-authored-by: ysv ysavchuk@heliostech.fr

use local seeds

Problem: workbench has old seeds config files Solution: use local seeds

Use strict variant of save in Member#from_payload (#2088)

Pull Requests

Merge pull request #1989 from mnaichuk/new-market-api

Merge pull request #1966 from mnaichuk/2-0-add-cors

#Version 1.9.22

Released 2019-03-27

Ability to set custom gas_limit & gas_price per currency.

Add close, avg_price & price_change_percent to WS & REST API

  • Add close, avg_price & price_change_percent
  • Update WS API doc
  • Move & refactor Market #change_ratio to Global
  • Add ticker specs

closes #1991

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add Currency Name (#1944)

Add opportunity to define minimum amount for trade

Add missing method

Benchmark tasks for Matching TradeExecution and OrderProcessing (#2132)

  • Implement Matching bench
  • Implement TradeExecutor bench
  • Implement OrderProcessor bench
  • Implement Dummy & Bitfinex Order injecotrs
  • Add bench config templates
  • Add bitfinex injector data
  • Expose RabbitMQ management API admin panel
  • Implement Deposit & Member factories
  • Add simple RabbitMQHTTP client
  • Fix failures:trade_errors rake task
  • Temporary skip feature specs

Co-authored-by: shal <ashanaakh@heliostech.fr> Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Expose Trade market maker and don't expose null side

Fixed Market Type should not appear on Trading-ui

Fixed member private event when order updated

Freeze bundler version in 1.17.1

Improve deposit collection daemon and add ability to reject fiat deposit

Load balance from hot wallet before make quick withdraw (#1934)

Massive gem updates

On successful trade trigger ranger private order event

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

Rails security update

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1857)

Revert "Add grape_strip to resolve whitespace in input params" (#2117)

This reverts commit 44a653a10901090811e88067b4d1f3f72f597cb5.

Rewrite get_depth to fetch data from db

Store Currency options as JSON and define accessors v1.9

Update setup-ubuntu.md (#2043)

Updating api docs

#Version 2.0.35

Released 2019-03-27

Ability to change VAULT_TOKEN (#2086)

Ability to set custom gas_limit & gas_price per currency.

Ability to use null reference for operation

Ability to retrieve address in both formats cash and legacy via API

Ability to see Transaction ID in user interface (#1546)

  • Ability to see Transaction ID in user interface

Ability to get data between some time interval (time_from, time_to) in GET /api/v2/k (closes #1290) (#1342)

  • get data in specific time interval

Account Withdraw API With OTP

  • Add POST /api/v2/account/withdraws
  • Integrate Vault to travis & compose
  • Integrate Vault::TOTP client
  • Add ENABLE_ACCOUNT_WITHDRAWAL_API, VAULT_URL & VAULT_TOKEN envs

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Dinesh Chohda <dinesh.skyach@gmail.com>

Add PR trigger to Drone CI (#2062)

Add close, avg_price & price_change_percent to WS & REST API (#2000)

  • Add close, avg_price & price_change_percent
  • Update WS API doc
  • Move & refactor Market #change_ratio to Global
  • Add ticker specs

closes #1991

Add Peatio UI removal alert

Add swagger.json in prettyjson format (#1984)

Add CONTRIBUTING guide [skip ci]

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add automatic docs generation for v2

Add Currency Name

Add missing deposit "skipped" translation (#1926)

Add opportunity to define minimum amount for trade

Add missing method

Add validation for order price

Add missing association for fiat

Add docs/plugins.md

Add BULLET to application.yml.erb disable by default

Add Bullet for detecting N+1 problems

Add new state to deposit model to fix deposit recurrence

Add min deposit amount for currencies and validation for small deposits

Add env RANGER_CONNECT_SECURE (#1718)

Add missing url validations to rails models (#1656)

Closes #1652.

  • Add validation for server atttribute in Blockchain model.
  • Add validation for url atttribute in Wallet model.

Add docs about performance

Add grape_strip to resolve whitespace in input params

Add missing address in wallets seed config

Add riple blockchain service and client

Add missing API call for getting member accounts (related to #919)

Add Tools Spec For API

Add rc tag for master releases in bump script

Add Deposit Collection Spec

Add Deposit Coin Address Spec

Add Wallet Support For Bitcoin Cash Legacy Address (#1540)

Add Bitgo Wallet ID And Remove Wallet Address In Wallet Model (#1530)

  • Add Bitgo Wallet Id In Wallet

  • Remove Bitgo Wallet Address

Add icon url to currency (closes #1449) (#1465)

  • Add icon url to currency (closes #1449)

  • Add icon_url in api currency entities. Minor related refactoring

Add ability to specity min price (closes #1447) (#1460)

Add more details for the API docs (#1493)

  • Add security definitions and contact info for swagger spec
  • Add more documentation and swagger stuff for currencies endpoint

Add API endpoint for currencies (#1433)

  • Add API endpoint for currencies

  • Prettify code for currency/trades endpoint

  • Prettify tests for currency/trades endpoint

  • Finish

  • Fix spec

  • Add one more spec of currency structure

  • Fix typo

  • Add documentation about added currency API

  • Fix

Added explorer_transaction and explorer_address to currency entities (closes #1664)

Added Swagger docs spec (#1612)

Added currency address format validation

Added Backport address validation via wallet client

Added new test in trades

Added validation to restrict display currency to be disabled (#1559)

  • Added validation to restrict display currency to be disabled

Added 24 hours currency trades API endpoint (#1368)

Adding Peatio Core

Adding geth backend

Allow to use currencies in both downcase & upcase in Member API (closes #1660) (#1661)

Allow users to have multiple deposit addresses (#1282)

Apigate integration

Integrate Ambassador gateway. Remove OAuth Authentication and Peatio session support New grape api organisation into account, market, public endpoints Remove CORS

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Louis Bellet <lbellet@openware.com>

Average 24h price using VWAP ratio. Minor Global & Market refactor

  • Calculate average 24 hours price using VWAP ratio
  • Move #avg_24h_price from Trade to Global
  • Update caching for #avg_h24_price and #h24_volume
  • Refactor Global #key
  • Use delegate instead of single-line method in Market
  • Add RedisTestHelper Rspec Helper
  • Global #avg_h24_price specs
  • Update Market delegation specs

closes #2001

Backport Inspect Address

Benchmark tasks for Matching TradeExecution and OrderProcessing (#2136)

  • Implement Matching bench
  • Implement TradeExecutor bench
  • Implement OrderProcessor bench
  • Implement Dummy & Bitfinex Order injecotrs
  • Add bench config templates
  • Add bitfinex injector data
  • Expose RabbitMQ management API admin panel
  • Implement Deposit & Member factories
  • Add simple RabbitMQHTTP client
  • Fix failures:trade_errors rake task
  • Temporary skip feature specs

Co-authored-by: shal <ashanaakh@heliostech.fr> Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>

Bump rack-attack from 5.2.0 to 5.4.1

Bumps rack-attack from 5.2.0 to 5.4.1.

Signed-off-by: dependabot[bot] <support@dependabot.com>

Change health checks request types for k8s (#2087)

Change liveness/readiness probes request types to GET from HEAD. Closes #2085.

Change http status for permitting actions

Change Currency Id Limit (#1526)

Change Default Domain To peatio.tech (#1450)

Changed address limits (#1701)

Code polish and minor bugfix (closes #1531) (#1529)

  • Fix Wallet duplication on each wallets:seed

  • Add missing encoding and frozen_string_litteral annotations

  • Remove comment

  • Refactor

  • Refactor html.erb

  • Remove unused code from Services and Clients

  • WalletService::Base refactor

  • Fix specs

  • Fix specs 2

  • [ci skip] Comment wallets and blockchains setting files

Compile assets in production mode (fixes #1695)

Confirmation can't be negative

Currencies dead code clean up (#1518)

  • Add Bitgo Wallet Id In Wallet

  • Remove Bitgo Wallet Address

  • Clean up dead code

  • Removed case_sensitive from currency

  • Added static case_sensitive value to blockchain clients

  • Add missing downcase to Deposit and Withdraw

  • Validate blockchain before Currency create

  • Fix rake seed:wallets

Delete unused daemon and move event_api.md to docs (#1702)

DesignFix (#1519)

Disable api call for creating new deposit address

Do not allow to disable last enabled market (closes #1548) (#1543)

  • Do Not Allow To Disable Last Currency And Market

  • Fix dependent disable && update currencies seed

Documentation clean up [skip ci] (#2011)

  • Remove doc/setup-{osx,ubuntu}.md
  • Deprecate workbench Applogic & Peatio-trading-ui

closes #2010

Drop spaces from admins list

Edit comments in templates for wallets.yml (#1533)

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Execute all block updates in single SQL transaction. Find withdrawals and deposits by txid only (closes #1549, closes #1568) (#1622)

Experimental Transfer table & Management API. Operations refactor

  • Add Transfers model
  • Add Transfers /new & specs
  • Add Entities::Transfer & specs
  • Replace Operations::Chart with Operations::Account
  • Implement chart of accounts seed file & rake task
  • Require account code on Operation create
  • Refactor Operations /new endpoints
  • Management::Helpers #create_operation!
  • Refactor Operations #credit! #debit!
  • Remove Operations::Liability #credit! #debit!
  • Allow null for Operations::Liability member_id
  • Add Revenue member_id (revenues source)
  • Add Operations::Account & Transfer factories
  • Update Revenues record specs
  • Create list of default accounts on each spec

closes #2024

Experimental peatio plugin system v2

Expose Trade market maker and don't expose null side

Expose ask_id & order_id in trade event of websocket api

Extend entities specs

Extract duplicated code to HasOneBlockchainThroughCurrency (closes #1593)

Fetch latest block transactions using getrawmempool for bitcoin-like blockchains (closes #1621) (#1649)

Fix user opportunity to create mirror market pairs (#2039)

  • Add validation for prevent user to create mirror market pairs;
  • Change market seed template (delete mirror pairs and change ask/bid_precision for pairs with fiat);

Fix the kline event json format was duplicate

Fix for_notify in pusher_market daemon

Fix specs for model Global

Fix dangerous migration

  • update :min_ask_price & :max_bid_price precision
  • change_column_null :markets, :max_bid_price
  • add_column :currencies, :position

Fix migration for currencies position and market entity

Fix markets seed file (#2009)

Fix private order update event (#2007)

Fix pool deposit issue

Fix Dockerfile

Fix problem when we publish message but Deposit doesn't exist in db

Fix swagger doc for APIv2 (closes #1605)

Fix typo in setup-osx.md documentation (#1492)

Fix typo (#1496)

Thanks @Atul9

Fix migration multiple_deposit_addresses (#1402)

fix bug on #1775

Fixed broken specs (#1620)

Fixed wallet secret not being saved from admin panel (#1552)

Fixed rake db:seed failure (#1541)

Fixed Broken market spec (#1407)

  • Fixed broken market spec

Get rid off grape_strip gem (#2116)

Handle ActiveRecord::RecordNotFound in member api_v2 remove method duplication (closes #1632)

Human Readable Time Stamps

Implement skimming deposit collection mechanism based on wallet max_balance (closes #1653) (#1735)

  • Added Wallet Service Specs

  • Implement skimming deposit collection mechanism for bitcoin

  • Implement skimming deposit collection mechanism for eth

  • Implement skimming deposit collection mechanism for ripple

  • Enumerize Wallet kind

  • Edit skiming mechanism for ripple wallet

  • Edit skiming mechanism for eth wallet

  • Use hash instead array for deposit collections

  • Update specs with new skiming mechanism and add specs for ripple

  • Add min_collection_amount method to currency

  • Move load_balance! request to blockchain service and add specs for wallet service

  • Add min_collection_amount column to currency and move spread deposit method to protected

Implement Fee wallet for deposit collection fees daemon and fix deposit fees recurrence

Improve pagination for /markets /public APIs

  • Add api-pagination gem for account/deposits, account/withdraws, market/orders, market/trades;
  • Rewrite unify params for market/orders and market/trades, accounts/deposits and account/withdraws;
  • Sort by desc for market/orders;
  • Rewrite side for Trade model;

Improve /account and /market APIs

Improve deposit collection fees daemon (#1925)

Improve deposit collection daemon and add ability to reject fiat deposit

Improved updation of blockchain height and update exception handling mechanism (#1534)

Include PublishToRabbitMQ GenerateJWT Event API middlewares by default (closes #1457) (#1458)

  • Include PublishToRabbitMQ GenerateJWT Event API middlewares by default

Income Statement (#1845) (#1849)

Informative message when POST /api/v2/orders with wrong volume

Integrate peatio-core Peatio::Auth::JWTAuthenticator to APIv2 (closes #1555)

Integrate Blockchain and Wallet model and services with new transaction processing and multi wallet support (#1404)

  • Blockchain model and Database seeding

  • Adding wallet seeding

  • Adding wallet model

  • Fix STI problem

  • Add missing associations

  • Fix indexes order

  • Adding factories and a test stub

  • BlockchainService #process_blockchain deposits with proof of work (#1417)

  • Added blockchain service

  • Ability to register a blockchain/wallet from Admin Panel (#1422)

  • Revert some changes (related to #1422)

  • Single BlockchainService per Blockchain (#1424)

  • Added Wallet/Blockchain validations (#1429)

  • Added Wallet/Blockchain validations

  • Confirm withdrawals in BlockchainService #process_blockchain (#1427)

  • Withdraw confirm new behavior

  • Refactor Services

  • Build transaction refactor

  • Fix wallets seed & update blockchain daemon

  • Use min_confirmations instead of withdraw & deposit

  • Get rid of deposit_confirmations

  • Withdraw process to confirming

  • Rebase on master

  • Bitcoin Blockchain Service (#1444)

  • Improve BlockchainService logger. Wallet & Blockchain bugfixes (#1474)

  • Add Blockchain Key In Currency (#1473)

  • Remove CoinAPI & daemons. Rename Client to BlockchainClient (#1476)

  • Remove CoinAPI & daemons

  • Remove CoinAPI & daemons 2

  • Rename Client to BlockchainClient

  • BlockchainService improve performance

  • Fix specs

  • Replace Confirmation With Block Number (#1463)

  • Add gateway & max_balance to wallets (#1478)

  • Wallet per currency

  • WalletService module and WalletService::Base class (#1479)

  • WalletService module and WalletService::Base class

  • WalletClient & WalletClient::Base

  • Added deposit coin address daemon (#1480)

  • Improvements in Deposit coin address daemon (#1482)

  • Geth deposit collectio (eth only)

  • Bitcoind deposit collection

  • ERC20 deposit_collection

  • Withdraw Coin Daemon (#1485)

  • Added withdrawal for ETH/ERC20

  • Added BTC withdraw via bitcoind

  • DepositCollectionFees worker for ERC20 (#1489)

  • DepositCollectionFees worker for ERC20 deposit collection

  • Fix Withdraw confirmation bug

  • Update doc & daemons.god

  • Fix specs

  • Litecoin/Dash/BitcoinCash Blockchain Services (#1475)

  • Added Litecoin/Dash/BitcoinCash Blockchain Services

  • Added Bitcoincash Service/Specs

  • rebased with feature/blockchains

  • rebased with feature/blockchains

  • rebased and updates

  • Added wallet client/service for litecoin/bitcoincash/dash

  • Updates for admin panel (#1501)

  • Use testnet explorer links for testnet blockchains

  • Fix coins explorer links removal

  • Fix erc20 deposit for tx with empty receipt (#1502)

  • Fix wrong client for existing blockchain on admin panel (#1504)

  • Bitgo wallet Client/Service (#1491)

  • Added Bitgo wallet client/service

  • Added dynamic txn estimate fee for deposit_collection daemon

  • Fixed withdraw stuck in confirming (#1507)

  • Improved dynamic txn fees for bitcoind/bitgo (#1509)

  • Feature/blockchains wallets (#1510)

  • Confirm withdrawals in BlockchainService #process_blockchain (#1427)

  • Withdraw confirm new behavior

  • Refactor Services

  • Build transaction refactor

  • Fix wallets seed & update blockchain daemon

  • Use min_confirmations instead of withdraw & deposit

  • Get rid of deposit_confirmations

  • Withdraw process to confirming

  • Admin Panel Modification

  • Added ability to disable currencies, markets and wallets

  • Fix gateway form

  • Wallet Model Changes And Spec Fixes

  • Add Missing File

  • Wallet Service Changes

  • Fixed icons and renamed fields on Market New and Show pages (#1515)

  • Upgrading peatio core

K line daemon & API fix & specs improvement

List liability with specs

List assets,revenues,expenses with specs

Load balance from hot wallet before make quick withdraw (#1935)

Managemetn API for creating asset, revenue, expense and libility with specs

Migrate to Ambassador 0.50.0 & peatio 0.4.5. Update Ranger WS API

Move health probes to Grape API v2 (closes #2066) (#2071)

Move versions to Peatio::Application. Remove lib/peatio (closes #1619) (#1636)

Parity Blockchain/Wallet clients/services implementation (#1933)

Co-authored-by: Ohill <ybondur@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>"

Performance optimization for trade executor

Public version API endpoint

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

rake yarn install now prints the stdout response (#1690)

Ranger integration (#1686)

  • Ranger Integration With Trading-UI
  • Add some vars to gon for Ranger
  • Delete uneeded variable

Release 2-0-stable

Release script updated

Release Notes for Peatio 1.9 (#1557)

Remove ActionDispatch Session. Disable CSRF

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1856)

Remove all n+1 queries

Remove warning from event api initializer (#1755)

Remove peatio-trading-ui and dependencies from CI

Remove websocket and stuff

Remove Features Specs

Remove auditing system (you have to use Event API to do audits now) (#1391)

Remove solvency feature (#1390)

Removed unwanted options in currency model and seed file (closes #1611) (#1618)

Removed webhook controller and dependencies

Removing Chromium from Dockerfile

Rename entities fields (#2070)

  • return in API entities and websocket api order volume as remaining_volume;
  • remove alias for origin_volume;
  • expose taker_type in trade entities;

replace PusherMarket and PusherMember with Peatio::MQ::Events

Repository clean up. Minor doc updates (closes #1637, closes #1523)

Return Error if invalid from and to params

Revert Travis CI & Drop Drone CI (#2081)

  • Move Drone CI docker build step to tag trigger

  • Backport Travis CI for running specs

  • Backport Travis CI

  • Drop Drone CI

Rework Peatio accounting using double entry accounting system (#1777)

Add Operation Base model and tables

Add Operations::Asset,Liability,Revenue,Expense Add Operations::Chart which define class of items for which money spent or received Record Asset, Liability and Revenue operations on Deposit accept Record Liability transfer on Order create Record Liability transfer on Order cancel Record Liability transfer and Revenue creation on Trade create Deprecate legacy funds plus lock unlock and subtract funds Add Admin rubric for tracking Operations and Balance sheet Add Admin with Balance sheet

Rewrite get_depth to fetch data from db (#1894)

Rewrite api entities for docs. Split user and management api (#1958)

Rewrite quick withdraw limit mechanism, add 24h and 72h withdraw limits (#1817)

Send label when generating BitGo address. (#1318)

Sort orders by updated_at column (#2061)

  • Orders by updated_at instead of id in API::V2::Market::Orders
  • Add index_trade_on_created_at and index_orders_on_updated_at
  • Expose order updated_at
  • Update /api/v2/market/orders specs

closes #2060

Spec Changes

Spec changes

Specs for account/balances and code polishing

Speed up RSpec test (closes #1932) (#2044)

  • Speed up RSpec test (closes #1932)

Starting development v1.9.0-alpha

Store Currency options as JSON and define accessors

Support Cash Address format

Switch from Travis to Drone CI

  • Drop outdated documentation docs/ops/ci.md.
  • Drop Travis configuration file .drone.yml.
  • Replace old rake task release:travis to new one release:drone.
  • Add Drone pipeline:
    • Install dependencies.
    • Cache gems between CI builds.
    • Run RSpec tests.
    • Semver bump and push json/markdown docs.
    • Build docker image with following tags: latest,&lt;branch&gt;,&lt;tag&gt;.
    • Cache docker image between CI builds (Speed up docker build step).

Co-authored-by: Ali Shanaakh ashanaakh[@heliostech](https://github.com/heliostech).fr Co-authored-by: Yaroslav Savchuk ysavchuk[@heliostech](https://github.com/heliostech).fr

Unify API errors structure and messages (#2053)

  • Unify API errors for api/v2/market/* (#2058)

  • Unify API errors for api/v2/account/ and api/v2/public/ (#2063)

  • Add errors.md with list of Member API errors (#2080)

  • Move all REST API errors to single structure {errors: []}
  • Detailed description for order & withdraw POST failures
  • Add missing values validations
  • Add missing allow_blank validations
  • Add custom errors message for:
    • values validations
    • types validations
    • allow_blank validations
    • presence validations
    • custom validations
  • Add errors.md with errors list & description
  • Remove DB queries from desc
  • Remove API::V2::Error and descendants
  • Update ExceptionHandlers
  • Move NamedParams to /market
  • Add Order::InsufficientMarketLiquidity
  • include_api_error rspec matcher

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Ali Shanaakh <ashanaakh@heliostech.fr>

Update updated_at on trade executor (closes #2069) (#2078)

Update specs & Minore spec refactor

Update package-lock.json

Update comment and values in currencies.yml. Final code refactor

Update bump script to support rc in tag

Update docs about authenticating in management api

Update ffi to 1.9.25 (#1393)

Update sprockets gem (#1386)

Updated websocket api doc

Updated specs

Updated xit Specs (#1542)

Updating Ruby and Gems

Adding gem rubocop-rspec Correcting factories syntax

Updating Travis

Updating travis credentials (#1572)

Updating CHANGELOG for 2018

Updating patch level for gems (#1512)

  • Updating patch level for gems

  • Updating mini_racer

  • Changing sass to sassc

  • Fixed middleware specs failure due to gem update (#1513)

upgrade peatio to 0.4.0

use local seeds

Problem: workbench has old seeds config files Solution: use local seeds

Use strict variant of save in Member#from_payload (#2088)

Various fixes in docs (#1672)

  • Various fixes in docs

  • Update README.me

Withdrawals show transaction id (#1411)

  • Withdrawals show transaction id

  • Convert txid to link

Pull Requests

Merge pull request #1989 from mnaichuk/new-market-api

Merge pull request #1966 from mnaichuk/2-0-add-cors

#Version 1.8.89

Released 2019-03-27

Add min withdraw amount for currencies

Add opportunity to define minimum amount for trade

Add Peatio plugin system v2

Add get_depth_from_db to slave_book

Add docs about performance

Add missing API call for getting member accounts (related to #919)

Add API endpoint for currencies (#1433) (#1462)

  • Add API endpoint for currencies (#1433)
  • Add one more spec of currency structure
  • Add documentation about added currency API

Added transaction_url_template and wallet_url_template to currency entities (closes #1664)

Added 24 hours currency trades API endpoint (#1368) (#1420)

  • Added 24 hours currency trades API endpoint (#1368)
  • Fixed broken market spec

Benchmark tasks for Matching TradeExecution and OrderProcessing (#2106)

  • Implement Matching bench
  • Implement TradeExecutor bench
  • Implement OrderProcessor bench
  • Implement Dummy & Bitfinex Order injecotrs
  • Add bench config templates
  • Add bitfinex injector data
  • Expose RabbitMQ management API admin panel
  • Implement Deposit & Member factories
  • Add simple RabbitMQHTTP client
  • Fix failures:trade_errors rake task
  • Temporary skip feature specs

Co-authored-by: shal <ashanaakh@heliostech.fr> Co-authored-by: ysv <ysavchuk@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>

Change Currency Id Limit (#1527)

Change Default Domain To peatio.tech (#1454)

Do Not Allow To Disable Last Currency And Market (#1550)

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Expose Trade market maker and don't expose null side

Expose ask_id & order_id in trade event of websocket api

Fix BitGo Wallet Transactions Query Parameter Incorrect (#1561)

Freeze bundler version in 1.16.6

Include PublishToRabbitMQ GenerateJWT Event API middlewares by default (#1459)

  • Include PublishToRabbitMQ GenerateJWT Event API middlewares by default

Informative message when POST /api/v2/orders with wrong volume

K line daemon & API fix & specs improvement (related to #1689, #1697) (#1696)

  • K-line API fix & specs imporvement (related to #1689)

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL

rename the spec file

Return 200 on successful pusher/auth

Trigger limit order update events

Update ruby version to 2.5.3. Bump mini_racer to 0.2.4 (#1855)

#Version 2.1.9

Released 2019-03-26

Add ability to cancel all orders for specific market (#2125)

Avoid message in controllers by overriding Grape::AllowBlankValidator (#2094)

#Version 2.1.8

Released 2019-03-26

Remove peatio.tech brand from admin panel (#2072)

#Version 2.1.7

Released 2019-03-18

Ability to change VAULT_TOKEN (#2086)

Ability to set custom gas_limit & gas_price per currency.

Ability to use null reference for operation

Account Withdraw API With OTP

  • Add POST /api/v2/account/withdraws
  • Integrate Vault to travis & compose
  • Integrate Vault::TOTP client
  • Add ENABLE_ACCOUNT_WITHDRAWAL_API, VAULT_URL & VAULT_TOKEN envs

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Dinesh Chohda <dinesh.skyach@gmail.com>

Add PR trigger to Drone CI (#2062)

Add close, avg_price & price_change_percent to WS & REST API (#2000)

  • Add close, avg_price & price_change_percent
  • Update WS API doc
  • Move & refactor Market #change_ratio to Global
  • Add ticker specs

closes #1991

Add Peatio UI removal alert

Add swagger.json in prettyjson format (#1984)

Add CONTRIBUTING guide [skip ci]

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add automatic docs generation for v2

Add Currency Name

Add missing deposit "skipped" translation (#1926)

Add opportunity to define minimum amount for trade

Add missing method

Apigate integration

Integrate Ambassador gateway. Remove OAuth Authentication and Peatio session support New grape api organisation into account, market, public endpoints Remove CORS

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Louis Bellet <lbellet@openware.com>

Average 24h price using VWAP ratio. Minor Global & Market refactor

  • Calculate average 24 hours price using VWAP ratio
  • Move #avg_24h_price from Trade to Global
  • Update caching for #avg_h24_price and #h24_volume
  • Refactor Global #key
  • Use delegate instead of single-line method in Market
  • Add RedisTestHelper Rspec Helper
  • Global #avg_h24_price specs
  • Update Market delegation specs

closes #2001

Change health checks request types for k8s (#2087)

Change liveness/readiness probes request types to GET from HEAD. Closes #2085.

Change http status for permitting actions

Documentation clean up [skip ci] (#2011)

  • Remove doc/setup-{osx,ubuntu}.md
  • Deprecate workbench Applogic & Peatio-trading-ui

closes #2010

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Experimental Transfer table & Management API. Operations refactor

  • Add Transfers model
  • Add Transfers /new & specs
  • Add Entities::Transfer & specs
  • Replace Operations::Chart with Operations::Account
  • Implement chart of accounts seed file & rake task
  • Require account code on Operation create
  • Refactor Operations /new endpoints
  • Management::Helpers #create_operation!
  • Refactor Operations #credit! #debit!
  • Remove Operations::Liability #credit! #debit!
  • Allow null for Operations::Liability member_id
  • Add Revenue member_id (revenues source)
  • Add Operations::Account & Transfer factories
  • Update Revenues record specs
  • Create list of default accounts on each spec

closes #2024

Expose Trade market maker and don't expose null side

Extend entities specs

Fix user opportunity to create mirror market pairs (#2039)

  • Add validation for prevent user to create mirror market pairs;
  • Change market seed template (delete mirror pairs and change ask/bid_precision for pairs with fiat);

Fix the kline event json format was duplicate

Fix for_notify in pusher_market daemon

Fix specs for model Global

Fix dangerous migration

  • update :min_ask_price & :max_bid_price precision
  • change_column_null :markets, :max_bid_price
  • add_column :currencies, :position

Fix migration for currencies position and market entity

Fix markets seed file (#2009)

Fix private order update event (#2007)

Improve pagination for /markets /public APIs

  • Add api-pagination gem for account/deposits, account/withdraws, market/orders, market/trades;
  • Rewrite unify params for market/orders and market/trades, accounts/deposits and account/withdraws;
  • Sort by desc for market/orders;
  • Rewrite side for Trade model;

Improve /account and /market APIs

Improve deposit collection fees daemon (#1925)

Improve deposit collection daemon and add ability to reject fiat deposit

Income Statement (#1845) (#1849)

List liability with specs

List assets,revenues,expenses with specs

Load balance from hot wallet before make quick withdraw (#1935)

Managemetn API for creating asset, revenue, expense and libility with specs

Migrate to Ambassador 0.50.0 & peatio 0.4.5. Update Ranger WS API

Move health probes to Grape API v2 (closes #2066) (#2071)

Parity Blockchain/Wallet clients/services implementation (#1933)

Co-authored-by: Ohill <ybondur@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>"

Performance optimization for trade executor

Public version API endpoint

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

Release script updated

Remove gem grape_strip

Remove plugin API v1 (closes #2076) (#2090)

Remove deprecated fees API (closes #2077) (#2091)

Remove legacy member UI (#2051)

  • Remove yarn;
  • Remove Gems (rails-i18n, gon, angularjs-rails);
  • Remove /assets for funds page;
  • Remove application_controller methods related to funds page;
  • Remove /private and /concern controllers;
  • Remove application_helpers methods related to funds page;
  • Rewrite links and notices for deposits and withdraws in admin panel;
  • Remove private views and templates;
  • Remove config/locales;
  • Clean routes.rb and application.yml.erb;

Co-authored-by: dinesh-skyach <dinesh.skyach@gmail.com> Co-authored-by: ritesh-skyach <ritesh.skyach@gmail.com> Co-authored-by: ysv <ysavchuk@heliostech.fr>

Remove ActionDispatch Session. Disable CSRF

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1856)

Rename entities fields (#2070)

  • return in API entities and websocket api order volume as remaining_volume;
  • remove alias for origin_volume;
  • expose taker_type in trade entities;

Revert Travis CI & Drop Drone CI (#2081)

  • Move Drone CI docker build step to tag trigger

  • Backport Travis CI for running specs

  • Backport Travis CI

  • Drop Drone CI

Rework Peatio accounting using double entry accounting system (#1777)

Add Operation Base model and tables

Add Operations::Asset,Liability,Revenue,Expense Add Operations::Chart which define class of items for which money spent or received Record Asset, Liability and Revenue operations on Deposit accept Record Liability transfer on Order create Record Liability transfer on Order cancel Record Liability transfer and Revenue creation on Trade create Deprecate legacy funds plus lock unlock and subtract funds Add Admin rubric for tracking Operations and Balance sheet Add Admin with Balance sheet

Rewrite get_depth to fetch data from db (#1894)

Rewrite api entities for docs. Split user and management api (#1958)

Sort orders by updated_at column (#2061)

  • Orders by updated_at instead of id in API::V2::Market::Orders
  • Add index_trade_on_created_at and index_orders_on_updated_at
  • Expose order updated_at
  • Update /api/v2/market/orders specs

closes #2060

Specs for account/balances and code polishing

Speed up RSpec test (closes #1932) (#2044)

  • Speed up RSpec test (closes #1932)

Start 2.1.0 development 💫

Store Currency options as JSON and define accessors

Switch from Travis to Drone CI

  • Drop outdated documentation docs/ops/ci.md.
  • Drop Travis configuration file .drone.yml.
  • Replace old rake task release:travis to new one release:drone.
  • Add Drone pipeline:
    • Install dependencies.
    • Cache gems between CI builds.
    • Run RSpec tests.
    • Semver bump and push json/markdown docs.
    • Build docker image with following tags: latest,&lt;branch&gt;,&lt;tag&gt;.
    • Cache docker image between CI builds (Speed up docker build step).

Co-authored-by: Ali Shanaakh ashanaakh[@heliostech](https://github.com/heliostech).fr Co-authored-by: Yaroslav Savchuk ysavchuk[@heliostech](https://github.com/heliostech).fr

Unify trade taker_type with Ranger and api (#2121)

Unify API errors structure and messages (#2053)

  • Unify API errors for api/v2/market/* (#2058)

  • Unify API errors for api/v2/account/ and api/v2/public/ (#2063)

  • Add errors.md with list of Member API errors (#2080)

  • Move all REST API errors to single structure {errors: []}
  • Detailed description for order & withdraw POST failures
  • Add missing values validations
  • Add missing allow_blank validations
  • Add custom errors message for:
    • values validations
    • types validations
    • allow_blank validations
    • presence validations
    • custom validations
  • Add errors.md with errors list & description
  • Remove DB queries from desc
  • Remove API::V2::Error and descendants
  • Update ExceptionHandlers
  • Move NamedParams to /market
  • Add Order::InsufficientMarketLiquidity
  • include_api_error rspec matcher

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Ali Shanaakh <ashanaakh@heliostech.fr>

Update gem Boostrap scssc for CVE-2019-8331

Update application.yml.erb (#2098)

#2038 endpoint api/v2/members/me dosen't exists any more

Update README.md (#2092)

Update to use rubykube peatio git repo (#2093)

Update updated_at on trade executor (closes #2069) (#2078)

Update specs & Minore spec refactor

use local seeds

Problem: workbench has old seeds config files Solution: use local seeds

Use strict variant of save in Member#from_payload (#2088)

Pull Requests

Merge pull request #1989 from mnaichuk/new-market-api

Merge pull request #1966 from mnaichuk/2-0-add-cors

#Version 1.9.21

Released 2019-03-08

Ability to set custom gas_limit & gas_price per currency.

Add close, avg_price & price_change_percent to WS & REST API

  • Add close, avg_price & price_change_percent
  • Update WS API doc
  • Move & refactor Market #change_ratio to Global
  • Add ticker specs

closes #1991

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add Currency Name (#1944)

Add opportunity to define minimum amount for trade

Add missing method

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Expose Trade market maker and don't expose null side

Fixed Market Type should not appear on Trading-ui

Fixed member private event when order updated

Freeze bundler version in 1.17.1

Improve deposit collection daemon and add ability to reject fiat deposit

Load balance from hot wallet before make quick withdraw (#1934)

Massive gem updates

On successful trade trigger ranger private order event

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

Rails security update

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1857)

Revert "Add grape_strip to resolve whitespace in input params" (#2117)

This reverts commit 44a653a10901090811e88067b4d1f3f72f597cb5.

Rewrite get_depth to fetch data from db

Store Currency options as JSON and define accessors v1.9

Update setup-ubuntu.md (#2043)

Updating api docs

#Version 2.0.34

Released 2019-03-08

Get rid off grape_strip gem (#2116)

Release 2-0-stable

#Version 2.1.6

Released 2019-03-08

Remove gem grape_strip

Update gem Boostrap scssc for CVE-2019-8331

#Version 2.1.5

Released 2019-03-04

Remove plugin API v1 (closes #2076) (#2090)

Update application.yml.erb (#2098)

#2038 endpoint api/v2/members/me dosen't exists any more

#Version 2.1.4

Released 2019-02-26

Remove deprecated fees API (closes #2077) (#2091)

Update README.md (#2092)

#Version 2.1.3

Released 2019-02-25

Update to use rubykube peatio git repo (#2093)

#Version 2.1.2-alpha

Released 2019-02-23

Remove legacy member UI (#2051)

  • Remove yarn;
  • Remove Gems (rails-i18n, gon, angularjs-rails);
  • Remove /assets for funds page;
  • Remove application_controller methods related to funds page;
  • Remove /private and /concern controllers;
  • Remove application_helpers methods related to funds page;
  • Rewrite links and notices for deposits and withdraws in admin panel;
  • Remove private views and templates;
  • Remove config/locales;
  • Clean routes.rb and application.yml.erb;

Co-authored-by: dinesh-skyach <dinesh.skyach@gmail.com> Co-authored-by: ritesh-skyach <ritesh.skyach@gmail.com> Co-authored-by: ysv <ysavchuk@heliostech.fr>

#Version 2.1.1-alpha

Released 2019-02-22

Start 2.1.0 development 💫

#Version 2.0.33

Released 2019-02-22

Release 2-0-stable

#Version 2.0.32

Released 2019-02-21

Use strict variant of save in Member#from_payload (#2088)

#Version 2.0.32-alpha

Released 2019-02-21

Ability to change VAULT_TOKEN (#2086)

#Version 2.0.31-alpha

Released 2019-02-21

Change health checks request types for k8s (#2087)

Change liveness/readiness probes request types to GET from HEAD. Closes #2085.

#Version 2.0.30-alpha

Released 2019-02-20

Parity Blockchain/Wallet clients/services implementation (#1933)

Co-authored-by: Ohill <ybondur@heliostech.fr> Co-authored-by: mnaichuk <mnaichuk@heliostech.fr>"

Unify API errors structure and messages (#2053)

  • Unify API errors for api/v2/market/* (#2058)

  • Unify API errors for api/v2/account/ and api/v2/public/ (#2063)

  • Add errors.md with list of Member API errors (#2080)

  • Move all REST API errors to single structure {errors: []}
  • Detailed description for order & withdraw POST failures
  • Add missing values validations
  • Add missing allow_blank validations
  • Add custom errors message for:
    • values validations
    • types validations
    • allow_blank validations
    • presence validations
    • custom validations
  • Add errors.md with errors list & description
  • Remove DB queries from desc
  • Remove API::V2::Error and descendants
  • Update ExceptionHandlers
  • Move NamedParams to /market
  • Add Order::InsufficientMarketLiquidity
  • include_api_error rspec matcher

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Ali Shanaakh <ashanaakh@heliostech.fr>

#Version 2.0.29-alpha

Released 2019-02-20

Revert Travis CI & Drop Drone CI (#2081)

  • Move Drone CI docker build step to tag trigger

  • Backport Travis CI for running specs

  • Backport Travis CI

  • Drop Drone CI

#Version 2.0.28-alpha

Released 2019-02-20

Update updated_at on trade executor (closes #2069) (#2078)

#Version 2.0.27-alpha

Released 2019-02-18

Fix user opportunity to create mirror market pairs (#2039)

  • Add validation for prevent user to create mirror market pairs;
  • Change market seed template (delete mirror pairs and change ask/bid_precision for pairs with fiat);

#Version 2.0.26-alpha

Released 2019-02-18

Rename entities fields (#2070)

  • return in API entities and websocket api order volume as remaining_volume;
  • remove alias for origin_volume;
  • expose taker_type in trade entities;

Sort orders by updated_at column (#2061)

  • Orders by updated_at instead of id in API::V2::Market::Orders
  • Add index_trade_on_created_at and index_orders_on_updated_at
  • Expose order updated_at
  • Update /api/v2/market/orders specs

closes #2060

#Version 2.0.25-alpha

Released 2019-02-15

Ability to set custom gas_limit & gas_price per currency.

Ability to use null reference for operation

Account Withdraw API With OTP

  • Add POST /api/v2/account/withdraws
  • Integrate Vault to travis & compose
  • Integrate Vault::TOTP client
  • Add ENABLE_ACCOUNT_WITHDRAWAL_API, VAULT_URL & VAULT_TOKEN envs

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Dinesh Chohda <dinesh.skyach@gmail.com>

Add PR trigger to Drone CI (#2062)

Add close, avg_price & price_change_percent to WS & REST API (#2000)

  • Add close, avg_price & price_change_percent
  • Update WS API doc
  • Move & refactor Market #change_ratio to Global
  • Add ticker specs

closes #1991

Add Peatio UI removal alert

Add swagger.json in prettyjson format (#1984)

Add CONTRIBUTING guide [skip ci]

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add automatic docs generation for v2

Add Currency Name

Add missing deposit "skipped" translation (#1926)

Add opportunity to define minimum amount for trade

Add missing method

Apigate integration

Integrate Ambassador gateway. Remove OAuth Authentication and Peatio session support New grape api organisation into account, market, public endpoints Remove CORS

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Louis Bellet <lbellet@openware.com>

Average 24h price using VWAP ratio. Minor Global & Market refactor

  • Calculate average 24 hours price using VWAP ratio
  • Move #avg_24h_price from Trade to Global
  • Update caching for #avg_h24_price and #h24_volume
  • Refactor Global #key
  • Use delegate instead of single-line method in Market
  • Add RedisTestHelper Rspec Helper
  • Global #avg_h24_price specs
  • Update Market delegation specs

closes #2001

Change http status for permitting actions

Documentation clean up [skip ci] (#2011)

  • Remove doc/setup-{osx,ubuntu}.md
  • Deprecate workbench Applogic & Peatio-trading-ui

closes #2010

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Experimental Transfer table & Management API. Operations refactor

  • Add Transfers model
  • Add Transfers /new & specs
  • Add Entities::Transfer & specs
  • Replace Operations::Chart with Operations::Account
  • Implement chart of accounts seed file & rake task
  • Require account code on Operation create
  • Refactor Operations /new endpoints
  • Management::Helpers #create_operation!
  • Refactor Operations #credit! #debit!
  • Remove Operations::Liability #credit! #debit!
  • Allow null for Operations::Liability member_id
  • Add Revenue member_id (revenues source)
  • Add Operations::Account & Transfer factories
  • Update Revenues record specs
  • Create list of default accounts on each spec

closes #2024

Expose Trade market maker and don't expose null side

Extend entities specs

Fix the kline event json format was duplicate

Fix for_notify in pusher_market daemon

Fix specs for model Global

Fix dangerous migration

  • update :min_ask_price & :max_bid_price precision
  • change_column_null :markets, :max_bid_price
  • add_column :currencies, :position

Fix migration for currencies position and market entity

Fix markets seed file (#2009)

Fix private order update event (#2007)

Improve pagination for /markets /public APIs

  • Add api-pagination gem for account/deposits, account/withdraws, market/orders, market/trades;
  • Rewrite unify params for market/orders and market/trades, accounts/deposits and account/withdraws;
  • Sort by desc for market/orders;
  • Rewrite side for Trade model;

Improve /account and /market APIs

Improve deposit collection fees daemon (#1925)

Improve deposit collection daemon and add ability to reject fiat deposit

Income Statement (#1845) (#1849)

List liability with specs

List assets,revenues,expenses with specs

Load balance from hot wallet before make quick withdraw (#1935)

Managemetn API for creating asset, revenue, expense and libility with specs

Migrate to Ambassador 0.50.0 & peatio 0.4.5. Update Ranger WS API

Move health probes to Grape API v2 (closes #2066) (#2071)

Performance optimization for trade executor

Public version API endpoint

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

Release script updated

Remove ActionDispatch Session. Disable CSRF

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1856)

Rework Peatio accounting using double entry accounting system (#1777)

Add Operation Base model and tables

Add Operations::Asset,Liability,Revenue,Expense Add Operations::Chart which define class of items for which money spent or received Record Asset, Liability and Revenue operations on Deposit accept Record Liability transfer on Order create Record Liability transfer on Order cancel Record Liability transfer and Revenue creation on Trade create Deprecate legacy funds plus lock unlock and subtract funds Add Admin rubric for tracking Operations and Balance sheet Add Admin with Balance sheet

Rewrite get_depth to fetch data from db (#1894)

Rewrite api entities for docs. Split user and management api (#1958)

Specs for account/balances and code polishing

Speed up RSpec test (closes #1932) (#2044)

  • Speed up RSpec test (closes #1932)

Store Currency options as JSON and define accessors

Switch from Travis to Drone CI

  • Drop outdated documentation docs/ops/ci.md.
  • Drop Travis configuration file .drone.yml.
  • Replace old rake task release:travis to new one release:drone.
  • Add Drone pipeline:
    • Install dependencies.
    • Cache gems between CI builds.
    • Run RSpec tests.
    • Semver bump and push json/markdown docs.
    • Build docker image with following tags: latest,&lt;branch&gt;,&lt;tag&gt;.
    • Cache docker image between CI builds (Speed up docker build step).

Co-authored-by: Ali Shanaakh ashanaakh[@heliostech](https://github.com/heliostech).fr Co-authored-by: Yaroslav Savchuk ysavchuk[@heliostech](https://github.com/heliostech).fr

Update specs & Minore spec refactor

use local seeds

Problem: workbench has old seeds config files Solution: use local seeds

Pull Requests

Merge pull request #1989 from mnaichuk/new-market-api

Merge pull request #1966 from mnaichuk/2-0-add-cors

#Version 1.9.20

Released 2019-02-15

Ability to set custom gas_limit & gas_price per currency.

Add close, avg_price & price_change_percent to WS & REST API

  • Add close, avg_price & price_change_percent
  • Update WS API doc
  • Move & refactor Market #change_ratio to Global
  • Add ticker specs

closes #1991

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add Currency Name (#1944)

Add opportunity to define minimum amount for trade

Add missing method

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Expose Trade market maker and don't expose null side

Fixed Market Type should not appear on Trading-ui

Fixed member private event when order updated

Freeze bundler version in 1.17.1

Improve deposit collection daemon and add ability to reject fiat deposit

Load balance from hot wallet before make quick withdraw (#1934)

Massive gem updates

On successful trade trigger ranger private order event

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

Rails security update

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1857)

Rewrite get_depth to fetch data from db

Store Currency options as JSON and define accessors v1.9

Update setup-ubuntu.md (#2043)

Updating api docs

#Version 2.0.24-alpha

Released 2019-02-13

Fix the kline event json format was duplicate

Switch from Travis to Drone CI

  • Drop outdated documentation docs/ops/ci.md.
  • Drop Travis configuration file .drone.yml.
  • Replace old rake task release:travis to new one release:drone.
  • Add Drone pipeline:
    • Install dependencies.
    • Cache gems between CI builds.
    • Run RSpec tests.
    • Semver bump and push json/markdown docs.
    • Build docker image with following tags: latest,&lt;branch&gt;,&lt;tag&gt;.
    • Cache docker image between CI builds (Speed up docker build step).

Co-authored-by: Ali Shanaakh ashanaakh[@heliostech](https://github.com/heliostech).fr Co-authored-by: Yaroslav Savchuk ysavchuk[@heliostech](https://github.com/heliostech).fr

#Version 2.0.23-alpha

Released 2019-02-09

Performance optimization for trade executor

#Version 2.0.22-alpha

Released 2019-02-09

Fix for_notify in pusher_market daemon

#Version 2.0.21-alpha

Released 2019-02-07

Ability to set custom gas_limit & gas_price per currency.

Ability to use null reference for operation

Account Withdraw API With OTP

  • Add POST /api/v2/account/withdraws
  • Integrate Vault to travis & compose
  • Integrate Vault::TOTP client
  • Add ENABLE_ACCOUNT_WITHDRAWAL_API, VAULT_URL & VAULT_TOKEN envs

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Dinesh Chohda <dinesh.skyach@gmail.com>

Add close, avg_price & price_change_percent to WS & REST API (#2000)

  • Add close, avg_price & price_change_percent
  • Update WS API doc
  • Move & refactor Market #change_ratio to Global
  • Add ticker specs

closes #1991

Add Peatio UI removal alert

Add swagger.json in prettyjson format (#1984)

Add CONTRIBUTING guide [skip ci]

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add automatic docs generation for v2

Add Currency Name

Add missing deposit "skipped" translation (#1926)

Add opportunity to define minimum amount for trade

Add missing method

Apigate integration

Integrate Ambassador gateway. Remove OAuth Authentication and Peatio session support New grape api organisation into account, market, public endpoints Remove CORS

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Louis Bellet <lbellet@openware.com>

Average 24h price using VWAP ratio. Minor Global & Market refactor

  • Calculate average 24 hours price using VWAP ratio
  • Move #avg_24h_price from Trade to Global
  • Update caching for #avg_h24_price and #h24_volume
  • Refactor Global #key
  • Use delegate instead of single-line method in Market
  • Add RedisTestHelper Rspec Helper
  • Global #avg_h24_price specs
  • Update Market delegation specs

closes #2001

Change http status for permitting actions

Documentation clean up [skip ci] (#2011)

  • Remove doc/setup-{osx,ubuntu}.md
  • Deprecate workbench Applogic & Peatio-trading-ui

closes #2010

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Experimental Transfer table & Management API. Operations refactor

  • Add Transfers model
  • Add Transfers /new & specs
  • Add Entities::Transfer & specs
  • Replace Operations::Chart with Operations::Account
  • Implement chart of accounts seed file & rake task
  • Require account code on Operation create
  • Refactor Operations /new endpoints
  • Management::Helpers #create_operation!
  • Refactor Operations #credit! #debit!
  • Remove Operations::Liability #credit! #debit!
  • Allow null for Operations::Liability member_id
  • Add Revenue member_id (revenues source)
  • Add Operations::Account & Transfer factories
  • Update Revenues record specs
  • Create list of default accounts on each spec

closes #2024

Expose Trade market maker and don't expose null side

Extend entities specs

Fix specs for model Global

Fix dangerous migration

  • update :min_ask_price & :max_bid_price precision
  • change_column_null :markets, :max_bid_price
  • add_column :currencies, :position

Fix migration for currencies position and market entity

Fix markets seed file (#2009)

Fix private order update event (#2007)

Improve pagination for /markets /public APIs

  • Add api-pagination gem for account/deposits, account/withdraws, market/orders, market/trades;
  • Rewrite unify params for market/orders and market/trades, accounts/deposits and account/withdraws;
  • Sort by desc for market/orders;
  • Rewrite side for Trade model;

Improve /account and /market APIs

Improve deposit collection fees daemon (#1925)

Improve deposit collection daemon and add ability to reject fiat deposit

Income Statement (#1845) (#1849)

List liability with specs

List assets,revenues,expenses with specs

Load balance from hot wallet before make quick withdraw (#1935)

Managemetn API for creating asset, revenue, expense and libility with specs

Migrate to Ambassador 0.50.0 & peatio 0.4.5. Update Ranger WS API

Public version API endpoint

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

Release script updated

Remove ActionDispatch Session. Disable CSRF

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1856)

Rework Peatio accounting using double entry accounting system (#1777)

Add Operation Base model and tables

Add Operations::Asset,Liability,Revenue,Expense Add Operations::Chart which define class of items for which money spent or received Record Asset, Liability and Revenue operations on Deposit accept Record Liability transfer on Order create Record Liability transfer on Order cancel Record Liability transfer and Revenue creation on Trade create Deprecate legacy funds plus lock unlock and subtract funds Add Admin rubric for tracking Operations and Balance sheet Add Admin with Balance sheet

Rewrite get_depth to fetch data from db (#1894)

Rewrite api entities for docs. Split user and management api (#1958)

Specs for account/balances and code polishing

Store Currency options as JSON and define accessors

Update specs & Minore spec refactor

use local seeds

Problem: workbench has old seeds config files Solution: use local seeds

Pull Requests

Merge pull request #1989 from mnaichuk/new-market-api

Merge pull request #1966 from mnaichuk/2-0-add-cors

#Version 1.9.19

Released 2019-01-29

Ability to set custom gas_limit & gas_price per currency.

Add close, avg_price & price_change_percent to WS & REST API

  • Add close, avg_price & price_change_percent
  • Update WS API doc
  • Move & refactor Market #change_ratio to Global
  • Add ticker specs

closes #1991

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add Currency Name (#1944)

Add opportunity to define minimum amount for trade

Add missing method

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Expose Trade market maker and don't expose null side

Fixed Market Type should not appear on Trading-ui

Fixed member private event when order updated

Freeze bundler version in 1.17.1

Improve deposit collection daemon and add ability to reject fiat deposit

Load balance from hot wallet before make quick withdraw (#1934)

Massive gem updates

On successful trade trigger ranger private order event

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

Rails security update

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1857)

Rewrite get_depth to fetch data from db

Store Currency options as JSON and define accessors v1.9

Updating api docs

#Version 2.0.20-alpha

Released 2019-01-26

Migrate to Ambassador 0.50.0 & peatio 0.4.5. Update Ranger WS API

#Version 2.0.19-alpha

Released 2019-01-23

Fix dangerous migration

  • update :min_ask_price & :max_bid_price precision
  • change_column_null :markets, :max_bid_price
  • add_column :currencies, :position

#Version 2.0.18-alpha

Released 2019-01-22

Add close, avg_price & price_change_percent to WS & REST API (#2000)

  • Add close, avg_price & price_change_percent
  • Update WS API doc
  • Move & refactor Market #change_ratio to Global
  • Add ticker specs

closes #1991

Documentation clean up [skip ci] (#2011)

  • Remove doc/setup-{osx,ubuntu}.md
  • Deprecate workbench Applogic & Peatio-trading-ui

closes #2010

Fix migration for currencies position and market entity

Fix markets seed file (#2009)

Fix private order update event (#2007)

Improve deposit collection fees daemon (#1925)

Rewrite get_depth to fetch data from db (#1894)

Pull Requests

Merge pull request #1989 from mnaichuk/new-market-api

#Version 2.0.17-alpha

Released 2019-01-21

Ability to set custom gas_limit & gas_price per currency.

Ability to use null reference for operation

Account Withdraw API With OTP

  • Add POST /api/v2/account/withdraws
  • Integrate Vault to travis & compose
  • Integrate Vault::TOTP client
  • Add ENABLE_ACCOUNT_WITHDRAWAL_API, VAULT_URL & VAULT_TOKEN envs

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Dinesh Chohda <dinesh.skyach@gmail.com>

Add Peatio UI removal alert

Add swagger.json in prettyjson format (#1984)

Add CONTRIBUTING guide [skip ci]

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add automatic docs generation for v2

Add Currency Name

Add missing deposit "skipped" translation (#1926)

Add opportunity to define minimum amount for trade

Add missing method

Apigate integration

Integrate Ambassador gateway. Remove OAuth Authentication and Peatio session support New grape api organisation into account, market, public endpoints Remove CORS

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Louis Bellet <lbellet@openware.com>

Change http status for permitting actions

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Expose Trade market maker and don't expose null side

Extend entities specs

Improve deposit collection daemon and add ability to reject fiat deposit

Income Statement (#1845) (#1849)

List liability with specs

List assets,revenues,expenses with specs

Load balance from hot wallet before make quick withdraw (#1935)

Managemetn API for creating asset, revenue, expense and libility with specs

Public version API endpoint

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

Release script updated

Remove ActionDispatch Session. Disable CSRF

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1856)

Rework Peatio accounting using double entry accounting system (#1777)

Add Operation Base model and tables

Add Operations::Asset,Liability,Revenue,Expense Add Operations::Chart which define class of items for which money spent or received Record Asset, Liability and Revenue operations on Deposit accept Record Liability transfer on Order create Record Liability transfer on Order cancel Record Liability transfer and Revenue creation on Trade create Deprecate legacy funds plus lock unlock and subtract funds Add Admin rubric for tracking Operations and Balance sheet Add Admin with Balance sheet

Rewrite api entities for docs. Split user and management api (#1958)

Specs for account/balances and code polishing

Store Currency options as JSON and define accessors

Update specs & Minore spec refactor

use local seeds

Problem: workbench has old seeds config files Solution: use local seeds

Pull Requests

Merge pull request #1966 from mnaichuk/2-0-add-cors

#Version 1.9.18

Released 2019-01-21

Ability to set custom gas_limit & gas_price per currency.

Add close, avg_price & price_change_percent to WS & REST API

  • Add close, avg_price & price_change_percent
  • Update WS API doc
  • Move & refactor Market #change_ratio to Global
  • Add ticker specs

closes #1991

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add Currency Name (#1944)

Add opportunity to define minimum amount for trade

Add missing method

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Expose Trade market maker and don't expose null side

Fixed Market Type should not appear on Trading-ui

Fixed member private event when order updated

Freeze bundler version in 1.17.1

Improve deposit collection daemon and add ability to reject fiat deposit

Load balance from hot wallet before make quick withdraw (#1934)

Massive gem updates

On successful trade trigger ranger private order event

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

Rails security update

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1857)

Rewrite get_depth to fetch data from db

Store Currency options as JSON and define accessors v1.9

#Version 2.0.16-alpha

Released 2019-01-17

Ability to set custom gas_limit & gas_price per currency.

Ability to use null reference for operation

Add Peatio UI removal alert

Add swagger.json in prettyjson format (#1984)

Add CONTRIBUTING guide [skip ci]

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add automatic docs generation for v2

Add Currency Name

Add missing deposit "skipped" translation (#1926)

Add opportunity to define minimum amount for trade

Add missing method

Apigate integration

Integrate Ambassador gateway. Remove OAuth Authentication and Peatio session support New grape api organisation into account, market, public endpoints Remove CORS

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Louis Bellet <lbellet@openware.com>

Change http status for permitting actions

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Expose Trade market maker and don't expose null side

Extend entities specs

Improve deposit collection daemon and add ability to reject fiat deposit

Income Statement (#1845) (#1849)

List liability with specs

List assets,revenues,expenses with specs

Load balance from hot wallet before make quick withdraw (#1935)

Managemetn API for creating asset, revenue, expense and libility with specs

Public version API endpoint

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

Release script updated

Remove ActionDispatch Session. Disable CSRF

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1856)

Rework Peatio accounting using double entry accounting system (#1777)

Add Operation Base model and tables

Add Operations::Asset,Liability,Revenue,Expense Add Operations::Chart which define class of items for which money spent or received Record Asset, Liability and Revenue operations on Deposit accept Record Liability transfer on Order create Record Liability transfer on Order cancel Record Liability transfer and Revenue creation on Trade create Deprecate legacy funds plus lock unlock and subtract funds Add Admin rubric for tracking Operations and Balance sheet Add Admin with Balance sheet

Rewrite api entities for docs. Split user and management api (#1958)

Specs for account/balances and code polishing

Store Currency options as JSON and define accessors

Update specs & Minore spec refactor

use local seeds

Problem: workbench has old seeds config files Solution: use local seeds

Pull Requests

Merge pull request #1966 from mnaichuk/2-0-add-cors

#Version 1.9.17

Released 2019-01-17

Ability to set custom gas_limit & gas_price per currency.

Ability to retrieve address in both formats cash and legacy via API

Ability to see Transaction ID in user interface (#1546)

  • Ability to see Transaction ID in user interface

Ability to get data between some time interval (time_from, time_to) in GET /api/v2/k (closes #1290) (#1342)

  • get data in specific time interval

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add Currency Name (#1944)

Add opportunity to define minimum amount for trade

Add missing method

Add validation for order price

Add missing association for fiat

Add docs/plugins.md

Add BULLET to application.yml.erb disable by default

Add Bullet for detecting N+1 problems

Add new state to deposit model to fix deposit recurrence

Add min deposit amount for currencies and validation for small deposits

Add env RANGER_CONNECT_SECURE (#1718)

Add missing url validations to rails models (#1656)

Closes #1652.

  • Add validation for server atttribute in Blockchain model.
  • Add validation for url atttribute in Wallet model.

Add docs about performance

Add grape_strip to resolve whitespace in input params

Add missing address in wallets seed config

Add riple blockchain service and client

Add missing API call for getting member accounts (related to #919)

Add Tools Spec For API

Add rc tag for master releases in bump script

Add Deposit Collection Spec

Add Deposit Coin Address Spec

Add Wallet Support For Bitcoin Cash Legacy Address (#1540)

Add Bitgo Wallet ID And Remove Wallet Address In Wallet Model (#1530)

  • Add Bitgo Wallet Id In Wallet

  • Remove Bitgo Wallet Address

Add icon url to currency (closes #1449) (#1465)

  • Add icon url to currency (closes #1449)

  • Add icon_url in api currency entities. Minor related refactoring

Add ability to specity min price (closes #1447) (#1460)

Add more details for the API docs (#1493)

  • Add security definitions and contact info for swagger spec
  • Add more documentation and swagger stuff for currencies endpoint

Add API endpoint for currencies (#1433)

  • Add API endpoint for currencies

  • Prettify code for currency/trades endpoint

  • Prettify tests for currency/trades endpoint

  • Finish

  • Fix spec

  • Add one more spec of currency structure

  • Fix typo

  • Add documentation about added currency API

  • Fix

Added explorer_transaction and explorer_address to currency entities (closes #1664)

Added Swagger docs spec (#1612)

Added currency address format validation

Added Backport address validation via wallet client

Added new test in trades

Added validation to restrict display currency to be disabled (#1559)

  • Added validation to restrict display currency to be disabled

Added 24 hours currency trades API endpoint (#1368)

Adding Peatio Core

Adding geth backend

Allow to use currencies in both downcase & upcase in Member API (closes #1660) (#1661)

Allow users to have multiple deposit addresses (#1282)

Backport Inspect Address

Bump rack-attack from 5.2.0 to 5.4.1

Bumps rack-attack from 5.2.0 to 5.4.1.

Signed-off-by: dependabot[bot] <support@dependabot.com>

Change Currency Id Limit (#1526)

Change Default Domain To peatio.tech (#1450)

Changed address limits (#1701)

Code polish and minor bugfix (closes #1531) (#1529)

  • Fix Wallet duplication on each wallets:seed

  • Add missing encoding and frozen_string_litteral annotations

  • Remove comment

  • Refactor

  • Refactor html.erb

  • Remove unused code from Services and Clients

  • WalletService::Base refactor

  • Fix specs

  • Fix specs 2

  • [ci skip] Comment wallets and blockchains setting files

Compile assets in production mode (fixes #1695)

Confirmation can't be negative

Currencies dead code clean up (#1518)

  • Add Bitgo Wallet Id In Wallet

  • Remove Bitgo Wallet Address

  • Clean up dead code

  • Removed case_sensitive from currency

  • Added static case_sensitive value to blockchain clients

  • Add missing downcase to Deposit and Withdraw

  • Validate blockchain before Currency create

  • Fix rake seed:wallets

Delete unused daemon and move event_api.md to docs (#1702)

DesignFix (#1519)

Disable api call for creating new deposit address

Do not allow to disable last enabled market (closes #1548) (#1543)

  • Do Not Allow To Disable Last Currency And Market

  • Fix dependent disable && update currencies seed

Drop spaces from admins list

Edit comments in templates for wallets.yml (#1533)

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Execute all block updates in single SQL transaction. Find withdrawals and deposits by txid only (closes #1549, closes #1568) (#1622)

Experimental peatio plugin system v2

Expose Trade market maker and don't expose null side

Expose ask_id & order_id in trade event of websocket api

Extract duplicated code to HasOneBlockchainThroughCurrency (closes #1593)

Fetch latest block transactions using getrawmempool for bitcoin-like blockchains (closes #1621) (#1649)

fix bug on #1775

Fix pool deposit issue

Fix Dockerfile

Fix problem when we publish message but Deposit doesn't exist in db

Fix swagger doc for APIv2 (closes #1605)

Fix typo in setup-osx.md documentation (#1492)

Fix typo (#1496)

Thanks @Atul9

Fix migration multiple_deposit_addresses (#1402)

Fixed Market Type should not appear on Trading-ui

Fixed member private event when order updated

Fixed broken specs (#1620)

Fixed wallet secret not being saved from admin panel (#1552)

Fixed rake db:seed failure (#1541)

Fixed Broken market spec (#1407)

  • Fixed broken market spec

Freeze bundler version in 1.17.1

Handle ActiveRecord::RecordNotFound in member api_v2 remove method duplication (closes #1632)

Human Readable Time Stamps

Implement skimming deposit collection mechanism based on wallet max_balance (closes #1653) (#1735)

  • Added Wallet Service Specs

  • Implement skimming deposit collection mechanism for bitcoin

  • Implement skimming deposit collection mechanism for eth

  • Implement skimming deposit collection mechanism for ripple

  • Enumerize Wallet kind

  • Edit skiming mechanism for ripple wallet

  • Edit skiming mechanism for eth wallet

  • Use hash instead array for deposit collections

  • Update specs with new skiming mechanism and add specs for ripple

  • Add min_collection_amount method to currency

  • Move load_balance! request to blockchain service and add specs for wallet service

  • Add min_collection_amount column to currency and move spread deposit method to protected

Implement Fee wallet for deposit collection fees daemon and fix deposit fees recurrence

Improve deposit collection daemon and add ability to reject fiat deposit

Improved updation of blockchain height and update exception handling mechanism (#1534)

Include PublishToRabbitMQ GenerateJWT Event API middlewares by default (closes #1457) (#1458)

  • Include PublishToRabbitMQ GenerateJWT Event API middlewares by default

Informative message when POST /api/v2/orders with wrong volume

Integrate peatio-core Peatio::Auth::JWTAuthenticator to APIv2 (closes #1555)

Integrate Blockchain and Wallet model and services with new transaction processing and multi wallet support (#1404)

  • Blockchain model and Database seeding

  • Adding wallet seeding

  • Adding wallet model

  • Fix STI problem

  • Add missing associations

  • Fix indexes order

  • Adding factories and a test stub

  • BlockchainService #process_blockchain deposits with proof of work (#1417)

  • Added blockchain service

  • Ability to register a blockchain/wallet from Admin Panel (#1422)

  • Revert some changes (related to #1422)

  • Single BlockchainService per Blockchain (#1424)

  • Added Wallet/Blockchain validations (#1429)

  • Added Wallet/Blockchain validations

  • Confirm withdrawals in BlockchainService #process_blockchain (#1427)

  • Withdraw confirm new behavior

  • Refactor Services

  • Build transaction refactor

  • Fix wallets seed & update blockchain daemon

  • Use min_confirmations instead of withdraw & deposit

  • Get rid of deposit_confirmations

  • Withdraw process to confirming

  • Rebase on master

  • Bitcoin Blockchain Service (#1444)

  • Improve BlockchainService logger. Wallet & Blockchain bugfixes (#1474)

  • Add Blockchain Key In Currency (#1473)

  • Remove CoinAPI & daemons. Rename Client to BlockchainClient (#1476)

  • Remove CoinAPI & daemons

  • Remove CoinAPI & daemons 2

  • Rename Client to BlockchainClient

  • BlockchainService improve performance

  • Fix specs

  • Replace Confirmation With Block Number (#1463)

  • Add gateway & max_balance to wallets (#1478)

  • Wallet per currency

  • WalletService module and WalletService::Base class (#1479)

  • WalletService module and WalletService::Base class

  • WalletClient & WalletClient::Base

  • Added deposit coin address daemon (#1480)

  • Improvements in Deposit coin address daemon (#1482)

  • Geth deposit collectio (eth only)

  • Bitcoind deposit collection

  • ERC20 deposit_collection

  • Withdraw Coin Daemon (#1485)

  • Added withdrawal for ETH/ERC20

  • Added BTC withdraw via bitcoind

  • DepositCollectionFees worker for ERC20 (#1489)

  • DepositCollectionFees worker for ERC20 deposit collection

  • Fix Withdraw confirmation bug

  • Update doc & daemons.god

  • Fix specs

  • Litecoin/Dash/BitcoinCash Blockchain Services (#1475)

  • Added Litecoin/Dash/BitcoinCash Blockchain Services

  • Added Bitcoincash Service/Specs

  • rebased with feature/blockchains

  • rebased with feature/blockchains

  • rebased and updates

  • Added wallet client/service for litecoin/bitcoincash/dash

  • Updates for admin panel (#1501)

  • Use testnet explorer links for testnet blockchains

  • Fix coins explorer links removal

  • Fix erc20 deposit for tx with empty receipt (#1502)

  • Fix wrong client for existing blockchain on admin panel (#1504)

  • Bitgo wallet Client/Service (#1491)

  • Added Bitgo wallet client/service

  • Added dynamic txn estimate fee for deposit_collection daemon

  • Fixed withdraw stuck in confirming (#1507)

  • Improved dynamic txn fees for bitcoind/bitgo (#1509)

  • Feature/blockchains wallets (#1510)

  • Confirm withdrawals in BlockchainService #process_blockchain (#1427)

  • Withdraw confirm new behavior

  • Refactor Services

  • Build transaction refactor

  • Fix wallets seed & update blockchain daemon

  • Use min_confirmations instead of withdraw & deposit

  • Get rid of deposit_confirmations

  • Withdraw process to confirming

  • Admin Panel Modification

  • Added ability to disable currencies, markets and wallets

  • Fix gateway form

  • Wallet Model Changes And Spec Fixes

  • Add Missing File

  • Wallet Service Changes

  • Fixed icons and renamed fields on Market New and Show pages (#1515)

  • Upgrading peatio core

K line daemon & API fix & specs improvement

Load balance from hot wallet before make quick withdraw (#1934)

Massive gem updates

Move versions to Peatio::Application. Remove lib/peatio (closes #1619) (#1636)

On successful trade trigger ranger private order event

Publish WS event on k-line updates. Improve k-daemon performance

  • Publish MQ event on #update_point or #append_point
  • Update WS API doc
  • Skip unnecessary k point updates
  • Use lset instead of pop & push
  • Add TODO to k.rb
  • Add k-line comments
  • KLineService #humanize_period(period)

closes #1995

Rails security update

rake yarn install now prints the stdout response (#1690)

Ranger integration (#1686)

  • Ranger Integration With Trading-UI
  • Add some vars to gon for Ranger
  • Delete uneeded variable

Release Notes for Peatio 1.9 (#1557)

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1857)

Remove all n+1 queries

Remove warning from event api initializer (#1755)

Remove peatio-trading-ui and dependencies from CI

Remove websocket and stuff

Remove Features Specs

Remove auditing system (you have to use Event API to do audits now) (#1391)

Remove solvency feature (#1390)

Removed unwanted options in currency model and seed file (closes #1611) (#1618)

Removed webhook controller and dependencies

Removing Chromium from Dockerfile

replace PusherMarket and PusherMember with Peatio::MQ::Events

Repository clean up. Minor doc updates (closes #1637, closes #1523)

Return Error if invalid from and to params

Rewrite get_depth to fetch data from db

Rewrite quick withdraw limit mechanism, add 24h and 72h withdraw limits (#1817)

Send label when generating BitGo address. (#1318)

Spec Changes

Spec changes

Starting development v1.9.0-alpha

Store Currency options as JSON and define accessors v1.9

Support Cash Address format

Update package-lock.json

Update comment and values in currencies.yml. Final code refactor

Update bump script to support rc in tag

Update docs about authenticating in management api

Update ffi to 1.9.25 (#1393)

Update sprockets gem (#1386)

Updated websocket api doc

Updated specs

Updated xit Specs (#1542)

Updating Ruby and Gems

Adding gem rubocop-rspec Correcting factories syntax

Updating Travis

Updating travis credentials (#1572)

Updating CHANGELOG for 2018

Updating patch level for gems (#1512)

  • Updating patch level for gems

  • Updating mini_racer

  • Changing sass to sassc

  • Fixed middleware specs failure due to gem update (#1513)

upgrade peatio to 0.4.0

Various fixes in docs (#1672)

  • Various fixes in docs

  • Update README.me

Withdrawals show transaction id (#1411)

  • Withdrawals show transaction id

  • Convert txid to link

#Version 1.8.68

Released 2019-01-16

Add min withdraw amount for currencies

Add opportunity to define minimum amount for trade

Add Peatio plugin system v2

Add get_depth_from_db to slave_book

Add docs about performance

Add missing API call for getting member accounts (related to #919)

Add API endpoint for currencies (#1433) (#1462)

  • Add API endpoint for currencies (#1433)
  • Add one more spec of currency structure
  • Add documentation about added currency API

Added transaction_url_template and wallet_url_template to currency entities (closes #1664)

Added 24 hours currency trades API endpoint (#1368) (#1420)

  • Added 24 hours currency trades API endpoint (#1368)
  • Fixed broken market spec

Change Currency Id Limit (#1527)

Change Default Domain To peatio.tech (#1454)

Do Not Allow To Disable Last Currency And Market (#1550)

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Expose Trade market maker and don't expose null side

Expose ask_id & order_id in trade event of websocket api

Fix BitGo Wallet Transactions Query Parameter Incorrect (#1561)

Freeze bundler version in 1.16.6

Include PublishToRabbitMQ GenerateJWT Event API middlewares by default (#1459)

  • Include PublishToRabbitMQ GenerateJWT Event API middlewares by default

Informative message when POST /api/v2/orders with wrong volume

K line daemon & API fix & specs improvement (related to #1689, #1697) (#1696)

  • K-line API fix & specs imporvement (related to #1689)

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL

rename the spec file

Return 200 on successful pusher/auth

Trigger limit order update events

Update ruby version to 2.5.3. Bump mini_racer to 0.2.4 (#1855)

#Version 1.9.16

Released 2019-01-16

Ability to set custom gas_limit & gas_price per currency.

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add Currency Name (#1944)

Add opportunity to define minimum amount for trade

Add missing method

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Expose Trade market maker and don't expose null side

Fixed Market Type should not appear on Trading-ui

Fixed member private event when order updated

Freeze bundler version in 1.17.1

Improve deposit collection daemon and add ability to reject fiat deposit

Load balance from hot wallet before make quick withdraw (#1934)

Massive gem updates

On successful trade trigger ranger private order event

Rails security update

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1857)

Rewrite get_depth to fetch data from db

Store Currency options as JSON and define accessors v1.9

#Version 2.0.15-alpha

Released 2019-01-16

Add swagger.json in prettyjson format (#1984)

Expose Trade market maker and don't expose null side

Rewrite api entities for docs. Split user and management api (#1958)

Pull Requests

Merge pull request #1966 from mnaichuk/2-0-add-cors

#Version 2.0.14-alpha

Released 2019-01-15

Ability to set custom gas_limit & gas_price per currency.

Ability to use null reference for operation

Add CONTRIBUTING guide [skip ci]

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add automatic docs generation for v2

Add Currency Name

Add missing deposit "skipped" translation (#1926)

Add opportunity to define minimum amount for trade

Add missing method

Apigate integration

Integrate Ambassador gateway. Remove OAuth Authentication and Peatio session support New grape api organisation into account, market, public endpoints Remove CORS

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Louis Bellet <lbellet@openware.com>

Change http status for permitting actions

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Extend entities specs

Improve deposit collection daemon and add ability to reject fiat deposit

Income Statement (#1845) (#1849)

List liability with specs

List assets,revenues,expenses with specs

Load balance from hot wallet before make quick withdraw (#1935)

Managemetn API for creating asset, revenue, expense and libility with specs

Public version API endpoint

Release script updated

Remove ActionDispatch Session. Disable CSRF

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1856)

Rework Peatio accounting using double entry accounting system (#1777)

Add Operation Base model and tables

Add Operations::Asset,Liability,Revenue,Expense Add Operations::Chart which define class of items for which money spent or received Record Asset, Liability and Revenue operations on Deposit accept Record Liability transfer on Order create Record Liability transfer on Order cancel Record Liability transfer and Revenue creation on Trade create Deprecate legacy funds plus lock unlock and subtract funds Add Admin rubric for tracking Operations and Balance sheet Add Admin with Balance sheet

Specs for account/balances and code polishing

Store Currency options as JSON and define accessors

Update specs & Minore spec refactor

use local seeds

Problem: workbench has old seeds config files Solution: use local seeds

#Version 1.9.15

Released 2019-01-15

Ability to set custom gas_limit & gas_price per currency.

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add Currency Name (#1944)

Add opportunity to define minimum amount for trade

Add missing method

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Fixed Market Type should not appear on Trading-ui

Fixed member private event when order updated

Freeze bundler version in 1.17.1

Improve deposit collection daemon and add ability to reject fiat deposit

Load balance from hot wallet before make quick withdraw (#1934)

Massive gem updates

On successful trade trigger ranger private order event

Rails security update

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1857)

Rewrite get_depth to fetch data from db

Store Currency options as JSON and define accessors v1.9

#Version 2.0.13-alpha

Released 2019-01-14

Change http status for permitting actions

Public version API endpoint

#Version 2.0.12-alpha

Released 2019-01-08

Ability to set custom gas_limit & gas_price per currency.

Ability to use null reference for operation

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add automatic docs generation for v2

Add Currency Name

Add missing deposit "skipped" translation (#1926)

Add opportunity to define minimum amount for trade

Add missing method

Apigate integration

Integrate Ambassador gateway. Remove OAuth Authentication and Peatio session support New grape api organisation into account, market, public endpoints Remove CORS

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Louis Bellet <lbellet@openware.com>

Extend entities specs

Improve deposit collection daemon and add ability to reject fiat deposit

Income Statement (#1845) (#1849)

List liability with specs

List assets,revenues,expenses with specs

Load balance from hot wallet before make quick withdraw (#1935)

Managemetn API for creating asset, revenue, expense and libility with specs

Release script updated

Remove ActionDispatch Session. Disable CSRF

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1856)

Rework Peatio accounting using double entry accounting system (#1777)

Add Operation Base model and tables

Add Operations::Asset,Liability,Revenue,Expense Add Operations::Chart which define class of items for which money spent or received Record Asset, Liability and Revenue operations on Deposit accept Record Liability transfer on Order create Record Liability transfer on Order cancel Record Liability transfer and Revenue creation on Trade create Deprecate legacy funds plus lock unlock and subtract funds Add Admin rubric for tracking Operations and Balance sheet Add Admin with Balance sheet

Specs for account/balances and code polishing

Store Currency options as JSON and define accessors

Update specs & Minore spec refactor

use local seeds

Problem: workbench has old seeds config files Solution: use local seeds

#Version 1.9.14

Released 2019-01-08

Ability to set custom gas_limit & gas_price per currency.

Ability to retrieve address in both formats cash and legacy via API

Ability to see Transaction ID in user interface (#1546)

  • Ability to see Transaction ID in user interface

Ability to get data between some time interval (time_from, time_to) in GET /api/v2/k (closes #1290) (#1342)

  • get data in specific time interval

Add manualy loading withdrawal from admin panel and validations for events

Add min withdraw amount for currencies

Add Currency Name (#1944)

Add opportunity to define minimum amount for trade

Add missing method

Add validation for order price

Add missing association for fiat

Add docs/plugins.md

Add BULLET to application.yml.erb disable by default

Add Bullet for detecting N+1 problems

Add new state to deposit model to fix deposit recurrence

Add min deposit amount for currencies and validation for small deposits

Add env RANGER_CONNECT_SECURE (#1718)

Add missing url validations to rails models (#1656)

Closes #1652.

  • Add validation for server atttribute in Blockchain model.
  • Add validation for url atttribute in Wallet model.

Add docs about performance

Add grape_strip to resolve whitespace in input params

Add missing address in wallets seed config

Add riple blockchain service and client

Add missing API call for getting member accounts (related to #919)

Add Tools Spec For API

Add rc tag for master releases in bump script

Add Deposit Collection Spec

Add Deposit Coin Address Spec

Add Wallet Support For Bitcoin Cash Legacy Address (#1540)

Add Bitgo Wallet ID And Remove Wallet Address In Wallet Model (#1530)

  • Add Bitgo Wallet Id In Wallet

  • Remove Bitgo Wallet Address

Add icon url to currency (closes #1449) (#1465)

  • Add icon url to currency (closes #1449)

  • Add icon_url in api currency entities. Minor related refactoring

Add ability to specity min price (closes #1447) (#1460)

Add more details for the API docs (#1493)

  • Add security definitions and contact info for swagger spec
  • Add more documentation and swagger stuff for currencies endpoint

Add API endpoint for currencies (#1433)

  • Add API endpoint for currencies

  • Prettify code for currency/trades endpoint

  • Prettify tests for currency/trades endpoint

  • Finish

  • Fix spec

  • Add one more spec of currency structure

  • Fix typo

  • Add documentation about added currency API

  • Fix

Added explorer_transaction and explorer_address to currency entities (closes #1664)

Added Swagger docs spec (#1612)

Added currency address format validation

Added Backport address validation via wallet client

Added new test in trades

Added validation to restrict display currency to be disabled (#1559)

  • Added validation to restrict display currency to be disabled

Added 24 hours currency trades API endpoint (#1368)

Adding Peatio Core

Adding geth backend

Allow to use currencies in both downcase & upcase in Member API (closes #1660) (#1661)

Allow users to have multiple deposit addresses (#1282)

Backport Inspect Address

Bump rack-attack from 5.2.0 to 5.4.1

Bumps rack-attack from 5.2.0 to 5.4.1.

Signed-off-by: dependabot[bot] <support@dependabot.com>

Change Currency Id Limit (#1526)

Change Default Domain To peatio.tech (#1450)

Changed address limits (#1701)

Code polish and minor bugfix (closes #1531) (#1529)

  • Fix Wallet duplication on each wallets:seed

  • Add missing encoding and frozen_string_litteral annotations

  • Remove comment

  • Refactor

  • Refactor html.erb

  • Remove unused code from Services and Clients

  • WalletService::Base refactor

  • Fix specs

  • Fix specs 2

  • [ci skip] Comment wallets and blockchains setting files

Compile assets in production mode (fixes #1695)

Confirmation can't be negative

Currencies dead code clean up (#1518)

  • Add Bitgo Wallet Id In Wallet

  • Remove Bitgo Wallet Address

  • Clean up dead code

  • Removed case_sensitive from currency

  • Added static case_sensitive value to blockchain clients

  • Add missing downcase to Deposit and Withdraw

  • Validate blockchain before Currency create

  • Fix rake seed:wallets

Delete unused daemon and move event_api.md to docs (#1702)

DesignFix (#1519)

Disable api call for creating new deposit address

Do not allow to disable last enabled market (closes #1548) (#1543)

  • Do Not Allow To Disable Last Currency And Market

  • Fix dependent disable && update currencies seed

Drop spaces from admins list

Edit comments in templates for wallets.yml (#1533)

Execute all block updates in single SQL transaction. Find withdrawals and deposits by txid only (closes #1549, closes #1568) (#1622)

Experimental peatio plugin system v2

Expose ask_id & order_id in trade event of websocket api

Extract duplicated code to HasOneBlockchainThroughCurrency (closes #1593)

Fetch latest block transactions using getrawmempool for bitcoin-like blockchains (closes #1621) (#1649)

Fix pool deposit issue

Fix Dockerfile

Fix problem when we publish message but Deposit doesn't exist in db

Fix swagger doc for APIv2 (closes #1605)

Fix typo in setup-osx.md documentation (#1492)

Fix typo (#1496)

Thanks @Atul9

Fix migration multiple_deposit_addresses (#1402)

fix bug on #1775

Fixed Market Type should not appear on Trading-ui

Fixed member private event when order updated

Fixed broken specs (#1620)

Fixed wallet secret not being saved from admin panel (#1552)

Fixed rake db:seed failure (#1541)

Fixed Broken market spec (#1407)

  • Fixed broken market spec

Freeze bundler version in 1.17.1

Handle ActiveRecord::RecordNotFound in member api_v2 remove method duplication (closes #1632)

Human Readable Time Stamps

Implement skimming deposit collection mechanism based on wallet max_balance (closes #1653) (#1735)

  • Added Wallet Service Specs

  • Implement skimming deposit collection mechanism for bitcoin

  • Implement skimming deposit collection mechanism for eth

  • Implement skimming deposit collection mechanism for ripple

  • Enumerize Wallet kind

  • Edit skiming mechanism for ripple wallet

  • Edit skiming mechanism for eth wallet

  • Use hash instead array for deposit collections

  • Update specs with new skiming mechanism and add specs for ripple

  • Add min_collection_amount method to currency

  • Move load_balance! request to blockchain service and add specs for wallet service

  • Add min_collection_amount column to currency and move spread deposit method to protected

Implement Fee wallet for deposit collection fees daemon and fix deposit fees recurrence

Improve deposit collection daemon and add ability to reject fiat deposit

Improved updation of blockchain height and update exception handling mechanism (#1534)

Include PublishToRabbitMQ GenerateJWT Event API middlewares by default (closes #1457) (#1458)

  • Include PublishToRabbitMQ GenerateJWT Event API middlewares by default

Informative message when POST /api/v2/orders with wrong volume

Integrate peatio-core Peatio::Auth::JWTAuthenticator to APIv2 (closes #1555)

Integrate Blockchain and Wallet model and services with new transaction processing and multi wallet support (#1404)

  • Blockchain model and Database seeding

  • Adding wallet seeding

  • Adding wallet model

  • Fix STI problem

  • Add missing associations

  • Fix indexes order

  • Adding factories and a test stub

  • BlockchainService #process_blockchain deposits with proof of work (#1417)

  • Added blockchain service

  • Ability to register a blockchain/wallet from Admin Panel (#1422)

  • Revert some changes (related to #1422)

  • Single BlockchainService per Blockchain (#1424)

  • Added Wallet/Blockchain validations (#1429)

  • Added Wallet/Blockchain validations

  • Confirm withdrawals in BlockchainService #process_blockchain (#1427)

  • Withdraw confirm new behavior

  • Refactor Services

  • Build transaction refactor

  • Fix wallets seed & update blockchain daemon

  • Use min_confirmations instead of withdraw & deposit

  • Get rid of deposit_confirmations

  • Withdraw process to confirming

  • Rebase on master

  • Bitcoin Blockchain Service (#1444)

  • Improve BlockchainService logger. Wallet & Blockchain bugfixes (#1474)

  • Add Blockchain Key In Currency (#1473)

  • Remove CoinAPI & daemons. Rename Client to BlockchainClient (#1476)

  • Remove CoinAPI & daemons

  • Remove CoinAPI & daemons 2

  • Rename Client to BlockchainClient

  • BlockchainService improve performance

  • Fix specs

  • Replace Confirmation With Block Number (#1463)

  • Add gateway & max_balance to wallets (#1478)

  • Wallet per currency

  • WalletService module and WalletService::Base class (#1479)

  • WalletService module and WalletService::Base class

  • WalletClient & WalletClient::Base

  • Added deposit coin address daemon (#1480)

  • Improvements in Deposit coin address daemon (#1482)

  • Geth deposit collectio (eth only)

  • Bitcoind deposit collection

  • ERC20 deposit_collection

  • Withdraw Coin Daemon (#1485)

  • Added withdrawal for ETH/ERC20

  • Added BTC withdraw via bitcoind

  • DepositCollectionFees worker for ERC20 (#1489)

  • DepositCollectionFees worker for ERC20 deposit collection

  • Fix Withdraw confirmation bug

  • Update doc & daemons.god

  • Fix specs

  • Litecoin/Dash/BitcoinCash Blockchain Services (#1475)

  • Added Litecoin/Dash/BitcoinCash Blockchain Services

  • Added Bitcoincash Service/Specs

  • rebased with feature/blockchains

  • rebased with feature/blockchains

  • rebased and updates

  • Added wallet client/service for litecoin/bitcoincash/dash

  • Updates for admin panel (#1501)

  • Use testnet explorer links for testnet blockchains

  • Fix coins explorer links removal

  • Fix erc20 deposit for tx with empty receipt (#1502)

  • Fix wrong client for existing blockchain on admin panel (#1504)

  • Bitgo wallet Client/Service (#1491)

  • Added Bitgo wallet client/service

  • Added dynamic txn estimate fee for deposit_collection daemon

  • Fixed withdraw stuck in confirming (#1507)

  • Improved dynamic txn fees for bitcoind/bitgo (#1509)

  • Feature/blockchains wallets (#1510)

  • Confirm withdrawals in BlockchainService #process_blockchain (#1427)

  • Withdraw confirm new behavior

  • Refactor Services

  • Build transaction refactor

  • Fix wallets seed & update blockchain daemon

  • Use min_confirmations instead of withdraw & deposit

  • Get rid of deposit_confirmations

  • Withdraw process to confirming

  • Admin Panel Modification

  • Added ability to disable currencies, markets and wallets

  • Fix gateway form

  • Wallet Model Changes And Spec Fixes

  • Add Missing File

  • Wallet Service Changes

  • Fixed icons and renamed fields on Market New and Show pages (#1515)

  • Upgrading peatio core

K line daemon & API fix & specs improvement

Load balance from hot wallet before make quick withdraw (#1934)

Massive gem updates

Move versions to Peatio::Application. Remove lib/peatio (closes #1619) (#1636)

On successful trade trigger ranger private order event

Rails security update

rake yarn install now prints the stdout response (#1690)

Ranger integration (#1686)

  • Ranger Integration With Trading-UI
  • Add some vars to gon for Ranger
  • Delete uneeded variable

Release Notes for Peatio 1.9 (#1557)

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1857)

Remove all n+1 queries

Remove warning from event api initializer (#1755)

Remove peatio-trading-ui and dependencies from CI

Remove websocket and stuff

Remove Features Specs

Remove auditing system (you have to use Event API to do audits now) (#1391)

Remove solvency feature (#1390)

Removed unwanted options in currency model and seed file (closes #1611) (#1618)

Removed webhook controller and dependencies

Removing Chromium from Dockerfile

replace PusherMarket and PusherMember with Peatio::MQ::Events

Repository clean up. Minor doc updates (closes #1637, closes #1523)

Return Error if invalid from and to params

Rewrite get_depth to fetch data from db

Rewrite quick withdraw limit mechanism, add 24h and 72h withdraw limits (#1817)

Send label when generating BitGo address. (#1318)

Spec Changes

Spec changes

Starting development v1.9.0-alpha

Store Currency options as JSON and define accessors v1.9

Support Cash Address format

Update package-lock.json

Update comment and values in currencies.yml. Final code refactor

Update bump script to support rc in tag

Update docs about authenticating in management api

Update ffi to 1.9.25 (#1393)

Update sprockets gem (#1386)

Updated websocket api doc

Updated specs

Updated xit Specs (#1542)

Updating Ruby and Gems

Adding gem rubocop-rspec Correcting factories syntax

Updating Travis

Updating travis credentials (#1572)

Updating CHANGELOG for 2018

Updating patch level for gems (#1512)

  • Updating patch level for gems

  • Updating mini_racer

  • Changing sass to sassc

  • Fixed middleware specs failure due to gem update (#1513)

upgrade peatio to 0.4.0

Various fixes in docs (#1672)

  • Various fixes in docs

  • Update README.me

Withdrawals show transaction id (#1411)

  • Withdrawals show transaction id

  • Convert txid to link

#Version 1.8.67

Released 2019-01-03

Add min withdraw amount for currencies

Add opportunity to define minimum amount for trade

Add Peatio plugin system v2

Add get_depth_from_db to slave_book

Add docs about performance

Add missing API call for getting member accounts (related to #919)

Add API endpoint for currencies (#1433) (#1462)

  • Add API endpoint for currencies (#1433)
  • Add one more spec of currency structure
  • Add documentation about added currency API

Added transaction_url_template and wallet_url_template to currency entities (closes #1664)

Added 24 hours currency trades API endpoint (#1368) (#1420)

  • Added 24 hours currency trades API endpoint (#1368)
  • Fixed broken market spec

Change Currency Id Limit (#1527)

Change Default Domain To peatio.tech (#1454)

Do Not Allow To Disable Last Currency And Market (#1550)

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Expose ask_id & order_id in trade event of websocket api

Fix BitGo Wallet Transactions Query Parameter Incorrect (#1561)

Freeze bundler version in 1.16.6

Include PublishToRabbitMQ GenerateJWT Event API middlewares by default (#1459)

  • Include PublishToRabbitMQ GenerateJWT Event API middlewares by default

Informative message when POST /api/v2/orders with wrong volume

K line daemon & API fix & specs improvement (related to #1689, #1697) (#1696)

  • K-line API fix & specs imporvement (related to #1689)

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL

rename the spec file

Return 200 on successful pusher/auth

Trigger limit order update events

Update ruby version to 2.5.3. Bump mini_racer to 0.2.4 (#1855)

#Version 2.0.11-alpha

Released 2019-01-03

Ability to set custom gas_limit & gas_price per currency.

Ability to use null reference for operation

Add Currency Name

Add missing deposit "skipped" translation (#1926)

Add opportunity to define minimum amount for trade

Add missing method

Apigate integration

Integrate Ambassador gateway. Remove OAuth Authentication and Peatio session support New grape api organisation into account, market, public endpoints Remove CORS

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Louis Bellet <lbellet@openware.com>

Extend entities specs

Improve deposit collection daemon and add ability to reject fiat deposit

Income Statement (#1845) (#1849)

List liability with specs

List assets,revenues,expenses with specs

Load balance from hot wallet before make quick withdraw (#1935)

Managemetn API for creating asset, revenue, expense and libility with specs

Release script updated

Remove ActionDispatch Session. Disable CSRF

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1856)

Rework Peatio accounting using double entry accounting system (#1777)

Add Operation Base model and tables

Add Operations::Asset,Liability,Revenue,Expense Add Operations::Chart which define class of items for which money spent or received Record Asset, Liability and Revenue operations on Deposit accept Record Liability transfer on Order create Record Liability transfer on Order cancel Record Liability transfer and Revenue creation on Trade create Deprecate legacy funds plus lock unlock and subtract funds Add Admin rubric for tracking Operations and Balance sheet Add Admin with Balance sheet

Specs for account/balances and code polishing

Store Currency options as JSON and define accessors

Update specs & Minore spec refactor

use local seeds

Problem: workbench has old seeds config files Solution: use local seeds

#Version 1.9.13

Released 2019-01-03

Ability to set custom gas_limit & gas_price per currency.

Ability to retrieve address in both formats cash and legacy via API

Ability to see Transaction ID in user interface (#1546)

  • Ability to see Transaction ID in user interface

Ability to get data between some time interval (time_from, time_to) in GET /api/v2/k (closes #1290) (#1342)

  • get data in specific time interval

Add Currency Name (#1944)

Add opportunity to define minimum amount for trade

Add missing method

Add validation for order price

Add missing association for fiat

Add docs/plugins.md

Add BULLET to application.yml.erb disable by default

Add Bullet for detecting N+1 problems

Add new state to deposit model to fix deposit recurrence

Add min deposit amount for currencies and validation for small deposits

Add env RANGER_CONNECT_SECURE (#1718)

Add missing url validations to rails models (#1656)

Closes #1652.

  • Add validation for server atttribute in Blockchain model.
  • Add validation for url atttribute in Wallet model.

Add docs about performance

Add grape_strip to resolve whitespace in input params

Add missing address in wallets seed config

Add riple blockchain service and client

Add missing API call for getting member accounts (related to #919)

Add Tools Spec For API

Add rc tag for master releases in bump script

Add Deposit Collection Spec

Add Deposit Coin Address Spec

Add Wallet Support For Bitcoin Cash Legacy Address (#1540)

Add Bitgo Wallet ID And Remove Wallet Address In Wallet Model (#1530)

  • Add Bitgo Wallet Id In Wallet

  • Remove Bitgo Wallet Address

Add icon url to currency (closes #1449) (#1465)

  • Add icon url to currency (closes #1449)

  • Add icon_url in api currency entities. Minor related refactoring

Add ability to specity min price (closes #1447) (#1460)

Add more details for the API docs (#1493)

  • Add security definitions and contact info for swagger spec
  • Add more documentation and swagger stuff for currencies endpoint

Add API endpoint for currencies (#1433)

  • Add API endpoint for currencies

  • Prettify code for currency/trades endpoint

  • Prettify tests for currency/trades endpoint

  • Finish

  • Fix spec

  • Add one more spec of currency structure

  • Fix typo

  • Add documentation about added currency API

  • Fix

Added explorer_transaction and explorer_address to currency entities (closes #1664)

Added Swagger docs spec (#1612)

Added currency address format validation

Added Backport address validation via wallet client

Added new test in trades

Added validation to restrict display currency to be disabled (#1559)

  • Added validation to restrict display currency to be disabled

Added 24 hours currency trades API endpoint (#1368)

Adding Peatio Core

Adding geth backend

Allow to use currencies in both downcase & upcase in Member API (closes #1660) (#1661)

Allow users to have multiple deposit addresses (#1282)

Backport Inspect Address

Bump rack-attack from 5.2.0 to 5.4.1

Bumps rack-attack from 5.2.0 to 5.4.1.

Signed-off-by: dependabot[bot] <support@dependabot.com>

Change Currency Id Limit (#1526)

Change Default Domain To peatio.tech (#1450)

Changed address limits (#1701)

Code polish and minor bugfix (closes #1531) (#1529)

  • Fix Wallet duplication on each wallets:seed

  • Add missing encoding and frozen_string_litteral annotations

  • Remove comment

  • Refactor

  • Refactor html.erb

  • Remove unused code from Services and Clients

  • WalletService::Base refactor

  • Fix specs

  • Fix specs 2

  • [ci skip] Comment wallets and blockchains setting files

Compile assets in production mode (fixes #1695)

Confirmation can't be negative

Currencies dead code clean up (#1518)

  • Add Bitgo Wallet Id In Wallet

  • Remove Bitgo Wallet Address

  • Clean up dead code

  • Removed case_sensitive from currency

  • Added static case_sensitive value to blockchain clients

  • Add missing downcase to Deposit and Withdraw

  • Validate blockchain before Currency create

  • Fix rake seed:wallets

Delete unused daemon and move event_api.md to docs (#1702)

DesignFix (#1519)

Disable api call for creating new deposit address

Do not allow to disable last enabled market (closes #1548) (#1543)

  • Do Not Allow To Disable Last Currency And Market

  • Fix dependent disable && update currencies seed

Drop spaces from admins list

Edit comments in templates for wallets.yml (#1533)

Execute all block updates in single SQL transaction. Find withdrawals and deposits by txid only (closes #1549, closes #1568) (#1622)

Experimental peatio plugin system v2

Expose ask_id & order_id in trade event of websocket api

Extract duplicated code to HasOneBlockchainThroughCurrency (closes #1593)

Fetch latest block transactions using getrawmempool for bitcoin-like blockchains (closes #1621) (#1649)

Fix pool deposit issue

Fix Dockerfile

Fix problem when we publish message but Deposit doesn't exist in db

Fix swagger doc for APIv2 (closes #1605)

Fix typo in setup-osx.md documentation (#1492)

Fix typo (#1496)

Thanks @Atul9

Fix migration multiple_deposit_addresses (#1402)

fix bug on #1775

Fixed Market Type should not appear on Trading-ui

Fixed member private event when order updated

Fixed broken specs (#1620)

Fixed wallet secret not being saved from admin panel (#1552)

Fixed rake db:seed failure (#1541)

Fixed Broken market spec (#1407)

  • Fixed broken market spec

Freeze bundler version in 1.17.1

Handle ActiveRecord::RecordNotFound in member api_v2 remove method duplication (closes #1632)

Human Readable Time Stamps

Implement skimming deposit collection mechanism based on wallet max_balance (closes #1653) (#1735)

  • Added Wallet Service Specs

  • Implement skimming deposit collection mechanism for bitcoin

  • Implement skimming deposit collection mechanism for eth

  • Implement skimming deposit collection mechanism for ripple

  • Enumerize Wallet kind

  • Edit skiming mechanism for ripple wallet

  • Edit skiming mechanism for eth wallet

  • Use hash instead array for deposit collections

  • Update specs with new skiming mechanism and add specs for ripple

  • Add min_collection_amount method to currency

  • Move load_balance! request to blockchain service and add specs for wallet service

  • Add min_collection_amount column to currency and move spread deposit method to protected

Implement Fee wallet for deposit collection fees daemon and fix deposit fees recurrence

Improve deposit collection daemon and add ability to reject fiat deposit

Improved updation of blockchain height and update exception handling mechanism (#1534)

Include PublishToRabbitMQ GenerateJWT Event API middlewares by default (closes #1457) (#1458)

  • Include PublishToRabbitMQ GenerateJWT Event API middlewares by default

Informative message when POST /api/v2/orders with wrong volume

Integrate peatio-core Peatio::Auth::JWTAuthenticator to APIv2 (closes #1555)

Integrate Blockchain and Wallet model and services with new transaction processing and multi wallet support (#1404)

  • Blockchain model and Database seeding

  • Adding wallet seeding

  • Adding wallet model

  • Fix STI problem

  • Add missing associations

  • Fix indexes order

  • Adding factories and a test stub

  • BlockchainService #process_blockchain deposits with proof of work (#1417)

  • Added blockchain service

  • Ability to register a blockchain/wallet from Admin Panel (#1422)

  • Revert some changes (related to #1422)

  • Single BlockchainService per Blockchain (#1424)

  • Added Wallet/Blockchain validations (#1429)

  • Added Wallet/Blockchain validations

  • Confirm withdrawals in BlockchainService #process_blockchain (#1427)

  • Withdraw confirm new behavior

  • Refactor Services

  • Build transaction refactor

  • Fix wallets seed & update blockchain daemon

  • Use min_confirmations instead of withdraw & deposit

  • Get rid of deposit_confirmations

  • Withdraw process to confirming

  • Rebase on master

  • Bitcoin Blockchain Service (#1444)

  • Improve BlockchainService logger. Wallet & Blockchain bugfixes (#1474)

  • Add Blockchain Key In Currency (#1473)

  • Remove CoinAPI & daemons. Rename Client to BlockchainClient (#1476)

  • Remove CoinAPI & daemons

  • Remove CoinAPI & daemons 2

  • Rename Client to BlockchainClient

  • BlockchainService improve performance

  • Fix specs

  • Replace Confirmation With Block Number (#1463)

  • Add gateway & max_balance to wallets (#1478)

  • Wallet per currency

  • WalletService module and WalletService::Base class (#1479)

  • WalletService module and WalletService::Base class

  • WalletClient & WalletClient::Base

  • Added deposit coin address daemon (#1480)

  • Improvements in Deposit coin address daemon (#1482)

  • Geth deposit collectio (eth only)

  • Bitcoind deposit collection

  • ERC20 deposit_collection

  • Withdraw Coin Daemon (#1485)

  • Added withdrawal for ETH/ERC20

  • Added BTC withdraw via bitcoind

  • DepositCollectionFees worker for ERC20 (#1489)

  • DepositCollectionFees worker for ERC20 deposit collection

  • Fix Withdraw confirmation bug

  • Update doc & daemons.god

  • Fix specs

  • Litecoin/Dash/BitcoinCash Blockchain Services (#1475)

  • Added Litecoin/Dash/BitcoinCash Blockchain Services

  • Added Bitcoincash Service/Specs

  • rebased with feature/blockchains

  • rebased with feature/blockchains

  • rebased and updates

  • Added wallet client/service for litecoin/bitcoincash/dash

  • Updates for admin panel (#1501)

  • Use testnet explorer links for testnet blockchains

  • Fix coins explorer links removal

  • Fix erc20 deposit for tx with empty receipt (#1502)

  • Fix wrong client for existing blockchain on admin panel (#1504)

  • Bitgo wallet Client/Service (#1491)

  • Added Bitgo wallet client/service

  • Added dynamic txn estimate fee for deposit_collection daemon

  • Fixed withdraw stuck in confirming (#1507)

  • Improved dynamic txn fees for bitcoind/bitgo (#1509)

  • Feature/blockchains wallets (#1510)

  • Confirm withdrawals in BlockchainService #process_blockchain (#1427)

  • Withdraw confirm new behavior

  • Refactor Services

  • Build transaction refactor

  • Fix wallets seed & update blockchain daemon

  • Use min_confirmations instead of withdraw & deposit

  • Get rid of deposit_confirmations

  • Withdraw process to confirming

  • Admin Panel Modification

  • Added ability to disable currencies, markets and wallets

  • Fix gateway form

  • Wallet Model Changes And Spec Fixes

  • Add Missing File

  • Wallet Service Changes

  • Fixed icons and renamed fields on Market New and Show pages (#1515)

  • Upgrading peatio core

K line daemon & API fix & specs improvement

Load balance from hot wallet before make quick withdraw (#1934)

Massive gem updates

Move versions to Peatio::Application. Remove lib/peatio (closes #1619) (#1636)

On successful trade trigger ranger private order event

Rails security update

rake yarn install now prints the stdout response (#1690)

Ranger integration (#1686)

  • Ranger Integration With Trading-UI
  • Add some vars to gon for Ranger
  • Delete uneeded variable

Release Notes for Peatio 1.9 (#1557)

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1857)

Remove all n+1 queries

Remove warning from event api initializer (#1755)

Remove peatio-trading-ui and dependencies from CI

Remove websocket and stuff

Remove Features Specs

Remove auditing system (you have to use Event API to do audits now) (#1391)

Remove solvency feature (#1390)

Removed unwanted options in currency model and seed file (closes #1611) (#1618)

Removed webhook controller and dependencies

Removing Chromium from Dockerfile

replace PusherMarket and PusherMember with Peatio::MQ::Events

Repository clean up. Minor doc updates (closes #1637, closes #1523)

Return Error if invalid from and to params

Rewrite get_depth to fetch data from db

Rewrite quick withdraw limit mechanism, add 24h and 72h withdraw limits (#1817)

Send label when generating BitGo address. (#1318)

Spec Changes

Spec changes

Starting development v1.9.0-alpha

Store Currency options as JSON and define accessors v1.9

Support Cash Address format

Update package-lock.json

Update comment and values in currencies.yml. Final code refactor

Update bump script to support rc in tag

Update docs about authenticating in management api

Update ffi to 1.9.25 (#1393)

Update sprockets gem (#1386)

Updated websocket api doc

Updated specs

Updated xit Specs (#1542)

Updating Ruby and Gems

Adding gem rubocop-rspec Correcting factories syntax

Updating Travis

Updating travis credentials (#1572)

Updating CHANGELOG for 2018

Updating patch level for gems (#1512)

  • Updating patch level for gems

  • Updating mini_racer

  • Changing sass to sassc

  • Fixed middleware specs failure due to gem update (#1513)

upgrade peatio to 0.4.0

Various fixes in docs (#1672)

  • Various fixes in docs

  • Update README.me

Withdrawals show transaction id (#1411)

  • Withdrawals show transaction id

  • Convert txid to link

#Version 1.8.66

Released 2019-01-03

Add opportunity to define minimum amount for trade

Add Peatio plugin system v2

Add get_depth_from_db to slave_book

Add docs about performance

Add missing API call for getting member accounts (related to #919)

Add API endpoint for currencies (#1433) (#1462)

  • Add API endpoint for currencies (#1433)
  • Add one more spec of currency structure
  • Add documentation about added currency API

Added transaction_url_template and wallet_url_template to currency entities (closes #1664)

Added 24 hours currency trades API endpoint (#1368) (#1420)

  • Added 24 hours currency trades API endpoint (#1368)
  • Fixed broken market spec

Change Currency Id Limit (#1527)

Change Default Domain To peatio.tech (#1454)

Do Not Allow To Disable Last Currency And Market (#1550)

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Expose ask_id & order_id in trade event of websocket api

Fix BitGo Wallet Transactions Query Parameter Incorrect (#1561)

Freeze bundler version in 1.16.6

Include PublishToRabbitMQ GenerateJWT Event API middlewares by default (#1459)

  • Include PublishToRabbitMQ GenerateJWT Event API middlewares by default

Informative message when POST /api/v2/orders with wrong volume

K line daemon & API fix & specs improvement (related to #1689, #1697) (#1696)

  • K-line API fix & specs imporvement (related to #1689)

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL

rename the spec file

Return 200 on successful pusher/auth

Trigger limit order update events

Update ruby version to 2.5.3. Bump mini_racer to 0.2.4 (#1855)

#Version 2.0.10-alpha

Released 2019-01-02

Ability to set custom gas_limit & gas_price per currency.

Ability to use null reference for operation

Add Currency Name

Add missing deposit "skipped" translation (#1926)

Add opportunity to define minimum amount for trade

Add missing method

Apigate integration

Integrate Ambassador gateway. Remove OAuth Authentication and Peatio session support New grape api organisation into account, market, public endpoints Remove CORS

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Louis Bellet <lbellet@openware.com>

Extend entities specs

Improve deposit collection daemon and add ability to reject fiat deposit

Income Statement (#1845) (#1849)

List liability with specs

List assets,revenues,expenses with specs

Load balance from hot wallet before make quick withdraw (#1935)

Managemetn API for creating asset, revenue, expense and libility with specs

Release script updated

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1856)

Rework Peatio accounting using double entry accounting system (#1777)

Add Operation Base model and tables

Add Operations::Asset,Liability,Revenue,Expense Add Operations::Chart which define class of items for which money spent or received Record Asset, Liability and Revenue operations on Deposit accept Record Liability transfer on Order create Record Liability transfer on Order cancel Record Liability transfer and Revenue creation on Trade create Deprecate legacy funds plus lock unlock and subtract funds Add Admin rubric for tracking Operations and Balance sheet Add Admin with Balance sheet

Specs for account/balances and code polishing

Store Currency options as JSON and define accessors

Update specs & Minore spec refactor

use local seeds

Problem: workbench has old seeds config files Solution: use local seeds

#Version 1.9.12

Released 2018-12-29

Add Currency Name (#1944)

#Version 1.9.11

Released 2018-12-26

Ability to set custom gas_limit & gas_price per currency.

Add opportunity to define minimum amount for trade

Add missing method

Fixed Market Type should not appear on Trading-ui

Fixed member private event when order updated

Improve deposit collection daemon and add ability to reject fiat deposit

Load balance from hot wallet before make quick withdraw (#1934)

Massive gem updates

On successful trade trigger ranger private order event

Rails security update

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1857)

Rewrite get_depth to fetch data from db

Store Currency options as JSON and define accessors v1.9

#Version 2.0.9-alpha

Released 2018-12-26

Ability to set custom gas_limit & gas_price per currency.

Ability to use null reference for operation

Ability to retrieve address in both formats cash and legacy via API

Ability to see Transaction ID in user interface (#1546)

  • Ability to see Transaction ID in user interface

Ability to get data between some time interval (time_from, time_to) in GET /api/v2/k (closes #1290) (#1342)

  • get data in specific time interval

Add missing deposit "skipped" translation (#1926)

Add opportunity to define minimum amount for trade

Add missing method

Add validation for order price

Add missing association for fiat

Add docs/plugins.md

Add BULLET to application.yml.erb disable by default

Add Bullet for detecting N+1 problems

Add new state to deposit model to fix deposit recurrence

Add min deposit amount for currencies and validation for small deposits

Add env RANGER_CONNECT_SECURE (#1718)

Add missing url validations to rails models (#1656)

Closes #1652.

  • Add validation for server atttribute in Blockchain model.
  • Add validation for url atttribute in Wallet model.

Add docs about performance

Add grape_strip to resolve whitespace in input params

Add missing address in wallets seed config

Add riple blockchain service and client

Add missing API call for getting member accounts (related to #919)

Add Tools Spec For API

Add rc tag for master releases in bump script

Add Deposit Collection Spec

Add Deposit Coin Address Spec

Add Wallet Support For Bitcoin Cash Legacy Address (#1540)

Add Bitgo Wallet ID And Remove Wallet Address In Wallet Model (#1530)

  • Add Bitgo Wallet Id In Wallet

  • Remove Bitgo Wallet Address

Add icon url to currency (closes #1449) (#1465)

  • Add icon url to currency (closes #1449)

  • Add icon_url in api currency entities. Minor related refactoring

Add ability to specity min price (closes #1447) (#1460)

Add more details for the API docs (#1493)

  • Add security definitions and contact info for swagger spec
  • Add more documentation and swagger stuff for currencies endpoint

Add API endpoint for currencies (#1433)

  • Add API endpoint for currencies

  • Prettify code for currency/trades endpoint

  • Prettify tests for currency/trades endpoint

  • Finish

  • Fix spec

  • Add one more spec of currency structure

  • Fix typo

  • Add documentation about added currency API

  • Fix

Added explorer_transaction and explorer_address to currency entities (closes #1664)

Added Swagger docs spec (#1612)

Added currency address format validation

Added Backport address validation via wallet client

Added new test in trades

Added validation to restrict display currency to be disabled (#1559)

  • Added validation to restrict display currency to be disabled

Added 24 hours currency trades API endpoint (#1368)

Adding Peatio Core

Adding geth backend

Allow to use currencies in both downcase & upcase in Member API (closes #1660) (#1661)

Allow users to have multiple deposit addresses (#1282)

Apigate integration

Integrate Ambassador gateway. Remove OAuth Authentication and Peatio session support New grape api organisation into account, market, public endpoints Remove CORS

Co-authored-by: Yaroslav Savchuk <ysavchuk@heliostech.fr> Co-authored-by: Maksim Naichuk <mnaichuk@heliostech.fr> Co-authored-by: Louis Bellet <lbellet@openware.com>

Backport Inspect Address

Bump rack-attack from 5.2.0 to 5.4.1

Bumps rack-attack from 5.2.0 to 5.4.1.

Signed-off-by: dependabot[bot] <support@dependabot.com>

Change Currency Id Limit (#1526)

Change Default Domain To peatio.tech (#1450)

Changed address limits (#1701)

Code polish and minor bugfix (closes #1531) (#1529)

  • Fix Wallet duplication on each wallets:seed

  • Add missing encoding and frozen_string_litteral annotations

  • Remove comment

  • Refactor

  • Refactor html.erb

  • Remove unused code from Services and Clients

  • WalletService::Base refactor

  • Fix specs

  • Fix specs 2

  • [ci skip] Comment wallets and blockchains setting files

Compile assets in production mode (fixes #1695)

Confirmation can't be negative

Currencies dead code clean up (#1518)

  • Add Bitgo Wallet Id In Wallet

  • Remove Bitgo Wallet Address

  • Clean up dead code

  • Removed case_sensitive from currency

  • Added static case_sensitive value to blockchain clients

  • Add missing downcase to Deposit and Withdraw

  • Validate blockchain before Currency create

  • Fix rake seed:wallets

Delete unused daemon and move event_api.md to docs (#1702)

DesignFix (#1519)

Disable api call for creating new deposit address

Do not allow to disable last enabled market (closes #1548) (#1543)

  • Do Not Allow To Disable Last Currency And Market

  • Fix dependent disable && update currencies seed

Drop spaces from admins list

Edit comments in templates for wallets.yml (#1533)

Execute all block updates in single SQL transaction. Find withdrawals and deposits by txid only (closes #1549, closes #1568) (#1622)

Experimental peatio plugin system v2

Expose ask_id & order_id in trade event of websocket api

Extend entities specs

Extract duplicated code to HasOneBlockchainThroughCurrency (closes #1593)

Fetch latest block transactions using getrawmempool for bitcoin-like blockchains (closes #1621) (#1649)

fix bug on #1775

Fix pool deposit issue

Fix Dockerfile

Fix problem when we publish message but Deposit doesn't exist in db

Fix swagger doc for APIv2 (closes #1605)

Fix typo in setup-osx.md documentation (#1492)

Fix typo (#1496)

Thanks @Atul9

Fix migration multiple_deposit_addresses (#1402)

Fixed broken specs (#1620)

Fixed wallet secret not being saved from admin panel (#1552)

Fixed rake db:seed failure (#1541)

Fixed Broken market spec (#1407)

  • Fixed broken market spec

Handle ActiveRecord::RecordNotFound in member api_v2 remove method duplication (closes #1632)

Human Readable Time Stamps

Implement skimming deposit collection mechanism based on wallet max_balance (closes #1653) (#1735)

  • Added Wallet Service Specs

  • Implement skimming deposit collection mechanism for bitcoin

  • Implement skimming deposit collection mechanism for eth

  • Implement skimming deposit collection mechanism for ripple

  • Enumerize Wallet kind

  • Edit skiming mechanism for ripple wallet

  • Edit skiming mechanism for eth wallet

  • Use hash instead array for deposit collections

  • Update specs with new skiming mechanism and add specs for ripple

  • Add min_collection_amount method to currency

  • Move load_balance! request to blockchain service and add specs for wallet service

  • Add min_collection_amount column to currency and move spread deposit method to protected

Implement Fee wallet for deposit collection fees daemon and fix deposit fees recurrence

Improve deposit collection daemon and add ability to reject fiat deposit

Improved updation of blockchain height and update exception handling mechanism (#1534)

Include PublishToRabbitMQ GenerateJWT Event API middlewares by default (closes #1457) (#1458)

  • Include PublishToRabbitMQ GenerateJWT Event API middlewares by default

Income Statement (#1845) (#1849)

Informative message when POST /api/v2/orders with wrong volume

Integrate peatio-core Peatio::Auth::JWTAuthenticator to APIv2 (closes #1555)

Integrate Blockchain and Wallet model and services with new transaction processing and multi wallet support (#1404)

  • Blockchain model and Database seeding

  • Adding wallet seeding

  • Adding wallet model

  • Fix STI problem

  • Add missing associations

  • Fix indexes order

  • Adding factories and a test stub

  • BlockchainService #process_blockchain deposits with proof of work (#1417)

  • Added blockchain service

  • Ability to register a blockchain/wallet from Admin Panel (#1422)

  • Revert some changes (related to #1422)

  • Single BlockchainService per Blockchain (#1424)

  • Added Wallet/Blockchain validations (#1429)

  • Added Wallet/Blockchain validations

  • Confirm withdrawals in BlockchainService #process_blockchain (#1427)

  • Withdraw confirm new behavior

  • Refactor Services

  • Build transaction refactor

  • Fix wallets seed & update blockchain daemon

  • Use min_confirmations instead of withdraw & deposit

  • Get rid of deposit_confirmations

  • Withdraw process to confirming

  • Rebase on master

  • Bitcoin Blockchain Service (#1444)

  • Improve BlockchainService logger. Wallet & Blockchain bugfixes (#1474)

  • Add Blockchain Key In Currency (#1473)

  • Remove CoinAPI & daemons. Rename Client to BlockchainClient (#1476)

  • Remove CoinAPI & daemons

  • Remove CoinAPI & daemons 2

  • Rename Client to BlockchainClient

  • BlockchainService improve performance

  • Fix specs

  • Replace Confirmation With Block Number (#1463)

  • Add gateway & max_balance to wallets (#1478)

  • Wallet per currency

  • WalletService module and WalletService::Base class (#1479)

  • WalletService module and WalletService::Base class

  • WalletClient & WalletClient::Base

  • Added deposit coin address daemon (#1480)

  • Improvements in Deposit coin address daemon (#1482)

  • Geth deposit collectio (eth only)

  • Bitcoind deposit collection

  • ERC20 deposit_collection

  • Withdraw Coin Daemon (#1485)

  • Added withdrawal for ETH/ERC20

  • Added BTC withdraw via bitcoind

  • DepositCollectionFees worker for ERC20 (#1489)

  • DepositCollectionFees worker for ERC20 deposit collection

  • Fix Withdraw confirmation bug

  • Update doc & daemons.god

  • Fix specs

  • Litecoin/Dash/BitcoinCash Blockchain Services (#1475)

  • Added Litecoin/Dash/BitcoinCash Blockchain Services

  • Added Bitcoincash Service/Specs

  • rebased with feature/blockchains

  • rebased with feature/blockchains

  • rebased and updates

  • Added wallet client/service for litecoin/bitcoincash/dash

  • Updates for admin panel (#1501)

  • Use testnet explorer links for testnet blockchains

  • Fix coins explorer links removal

  • Fix erc20 deposit for tx with empty receipt (#1502)

  • Fix wrong client for existing blockchain on admin panel (#1504)

  • Bitgo wallet Client/Service (#1491)

  • Added Bitgo wallet client/service

  • Added dynamic txn estimate fee for deposit_collection daemon

  • Fixed withdraw stuck in confirming (#1507)

  • Improved dynamic txn fees for bitcoind/bitgo (#1509)

  • Feature/blockchains wallets (#1510)

  • Confirm withdrawals in BlockchainService #process_blockchain (#1427)

  • Withdraw confirm new behavior

  • Refactor Services

  • Build transaction refactor

  • Fix wallets seed & update blockchain daemon

  • Use min_confirmations instead of withdraw & deposit

  • Get rid of deposit_confirmations

  • Withdraw process to confirming

  • Admin Panel Modification

  • Added ability to disable currencies, markets and wallets

  • Fix gateway form

  • Wallet Model Changes And Spec Fixes

  • Add Missing File

  • Wallet Service Changes

  • Fixed icons and renamed fields on Market New and Show pages (#1515)

  • Upgrading peatio core

K line daemon & API fix & specs improvement

List liability with specs

List assets,revenues,expenses with specs

Managemetn API for creating asset, revenue, expense and libility with specs

Move versions to Peatio::Application. Remove lib/peatio (closes #1619) (#1636)

rake yarn install now prints the stdout response (#1690)

Ranger integration (#1686)

  • Ranger Integration With Trading-UI
  • Add some vars to gon for Ranger
  • Delete uneeded variable

Release script updated

Release Notes for Peatio 1.9 (#1557)

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL (#1856)

Remove all n+1 queries

Remove warning from event api initializer (#1755)

Remove peatio-trading-ui and dependencies from CI

Remove websocket and stuff

Remove Features Specs

Remove auditing system (you have to use Event API to do audits now) (#1391)

Remove solvency feature (#1390)

Removed unwanted options in currency model and seed file (closes #1611) (#1618)

Removed webhook controller and dependencies

Removing Chromium from Dockerfile

replace PusherMarket and PusherMember with Peatio::MQ::Events

Repository clean up. Minor doc updates (closes #1637, closes #1523)

Return Error if invalid from and to params

Rework Peatio accounting using double entry accounting system (#1777)

Add Operation Base model and tables

Add Operations::Asset,Liability,Revenue,Expense Add Operations::Chart which define class of items for which money spent or received Record Asset, Liability and Revenue operations on Deposit accept Record Liability transfer on Order create Record Liability transfer on Order cancel Record Liability transfer and Revenue creation on Trade create Deprecate legacy funds plus lock unlock and subtract funds Add Admin rubric for tracking Operations and Balance sheet Add Admin with Balance sheet

Rewrite quick withdraw limit mechanism, add 24h and 72h withdraw limits (#1817)

Send label when generating BitGo address. (#1318)

Spec Changes

Spec changes

Specs for account/balances and code polishing

Starting development v1.9.0-alpha

Store Currency options as JSON and define accessors

Support Cash Address format

Update specs & Minore spec refactor

Update package-lock.json

Update comment and values in currencies.yml. Final code refactor

Update bump script to support rc in tag

Update docs about authenticating in management api

Update ffi to 1.9.25 (#1393)

Update sprockets gem (#1386)

Updated websocket api doc

Updated specs

Updated xit Specs (#1542)

Updating Ruby and Gems

Adding gem rubocop-rspec Correcting factories syntax

Updating Travis

Updating travis credentials (#1572)

Updating CHANGELOG for 2018

Updating patch level for gems (#1512)

  • Updating patch level for gems

  • Updating mini_racer

  • Changing sass to sassc

  • Fixed middleware specs failure due to gem update (#1513)

upgrade peatio to 0.4.0

use local seeds

Problem: workbench has old seeds config files Solution: use local seeds

Various fixes in docs (#1672)

  • Various fixes in docs

  • Update README.me

Withdrawals show transaction id (#1411)

  • Withdrawals show transaction id

  • Convert txid to link

#Version 1.8.65

Released 2018-12-21

Add opportunity to define minimum amount for trade

Add Peatio plugin system v2

Add get_depth_from_db to slave_book

Add docs about performance

Add missing API call for getting member accounts (related to #919)

Add API endpoint for currencies (#1433) (#1462)

  • Add API endpoint for currencies (#1433)
  • Add one more spec of currency structure
  • Add documentation about added currency API

Added transaction_url_template and wallet_url_template to currency entities (closes #1664)

Added 24 hours currency trades API endpoint (#1368) (#1420)

  • Added 24 hours currency trades API endpoint (#1368)
  • Fixed broken market spec

Change Currency Id Limit (#1527)

Change Default Domain To peatio.tech (#1454)

Do Not Allow To Disable Last Currency And Market (#1550)

Event API serializers imporvements (closes #1376, #1396) (#1442)

  • #1376: Add account model event
  • #1396: Add id to order and trade events

Expose ask_id & order_id in trade event of websocket api

Fix BitGo Wallet Transactions Query Parameter Incorrect (#1561)

Include PublishToRabbitMQ GenerateJWT Event API middlewares by default (#1459)

  • Include PublishToRabbitMQ GenerateJWT Event API middlewares by default

Informative message when POST /api/v2/orders with wrong volume

K line daemon & API fix & specs improvement (related to #1689, #1697) (#1696)

  • K-line API fix & specs imporvement (related to #1689)

Remove REDIS_PASSWORD env which is always overridden by REDIS_URL

rename the spec file

Return 200 on successful pusher/auth

Trigger limit order update events

Update ruby version to 2.5.3. Bump mini_racer to 0.2.4 (#1855)

#Version 1.9.10

Released 2018-12-20

#Version 1.9.9

Released 2018-12-20

Ability to set custom gas_limit & gas_price per currency.

Add opportunity to define minimum amount for trade

Add missing method

Fixed Market Type should not appear on Trading-ui

Fixed member private event when order updated

Improve deposit collection daemon and add ability to reject fiat deposit

Massive ge