Code Monkey home page Code Monkey logo

suenot / profitmaker Goto Github PK

View Code? Open in Web Editor NEW
249.0 17.0 70.0 18.84 MB

Ccxt based, open source, customized, extendable trading platform that supports 130+ crypto exchanges.

Home Page: https://profitmaker-react-git-master-suenot.vercel.app/

License: GNU General Public License v2.0

JavaScript 60.18% HTML 0.63% Vue 29.51% Dockerfile 0.07% Sass 4.57% CSS 3.18% TypeScript 1.87%
trading stock-data stock dashboard bot terminal trade cryptocurrency bitcoin binance

profitmaker's Introduction

Profitmaker (previously named "Kupi-terminal") – crypto currency trading terminal

License Discord Version Version Version codecov Codacy Badge Build Status Open in CodeSandbox Run on Repl.it

Open source, customized, extendable trading terminal that supports 130+ crypto exchanges.

Important announcement

I started the new full rewrite of the project. It will be more stable, more secure and more flexible. You can check it v2.0.0-dev github branch. I am going to finish stable version in July 2024. I will be happy to see you there. Welcome to discuss details in discord. To support the project, you can donate to the following address:

Description for v.1.0.0

Demo

Demo

React version: https://react.profitmaker.app/

Vue version: https://vue.profitmaker.app/

Project repositories:

How it works

Demo

Features

  • Open source
  • Your api keys stay on your machine, no need to send them anywhere
  • Customized with dashboards and widgets
  • Extendable with users modules
  • Free realtime API (Timeseries will be in immediate future)
  • Framework for creating trading bots

Technologies

WARNING

THE SOFTWARE UNDER HEAVY DEVELOPMENT. PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.

Quick start

If you had any problems with installing we can help in voice/text Discord chat

API

Server api

Server: https://kupi.network/api (secure) or http://kupi.network/api (faster)

Swagger: try api online

/stocks
/binance/pairs
/binance/orders/ETH_BTC
/binance/trades/ETH_BTC
/binance/candles/ETH_BTC/1m # timeframes: ['1m', '3m', '5m', '15m', '30m', '1H', '2H', '4H', '6H', '12H', 'D', 'W', 'M']
/coinmarketcap

terminal server api:

http://localhost:8051/

/balance
/openOrders/:stock/:pair
/myTrades/:stock/:pair
/cancelOrder
/createOrder

Team

Contact Us

For business inquiries contact with Eugen Soloviov

Sponsored Promotion

Want this place? Contact with Eugen Soloviov

Placehodler

profitmaker's People

Contributors

deepsourcebot avatar soloviofff avatar suenot avatar wmaxb1992 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

profitmaker's Issues

node-gyp error

yarn not works:

