Browse Source

Merge branch 'dev' into jl777

jl777
jl777 7 years ago
parent
commit
bd65d220dd
  1. 3
      .gitignore
  2. 30
      .travis.yml
  3. 4
      CMakeLists.txt
  4. 20
      Jenkinsfile
  5. 6
      appveyor.yml
  6. 2
      cpp-ethereum
  7. 8
      crypto777/CMakeLists.txt
  8. 20
      iguana/exchanges/CMakeLists.txt
  9. 5
      iguana/exchanges/LP_commands.c
  10. 2
      iguana/exchanges/LP_etomic.h
  11. 8
      iguana/exchanges/etomicswap/CMakeLists.txt
  12. 2
      marketmaker_build_depends.cmd
  13. 56
      marketmaker_build_etomic.cmd

3
.gitignore

@ -259,3 +259,6 @@ build
.idea
Release/*
build_win64_release/*
DB/*

30
.travis.yml

@ -0,0 +1,30 @@
language: c
matrix:
include:
- os: linux
compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
env: OS_NAME=Linux MATRIX_EVAL="CC=gcc-7 && CXX=g++-7"
- os: osx
compiler: clang
env: OS_NAME=Darwin
osx_image: xcode9.2
before_install:
- git submodule update --init --recursive
script:
- mkdir build && cd build
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cmake -DCMAKE_C_COMPILER=/usr/bin/gcc-7 -DCMAKE_CXX_COMPILER=/usr/bin/g++-7 ..; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cmake ..; fi
- cmake --build . --target marketmaker-mainnet
cache:
directories:
- $HOME/.hunter

4
CMakeLists.txt

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.9.6)
cmake_minimum_required(VERSION 3.9.2)
include("cmake/HunterGate.cmake")
HunterGate(
URL "https://github.com/ruslo/hunter/archive/v0.19.173.tar.gz"
@ -23,7 +23,7 @@ download_project(PROJ nanomsg
UPDATE_DISCONNECTED 1
)
find_library(NANOMSG_LIBRARY NAMES nanomsg PATHS ${DEPS_INSTALL_PREFIX}/lib)
find_library(NANOMSG_LIBRARY NAMES nanomsg PATHS ${DEPS_INSTALL_PREFIX}/lib NO_DEFAULT_PATH)
include_directories("${CMAKE_SOURCE_DIR}")
add_subdirectory(cpp-ethereum)
add_subdirectory(iguana/exchanges)

20
Jenkinsfile

@ -0,0 +1,20 @@
pipeline {
agent {
docker {
image 'artempikulin/cmake-ubuntu'
}
}
stages {
stage('Build') {
steps {
sh '''git submodule update --init --recursive
rm -rf build
mkdir build
cd build
cmake ..
cmake --build . --target marketmaker-testnet'''
}
}
}
}

6
appveyor.yml

@ -0,0 +1,6 @@
version: 1.0.{build}
branches:
only:
- etomic
build_script:
- cmd: marketmaker_build_etomic.cmd

2
cpp-ethereum

@ -1 +1 @@
Subproject commit 633c62c08bc73c7c3935c948a8d6c656a3659976
Subproject commit c25a98257e7104875503e183dd0f27d49b3efd56

8
crypto777/CMakeLists.txt

@ -2,4 +2,10 @@ file(GLOB sources "*.c")
file(GLOB headers "*.h")
add_library(libcrypto777 ${sources} ${headers})
target_compile_definitions(libcrypto777 PRIVATE USE_STATIC_NANOMSG)
target_link_libraries(libcrypto777 PUBLIC curl ${NANOMSG_LIBRARY})
target_link_libraries(libcrypto777 PUBLIC curl ${NANOMSG_LIBRARY})
if(WIN32)
add_definitions(-DNATIVE_WINDOWS)
add_definitions(-DIGUANA_LOG2PACKETSIZE=20)
add_definitions(-DIGUANA_MAXPACKETSIZE=1572864)
include_directories("${CMAKE_SOURCE_DIR}/includes")
endif()

20
iguana/exchanges/CMakeLists.txt

@ -1,14 +1,34 @@
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
set(MM_SOURCES mm.c ../mini-gmp.c ../groestl.c ../segwit_addr.c ../keccak.c LP_etomic.c)
set(MM_LIBS curl pthread libcrypto777 libjpeg libsecp256k1)
if(WIN32)
link_directories(${CMAKE_SOURCE_DIR}/marketmaker_depends/curl/build_msvc_2015_win64/lib/Release ${CMAKE_SOURCE_DIR}/marketmaker_depends/pthread-win32/bin/x64_MSVC2015.Release ${CMAKE_SOURCE_DIR}/marketmaker_depends/nanomsg/build_msvc_2015_win64/Release)
set(MM_LIBS ${MM_LIBS} nanomsg)
endif()
add_executable(marketmaker-testnet ${MM_SOURCES})
add_executable(marketmaker-mainnet ${MM_SOURCES})
include_directories(../../crypto777)
if(WIN32)
target_compile_definitions(marketmaker-mainnet PRIVATE)
target_compile_definitions(marketmaker-testnet PRIVATE ETOMIC_TESTNET)
else()
target_compile_definitions(marketmaker-testnet PRIVATE ETOMIC_TESTNET USE_STATIC_NANOMSG)
target_compile_definitions(marketmaker-mainnet PRIVATE USE_STATIC_NANOMSG)
endif()
if(UNIX)
target_link_libraries(marketmaker-testnet m)
target_link_libraries(marketmaker-mainnet m)
endif()
if(WIN32)
add_definitions(-DNATIVE_WINDOWS)
add_definitions(-DIGUANA_LOG2PACKETSIZE=20)
add_definitions(-DIGUANA_MAXPACKETSIZE=1572864)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
include_directories("${CMAKE_SOURCE_DIR}/includes")
endif()
target_link_libraries(marketmaker-testnet ${MM_LIBS} etomiclib-testnet)
target_link_libraries(marketmaker-mainnet ${MM_LIBS} etomiclib-mainnet)
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
target_link_libraries(marketmaker-mainnet -static-libgcc -static-libstdc++)
target_link_libraries(marketmaker-testnet -static-libgcc -static-libstdc++)
endif()

5
iguana/exchanges/LP_commands.c

@ -384,6 +384,11 @@ jpg(srcfile, destfile, power2=7, password, data="", required, ind=0)\n\
jaddbits256(retjson,"privkey",privkey);
bitcoin_priv2wif(coin,wiftaddr,wifstr,privkey,wiftype);
jaddstr(retjson,"wif",wifstr);
#ifndef NOTETOMIC
char ethaddr[50];
LP_etomic_pubkeystr_to_addr(pubsecp, ethaddr);
jaddstr(retjson,"ethaddr",ethaddr);
#endif
return(jprint(retjson,1));
} else return(clonestr("{\"error\":\"need to have passphrase\"}"));
}

2
iguana/exchanges/LP_etomic.h

@ -51,4 +51,6 @@ uint8_t LP_etomic_is_empty_tx_id(char *txId);
uint64_t LP_etomic_get_balance(struct iguana_info *coin, char *coinaddr);
void LP_etomic_pubkeystr_to_addr(char *pubkey, char *output);
#endif //SUPERNET_LP_ETOMIC_H

8
iguana/exchanges/etomicswap/CMakeLists.txt

@ -4,6 +4,14 @@ add_library(etomiclib-mainnet etomiclib.cpp etomiccurl.c)
target_compile_definitions(etomiclib-testnet PRIVATE ETOMIC_TESTNET)
add_executable(alice alice.c)
add_executable(bob bob.c)
if(WIN32)
add_definitions(-DNATIVE_WINDOWS)
add_definitions(-DIGUANA_LOG2PACKETSIZE=20)
add_definitions(-DIGUANA_MAXPACKETSIZE=1572864)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
add_definitions(-DNOMINMAX)
include_directories("${CMAKE_SOURCE_DIR}/includes")
endif()
include_directories("${CMAKE_SOURCE_DIR}/cpp-ethereum")
target_link_libraries(etomiclib-testnet PUBLIC curl libcrypto777 ethcore devcrypto devcore pthread)
target_link_libraries(etomiclib-mainnet PUBLIC curl libcrypto777 ethcore devcrypto devcore pthread)

2
marketmaker_build_depends.cmd

@ -75,7 +75,7 @@ cd curl
mkdir build_msvc_2015_win32
mkdir build_msvc_2015_win64
cd build_msvc_2015_win64
cmake -G "Visual Studio 14 2015 Win64" ..
cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_USE_WINSSL:BOOL=ON ..
cmake --build . --config Release --target libcurl
rem cmake .. -G"Visual Studio 14 2015 Win64" -DCURL_STATICLIB=ON -DCURL_DISABLE_LDAP=ON -DCURL_STATIC_CRT=ON

56
marketmaker_build_etomic.cmd

@ -0,0 +1,56 @@
@echo off
rem (c) Decker
echo [#1] Build nanomsg, curl and pthreads ...
call marketmaker_build_depends.cmd
copy marketmaker_depends\curl\build_msvc_2015_win64\lib\Release\libcurl_imp.lib marketmaker_depends\curl\build_msvc_2015_win64\lib\Release\curl.lib
copy marketmaker_depends\pthread-win32\bin\x64_MSVC2015.Release\pthread_lib.lib marketmaker_depends\pthread-win32\bin\x64_MSVC2015.Release\pthread.lib
echo [#2] Prepare build etomic needed things ...
git submodule init
git submodule update --init --recursive
cd cpp-ethereum
rem git submodule init
rem git submodule update --init
call scripts\install_deps.bat
cd ..
mkdir build_win64_release
cd build_win64_release
cmake .. -G "Visual Studio 14 2015 Win64"
rem Steps before build:
rem
rem crypto777\CMakeLists.txt
rem Add:
rem if(WIN32)
rem add_definitions(-DNATIVE_WINDOWS)
rem add_definitions(-DIGUANA_LOG2PACKETSIZE=20)
rem add_definitions(-DIGUANA_MAXPACKETSIZE=1572864)
rem include_directories("${CMAKE_SOURCE_DIR}/includes")
rem endif()
rem
rem iguana\exchanges\CMakeLists.txt
rem
rem if(WIN32)
rem add_definitions(-DNATIVE_WINDOWS)
rem add_definitions(-DIGUANA_LOG2PACKETSIZE=20)
rem add_definitions(-DIGUANA_MAXPACKETSIZE=1572864)
rem add_definitions(-D_CRT_SECURE_NO_WARNINGS)
rem include_directories("${CMAKE_SOURCE_DIR}/includes")
rem endif()
rem
rem iguana\exchanges\etomicswap\CMakeLists.txt
rem
rem if(WIN32)
rem add_definitions(-DNATIVE_WINDOWS)
rem add_definitions(-DIGUANA_LOG2PACKETSIZE=20)
rem add_definitions(-DIGUANA_MAXPACKETSIZE=1572864)
rem add_definitions(-D_CRT_SECURE_NO_WARNINGS)
rem add_definitions(-DNOMINMAX)
rem include_directories("${CMAKE_SOURCE_DIR}/includes")
rem endif()
echo [#3] Build marketmaker-mainnet ...
cmake --build . --config Release --target marketmaker-mainnet
cd ..
Loading…
Cancel
Save