error /home/suenot/work/kupi-terminal/node_modules/scrypt: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments: 
Directory: /home/suenot/work/kupi-terminal/node_modules/scrypt
Output:
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | linux | x64
gyp info find Python using Python version 3.7.4 found at "/usr/bin/python"
gyp info spawn /usr/bin/python
gyp info spawn args [
gyp info spawn args   '/home/suenot/work/kupi-terminal/node_modules/@lerna/add/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/home/suenot/work/kupi-terminal/node_modules/scrypt/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/suenot/work/kupi-terminal/node_modules/@lerna/add/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/suenot/.cache/node-gyp/12.13.1/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/home/suenot/.cache/node-gyp/12.13.1',
gyp info spawn args   '-Dnode_gyp_dir=/home/suenot/work/kupi-terminal/node_modules/@lerna/add/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/home/suenot/.cache/node-gyp/12.13.1/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/home/suenot/work/kupi-terminal/node_modules/scrypt',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: вход в каталог «/home/suenot/work/kupi-terminal/node_modules/scrypt/build»
  SOLINK_MODULE(target) Release/obj.target/copied_files.node
  COPY Release/copied_files.node
  CC(target) Release/obj.target/scrypt_wrapper/src/util/memlimit.o
  CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/keyderivation.o
  CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/pickparams.o
  CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/hash.o
  AR(target) Release/obj.target/scrypt_wrapper.a
  COPY Release/scrypt_wrapper.a
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/lib/crypto/crypto_scrypt.o
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/lib/crypto/crypto_scrypt_smix.o
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/libcperciva/util/warnp.o
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/libcperciva/alg/sha256.o
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/libcperciva/util/insecure_memzero.o
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/lib/scryptenc/scryptenc_cpuperf.o
  AR(target) Release/obj.target/scrypt_lib.a
  COPY Release/scrypt_lib.a
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_common.o
In file included from ../src/node-boilerplate/scrypt_common.cc:28:
../../nan/nan.h: В функции «void Nan::AsyncQueueWorker(Nan::AsyncWorker*)»:
../../nan/nan.h:2298:62: предупреждение: cast between incompatible function types from «void (*)(uv_work_t*)» {aka «void (*)(uv_work_s*)»} to «uv_after_work_cb» {aka «void (*)(uv_work_s*, int)»} [-Wcast-function-type]
 2298 |     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
      |                                                              ^
In file included from /home/suenot/.cache/node-gyp/12.13.1/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/node-boilerplate/scrypt_common.cc:28:
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h: В конкретизации «void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]»:
/home/suenot/.cache/node-gyp/12.13.1/include/node/node_object_wrap.h:84:78:   required from here
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:10004:16: предупреждение: cast between incompatible function types from «v8::WeakCallbackInfo<node::ObjectWrap>::Callback» {aka «void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)»} to «Callback» {aka «void (*)(const v8::WeakCallbackInfo<void>&)»} [-Wcast-function-type]
10004 |                reinterpret_cast<Callback>(callback), type);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h: В конкретизации «void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]»:
../../nan/nan_object_wrap.h:65:61:   required from here
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:10004:16: предупреждение: cast between incompatible function types from «v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback» {aka «void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)»} to «Callback» {aka «void (*)(const v8::WeakCallbackInfo<void>&)»} [-Wcast-function-type]
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_params_async.o
In file included from ../src/node-boilerplate/scrypt_params_async.cc:1:
../../nan/nan.h: В функции «void Nan::AsyncQueueWorker(Nan::AsyncWorker*)»:
../../nan/nan.h:2298:62: предупреждение: cast between incompatible function types from «void (*)(uv_work_t*)» {aka «void (*)(uv_work_s*)»} to «uv_after_work_cb» {aka «void (*)(uv_work_s*, int)»} [-Wcast-function-type]
 2298 |     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
      |                                                              ^
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28,
                 from ../src/node-boilerplate/inc/scrypt_params_async.h:28,
                 from ../src/node-boilerplate/scrypt_params_async.cc:4:
../src/node-boilerplate/inc/scrypt_common.h: В конструкторе «NodeScrypt::Params::Params(const v8::Local<v8::Object>&)»:
../src/node-boilerplate/inc/scrypt_common.h:39:48: предупреждение: «v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)» устарело: Use maybe version [-Wdeprecated-declarations]
   39 |       N(obj->Get(Nan::New("N").ToLocalChecked())->Uint32Value()),
      |                                                ^
In file included from /home/suenot/.cache/node-gyp/12.13.1/include/node/v8-internal.h:14,
                 from /home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:25,
                 from /home/suenot/.cache/node-gyp/12.13.1/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/node-boilerplate/scrypt_params_async.cc:1:
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:3457:51: замечание: объявлено здесь
 3457 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8config.h:311:3: замечание: в определении макроса «V8_DEPRECATED»
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28,
                 from ../src/node-boilerplate/inc/scrypt_params_async.h:28,
                 from ../src/node-boilerplate/scrypt_params_async.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:39:63: ошибка: no matching function for call to «v8::Value::Uint32Value()»
   39 |       N(obj->Get(Nan::New("N").ToLocalChecked())->Uint32Value()),
      |                                                               ^
In file included from /home/suenot/.cache/node-gyp/12.13.1/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/node-boilerplate/scrypt_params_async.cc:1:
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:2611:41: замечание: candidate: «v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const»
 2611 |   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
      |                                         ^~~~~~~~~~~
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:2611:41: замечание:   кандидат ожидает 1 аргумент, 0 предоставлено
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28,
                 from ../src/node-boilerplate/inc/scrypt_params_async.h:28,
                 from ../src/node-boilerplate/scrypt_params_async.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:40:48: предупреждение: «v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)» устарело: Use maybe version [-Wdeprecated-declarations]
   40 |       r(obj->Get(Nan::New("r").ToLocalChecked())->Uint32Value()),
      |                                                ^
In file included from /home/suenot/.cache/node-gyp/12.13.1/include/node/v8-internal.h:14,
                 from /home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:25,
                 from /home/suenot/.cache/node-gyp/12.13.1/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/node-boilerplate/scrypt_params_async.cc:1:
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:3457:51: замечание: объявлено здесь
 3457 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8config.h:311:3: замечание: в определении макроса «V8_DEPRECATED»
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28,
                 from ../src/node-boilerplate/inc/scrypt_params_async.h:28,
                 from ../src/node-boilerplate/scrypt_params_async.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:40:63: ошибка: no matching function for call to «v8::Value::Uint32Value()»
   40 |       r(obj->Get(Nan::New("r").ToLocalChecked())->Uint32Value()),
      |                                                               ^
In file included from /home/suenot/.cache/node-gyp/12.13.1/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/node-boilerplate/scrypt_params_async.cc:1:
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:2611:41: замечание: candidate: «v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const»
 2611 |   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
      |                                         ^~~~~~~~~~~
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:2611:41: замечание:   кандидат ожидает 1 аргумент, 0 предоставлено
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28,
                 from ../src/node-boilerplate/inc/scrypt_params_async.h:28,
                 from ../src/node-boilerplate/scrypt_params_async.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:41:48: предупреждение: «v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)» устарело: Use maybe version [-Wdeprecated-declarations]
   41 |       p(obj->Get(Nan::New("p").ToLocalChecked())->Uint32Value()) {}
      |                                                ^
In file included from /home/suenot/.cache/node-gyp/12.13.1/include/node/v8-internal.h:14,
                 from /home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:25,
                 from /home/suenot/.cache/node-gyp/12.13.1/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/node-boilerplate/scrypt_params_async.cc:1:
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:3457:51: замечание: объявлено здесь
 3457 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8config.h:311:3: замечание: в определении макроса «V8_DEPRECATED»
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/node-boilerplate/inc/scrypt_async.h:28,
                 from ../src/node-boilerplate/inc/scrypt_params_async.h:28,
                 from ../src/node-boilerplate/scrypt_params_async.cc:4:
../src/node-boilerplate/inc/scrypt_common.h:41:63: ошибка: no matching function for call to «v8::Value::Uint32Value()»
   41 |       p(obj->Get(Nan::New("p").ToLocalChecked())->Uint32Value()) {}
      |                                                               ^
In file included from /home/suenot/.cache/node-gyp/12.13.1/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/node-boilerplate/scrypt_params_async.cc:1:
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:2611:41: замечание: candidate: «v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const»
 2611 |   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
      |                                         ^~~~~~~~~~~
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:2611:41: замечание:   кандидат ожидает 1 аргумент, 0 предоставлено
In file included from ../src/node-boilerplate/inc/scrypt_params_async.h:28,
                 from ../src/node-boilerplate/scrypt_params_async.cc:4:
../src/node-boilerplate/inc/scrypt_async.h: В функции-члене «virtual void ScryptAsyncWorker::HandleErrorCallback()»:
../src/node-boilerplate/inc/scrypt_async.h:53:29: предупреждение: «v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const» устарело [-Wdeprecated-declarations]
   53 |       callback->Call(1, argv);
      |                             ^
In file included from ../src/node-boilerplate/scrypt_params_async.cc:1:
../../nan/nan.h:1740:3: замечание: объявлено здесь
 1740 |   Call(int argc, v8::Local<v8::Value> argv[]) const {
      |   ^~~~
In file included from ../src/node-boilerplate/scrypt_params_async.cc:4:
../src/node-boilerplate/inc/scrypt_params_async.h: В конструкторе «ScryptParamsAsyncWorker::ScryptParamsAsyncWorker(Nan::NAN_METHOD_ARGS_TYPE)»:
../src/node-boilerplate/inc/scrypt_params_async.h:35:36: ошибка: no matching function for call to «v8::Value::NumberValue()»
   35 |       maxtime(info[0]->NumberValue()),
      |                                    ^
In file included from /home/suenot/.cache/node-gyp/12.13.1/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/node-boilerplate/scrypt_params_async.cc:1:
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:2608:39: замечание: candidate: «v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const»
 2608 |   V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
      |                                       ^~~~~~~~~~~
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:2608:39: замечание:   кандидат ожидает 1 аргумент, 0 предоставлено
In file included from ../src/node-boilerplate/scrypt_params_async.cc:4:
../src/node-boilerplate/inc/scrypt_params_async.h:36:39: ошибка: no matching function for call to «v8::Value::NumberValue()»
   36 |       maxmemfrac(info[1]->NumberValue()),
      |                                       ^
In file included from /home/suenot/.cache/node-gyp/12.13.1/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/node-boilerplate/scrypt_params_async.cc:1:
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:2608:39: замечание: candidate: «v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const»
 2608 |   V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
      |                                       ^~~~~~~~~~~
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:2608:39: замечание:   кандидат ожидает 1 аргумент, 0 предоставлено
In file included from ../src/node-boilerplate/scrypt_params_async.cc:4:
../src/node-boilerplate/inc/scrypt_params_async.h:37:36: ошибка: no matching function for call to «v8::Value::IntegerValue()»
   37 |       maxmem(info[2]->IntegerValue()),
      |                                    ^
In file included from /home/suenot/.cache/node-gyp/12.13.1/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/node-boilerplate/scrypt_params_async.cc:1:
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:2609:40: замечание: candidate: «v8::Maybe<long int> v8::Value::IntegerValue(v8::Local<v8::Context>) const»
 2609 |   V8_WARN_UNUSED_RESULT Maybe<int64_t> IntegerValue(
      |                                        ^~~~~~~~~~~~
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:2609:40: замечание:   кандидат ожидает 1 аргумент, 0 предоставлено
In file included from ../src/node-boilerplate/scrypt_params_async.cc:4:
../src/node-boilerplate/inc/scrypt_params_async.h:38:39: ошибка: no matching function for call to «v8::Value::IntegerValue()»
   38 |       osfreemem(info[3]->IntegerValue())
      |                                       ^
In file included from /home/suenot/.cache/node-gyp/12.13.1/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/node-boilerplate/scrypt_params_async.cc:1:
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:2609:40: замечание: candidate: «v8::Maybe<long int> v8::Value::IntegerValue(v8::Local<v8::Context>) const»
 2609 |   V8_WARN_UNUSED_RESULT Maybe<int64_t> IntegerValue(
      |                                        ^~~~~~~~~~~~
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:2609:40: замечание:   кандидат ожидает 1 аргумент, 0 предоставлено
../src/node-boilerplate/scrypt_params_async.cc: В функции-члене «virtual void ScryptParamsAsyncWorker::HandleOKCallback()»:
../src/node-boilerplate/scrypt_params_async.cc:23:67: предупреждение: «bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)» устарело: Use maybe version [-Wdeprecated-declarations]
   23 |   obj->Set(Nan::New("N").ToLocalChecked(), Nan::New<Integer>(logN));
      |                                                                   ^
In file included from /home/suenot/.cache/node-gyp/12.13.1/include/node/v8-internal.h:14,
                 from /home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:25,
                 from /home/suenot/.cache/node-gyp/12.13.1/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/node-boilerplate/scrypt_params_async.cc:1:
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:3403:22: замечание: объявлено здесь
 3403 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8config.h:311:3: замечание: в определении макроса «V8_DEPRECATED»
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/node-boilerplate/scrypt_params_async.cc:24:64: предупреждение: «bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)» устарело: Use maybe version [-Wdeprecated-declarations]
   24 |   obj->Set(Nan::New("r").ToLocalChecked(), Nan::New<Integer>(r));
      |                                                                ^
In file included from /home/suenot/.cache/node-gyp/12.13.1/include/node/v8-internal.h:14,
                 from /home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:25,
                 from /home/suenot/.cache/node-gyp/12.13.1/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/node-boilerplate/scrypt_params_async.cc:1:
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:3403:22: замечание: объявлено здесь
 3403 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8config.h:311:3: замечание: в определении макроса «V8_DEPRECATED»
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/node-boilerplate/scrypt_params_async.cc:25:64: предупреждение: «bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)» устарело: Use maybe version [-Wdeprecated-declarations]
   25 |   obj->Set(Nan::New("p").ToLocalChecked(), Nan::New<Integer>(p));
      |                                                                ^
In file included from /home/suenot/.cache/node-gyp/12.13.1/include/node/v8-internal.h:14,
                 from /home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:25,
                 from /home/suenot/.cache/node-gyp/12.13.1/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/node-boilerplate/scrypt_params_async.cc:1:
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:3403:22: замечание: объявлено здесь
 3403 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8config.h:311:3: замечание: в определении макроса «V8_DEPRECATED»
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/node-boilerplate/scrypt_params_async.cc:32:25: предупреждение: «v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const» устарело [-Wdeprecated-declarations]
   32 |   callback->Call(2, argv);
      |                         ^
In file included from ../src/node-boilerplate/scrypt_params_async.cc:1:
../../nan/nan.h:1740:3: замечание: объявлено здесь
 1740 |   Call(int argc, v8::Local<v8::Value> argv[]) const {
      |   ^~~~
In file included from /home/suenot/.cache/node-gyp/12.13.1/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/node-boilerplate/scrypt_params_async.cc:1:
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h: В конкретизации «void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]»:
/home/suenot/.cache/node-gyp/12.13.1/include/node/node_object_wrap.h:84:78:   required from here
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:10004:16: предупреждение: cast between incompatible function types from «v8::WeakCallbackInfo<node::ObjectWrap>::Callback» {aka «void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)»} to «Callback» {aka «void (*)(const v8::WeakCallbackInfo<void>&)»} [-Wcast-function-type]
10004 |                reinterpret_cast<Callback>(callback), type);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h: В конкретизации «void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]»:
../../nan/nan_object_wrap.h:65:61:   required from here
/home/suenot/.cache/node-gyp/12.13.1/include/node/v8.h:10004:16: предупреждение: cast between incompatible function types from «v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback» {aka «void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)»} to «Callback» {aka «void (*)(const v8::WeakCallbackInfo<void>&)»} [-Wcast-function-type]
make: *** [scrypt.target.mk:129: Release/obj.target/scrypt/src/node-boilerplate/scrypt_params_async.o] Ошибка 1
make: выход из каталога «/home/suenot/work/kupi-terminal/node_modules/scrypt/build»
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/suenot/work/kupi-terminal/node_modules/@lerna/add/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:210:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Linux 5.3.12-1-MANJARO
gyp ERR! command "/home/suenot/.nvm/versions/node/v12.13.1/bin/node" "/home/suenot/work/kupi-terminal/node_modules/.bin/node-gyp" "rebuild"
gyp ERR! cwd /home/suenot/work/kupi-terminal/node_modules/scrypt

React: DOM error in Orders

TypeError: Cannot read property 'offsetTop' of null
(anonymous function)
src/core_components/Orders/Orders.js:154
  151 | if (this.props.data.type === 'both') {
  152 |   setTimeout(()=> {
  153 |     var widgetHeight = ReactDOM.findDOMNode(this).parentNode.parentNode.parentNode.offsetHeight
> 154 |     var top = ReactDOM.findDOMNode(this).querySelector('.orders-center').offsetTop
      | ^  155 |     ReactDOM.findDOMNode(this).parentNode.scrollTop = top - widgetHeight / 2 + 24
  156 |   }, 200)
  157 | }

Express: priority queue

Stocks have limits for queries on their servers by api. It's about 1-3 second on request.
Therefore we had queue for queries.

Task:
Need to monitor queue length.
Need to create queries with higher priority for buy/sell/cancel orders.

Support of multiple accounts on stock

New format of keys:

{
  "id": "ID_KEYRING",
  "name": "NAME_KEYRING",
  "parser": "ccxt",
  "stock": "binance",
  "safe_apiKey": "",
  "safe_secret": "",
  "notSafe_apiKey": "",
  "notSafe_secret": "",
  "danger_apiKey": "",
  "danger_secret": "",
  "2fa_hash": "bbbbb",
  "2fa_secret": "nnnnn",
  "2fa_type": "totp",
  "proxy": ["http://localhost:1001/"],
  "withdrawLimit": "1",
  "withdrawLimitIn": "BTC",
  "note": "Verification level 2"
},
{
  "id": "ethplorer_1",
  "parser": "ethplorer",
  "name": "My_eth_wallet",
  "address": "",
  "note": ""
}

React: Broke candles chart in drawer dashboard

Error: Showing 0 datapoints, review the 'xExtents' prop of ChartCanvas
▶ 26 stack frames were collapsed.
(anonymous function)
src/stores/OhlcvStore.js:69
  66 |   if (!response.data) {
  67 |     this.ohlcv[key] = []
  68 |   } else {
> 69 |     this.ohlcv[key] = response.data
     | ^  70 |   }
  71 | })
  72 | .catch((error) => {

Authorization

Terminal under heavy development. In current version trades processing by routing on client express.js server without authorization. In near future it will be fixed. But server works on 127.0.0.1 (not in 0.0.0.0) and others computers from internet or lan can't use terminal.

React: Temporary dashboards

Need to create:

  • Left drawer for: "API keys", "Socials", "Settings", "Add widget", "Dashboard settings".
  • Right drawer for Temporary dashboards.
  • Second right drawer (with offset from right in 347px) for: "Temporary dashboard settings", "Add widget in temporary dashboard".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.