diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..603ad01
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,6 @@
+**/obj/
+**/bin/
+packages/
+paket-files
+.git
+.paket/*.exe
diff --git a/.travis.yml b/.travis.yml
index 9085b60..be8eb26 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,4 @@
language: csharp
-# mono: none
matrix:
allow_failures:
@@ -12,6 +11,15 @@ matrix:
sudo: required
dotnet: 2.1.104
+ - os: linux
+ services:
+ - docker
+ before_script:
+ - ./docko build
+
+ script:
+ - ./docko run --rm cec bash -c "./run test"
+
# https://docs.travis-ci.com/user/reference/osx/#OS-X-Version
- os: osx # OSX 10.13
osx_image: xcode9.3
@@ -22,5 +30,5 @@ before_script:
- bash -c "./run init"
script:
- - bash -c "./run test:restore"
+ - bash -c "./run restore"
- bash -c "./run test"
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..6bdb5c0
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,42 @@
+# TODO: publish this dev image
+FROM microsoft/dotnet:2.0.7-sdk-2.1.105 AS dev-env
+WORKDIR /app
+
+RUN echo \
+ && apt update \
+ && apt install -y apt-transport-https
+
+# MONO
+
+# https://unix.stackexchange.com/a/253476/45041
+RUN echo \
+ && export CODENAME="$(dpkg --status tzdata|grep Provides|cut -f2 -d'-')" \
+ && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \
+ && echo "deb https://download.mono-project.com/repo/ubuntu stable-$CODENAME main" | tee /etc/apt/sources.list.d/mono-official-stable.list \
+ && apt update \
+ && apt install -y mono-complete
+
+# PAKET
+
+ENV PAKET_VERSION 5.156.0
+ENV PAKET "mono /app/.paket/paket.exe"
+
+COPY . ./
+RUN echo \
+ && cd /app/.paket \
+ && wget https://github.com/fsprojects/Paket/releases/download/$PAKET_VERSION/paket.bootstrapper.exe \
+ && chmod +x ./paket.bootstrapper.exe \
+ && mono ./paket.bootstrapper.exe \
+ && chmod +x ./paket.exe \
+ && ${PAKET} restore
+
+
+FROM microsoft/dotnet:2.0.7-sdk-2.1.105 AS build-env
+# TODO..
+
+
+# Build runtime image
+FROM microsoft/aspnetcore:2.0 AS release
+WORKDIR /app
+COPY --from=build-env /app/out .
+ENTRYPOINT ["dotnet", "aspnetapp.dll"]
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..42bf79b
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.4'
+services:
+ cec:
+ build:
+ context: .
+ dockerfile: Dockerfile
+ target: dev-env
+ volumes:
+ - .:/app
diff --git a/docko b/docko
new file mode 100755
index 0000000..feb92b0
--- /dev/null
+++ b/docko
@@ -0,0 +1,40 @@
+#!/bin/bash
+# Thanks, mac OS -.-
+PAKET="./.paket/paket.exe"
+FAKE="packages/build/FAKE/tools/FAKE.exe"
+
+EXAMPLES_PROJ="examples/Examples.fsproj"
+TEST_PROJ="tests/Test.CryptoExchangeClient/Test.CryptoExchangeClient.fsproj"
+SRC_PROJ="src/CryptoExchangeClient.fsproj"
+
+COMPOSE="docker-compose -f docker-compose.yml --project-directory . -p crypto-exchange-client"
+
+function __run {
+
+ # First arg
+ given_command=$1
+ # The rest of the args
+ arguments=${@:2}
+
+ # For Sub-command redirection
+ sub_command=$2
+ sub_arguments=${@:3}
+
+
+ # For debugging
+ # echo "cmd: $given_command"
+ # echo "args: $arguments"
+
+ case $given_command in
+ bash) ${COMPOSE} run --rm cec bash;;
+
+ *)
+ echo "forwarding to docker-compose"
+ ${COMPOSE} $@
+ esac
+}
+
+# Also allow non-sourced running
+if [ $1 ]; then
+ __run $*
+fi
diff --git a/global.json b/global.json.bak
similarity index 100%
rename from global.json
rename to global.json.bak
diff --git a/paket.dependencies b/paket.dependencies
index 72027ad..0fe299b 100644
--- a/paket.dependencies
+++ b/paket.dependencies
@@ -1,18 +1,18 @@
source https://www.nuget.org/api/v2
-nuget Chessie 0.6.0
-nuget Colorful.Console 1.2.6
-nuget CryptoExchangeClient 0.4.0
+nuget Chessie ~> 0.6
+nuget Colorful.Console ~> 1.2
+nuget CryptoExchangeClient ~> 0.3
nuget Expecto
-nuget FSharp.Core 4.3.4
-nuget FSharp.Data 3.0.0-beta3 beta
-nuget FSharp.Json 0.3.3
+nuget FSharp.Core ~> 4.3
+nuget FSharp.Data ~> 3.0.0-beta3 beta
+nuget FSharp.Json ~> 0.3
clitool Microsoft.DotNet.Watcher.Tools
-nuget Microsoft.NET.Test.Sdk 15.3.0-preview-20170628-02 preview
-nuget Paket 5.156.0
-nuget Rationals 1.3.1
-nuget RestSharp 106.3.0-alpha0018 alpha
-nuget SocketLite.PCL 4.2.1
-nuget WebsocketClientLite.PCL 4.2.5
-nuget xunit 2.2.0
-nuget xunit.runner.visualstudio 2.2.0
+nuget Microsoft.NET.Test.Sdk ~> 15.3.0-preview-20170628-02 preview
+nuget Paket ~> 5.156
+nuget Rationals ~> 1.3
+nuget RestSharp ~> 106.3.0-alpha0018 alpha
+nuget SocketLite.PCL ~> 4.2
+nuget WebsocketClientLite.PCL ~> 4.2
+nuget xunit ~> 2.2
+nuget xunit.runner.visualstudio ~> 2.2
nuget YoloDev.Expecto.TestSdk
diff --git a/paket.lock b/paket.lock
index 5f6b9f5..fbb3212 100644
--- a/paket.lock
+++ b/paket.lock
@@ -152,20 +152,20 @@ NUGET
System.Threading.Timer (>= 4.0.1)
System.Xml.ReaderWriter (>= 4.0.11)
System.Xml.XDocument (>= 4.0.11)
- Microsoft.NETCore.App (2.0.6) - restriction: >= netcoreapp2.0
- Microsoft.NETCore.DotNetHostPolicy (>= 2.0.6) - restriction: >= netcoreapp2.0
- Microsoft.NETCore.Platforms (>= 2.0.1) - restriction: >= netcoreapp2.0
+ Microsoft.NETCore.App (2.0.7) - restriction: >= netcoreapp2.0
+ Microsoft.NETCore.DotNetHostPolicy (>= 2.0.7) - restriction: >= netcoreapp2.0
+ Microsoft.NETCore.Platforms (>= 2.0.2) - restriction: >= netcoreapp2.0
NETStandard.Library (>= 2.0.1) - restriction: >= netcoreapp2.0
- Microsoft.NETCore.DotNetAppHost (2.0.6) - restriction: >= netcoreapp2.0
- Microsoft.NETCore.DotNetHostPolicy (2.0.6) - restriction: >= netcoreapp2.0
- Microsoft.NETCore.DotNetHostResolver (>= 2.0.6)
- Microsoft.NETCore.DotNetHostResolver (2.0.6) - restriction: >= netcoreapp2.0
- Microsoft.NETCore.DotNetAppHost (>= 2.0.6)
- Microsoft.NETCore.Jit (2.0.6) - restriction: && (>= uap10.0) (< uap10.1)
- Microsoft.NETCore.Platforms (2.0.1) - restriction: || (>= monoandroid) (>= xamarinios)
+ Microsoft.NETCore.DotNetAppHost (2.0.7) - restriction: >= netcoreapp2.0
+ Microsoft.NETCore.DotNetHostPolicy (2.0.7) - restriction: >= netcoreapp2.0
+ Microsoft.NETCore.DotNetHostResolver (>= 2.0.7)
+ Microsoft.NETCore.DotNetHostResolver (2.0.7) - restriction: >= netcoreapp2.0
+ Microsoft.NETCore.DotNetAppHost (>= 2.0.7)
+ Microsoft.NETCore.Jit (2.0.7) - restriction: && (>= uap10.0) (< uap10.1)
+ Microsoft.NETCore.Platforms (2.0.2) - restriction: || (>= monoandroid) (>= xamarinios)
Microsoft.NETCore.Portable.Compatibility (1.0.2) - restriction: && (>= uap10.0) (< uap10.1)
- Microsoft.NETCore.Runtime.CoreCLR (2.0.6) - restriction: && (>= uap10.0) (< uap10.1)
- Microsoft.NETCore.Jit (>= 2.0.6)
+ Microsoft.NETCore.Runtime.CoreCLR (2.0.7) - restriction: && (>= uap10.0) (< uap10.1)
+ Microsoft.NETCore.Jit (>= 2.0.7)
Microsoft.NETCore.Targets (2.0) - restriction: && (< net40) (>= netstandard2.0)
Microsoft.NETCore.UniversalWindowsPlatform (6.0.8) - restriction: >= uap10.0
Microsoft.Net.Native.Compiler (>= 1.7.3) - restriction: < uap10.1
@@ -421,9 +421,9 @@ NUGET
System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.5) (< win8) (< wp8) (< wpa81))
System.Configuration.ConfigurationManager (4.4.1) - restriction: && (< net45) (>= netstandard2.0)
System.Security.Cryptography.ProtectedData (>= 4.4) - restriction: || (&& (< net461) (>= netstandard2.0)) (>= netcoreapp2.0)
- System.Console (4.3) - restriction: && (< net40) (>= netstandard2.0)
+ System.Console (4.3.1) - restriction: && (< net40) (>= netstandard2.0)
Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- Microsoft.NETCore.Targets (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
+ Microsoft.NETCore.Targets (>= 1.1.2) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
@@ -766,7 +766,7 @@ NUGET
System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81)
System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (< portable-net45+win8+wp8+wpa81)
System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81)
- System.Private.ServiceModel (4.4.1) - restriction: || (&& (>= netcoreapp2.0) (>= uap10.0)) (&& (>= netstandard2.0) (>= uap10.0)) (&& (< netstandard2.0) (>= uap10.0) (< uap10.1)) (&& (< portable-net45+win8+wp8) (>= uap10.0))
+ System.Private.ServiceModel (4.4.2) - restriction: || (&& (>= netcoreapp2.0) (>= uap10.0)) (&& (>= netstandard2.0) (>= uap10.0)) (&& (< netstandard2.0) (>= uap10.0) (< uap10.1)) (&& (< portable-net45+win8+wp8) (>= uap10.0))
Microsoft.NETCore.Platforms (>= 2.0)
NETStandard.Library (>= 1.6.1) - restriction: || (&& (>= netstandard1.3) (< netstandard2.0)) (< netstandard1.3)
System.Collections.NonGeneric (>= 4.3) - restriction: || (&& (>= netstandard1.3) (< netstandard2.0)) (< netstandard1.3)
@@ -1029,31 +1029,36 @@ NUGET
System.Security.Principal (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Threading (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.ServiceModel.Duplex (4.4.1) - restriction: && (>= uap10.0) (< uap10.1)
+ System.ServiceModel.Duplex (4.4.2) - restriction: && (>= uap10.0) (< uap10.1)
NETStandard.Library (>= 1.6.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (< portable-net45+win8)
- System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) (< portable-net45+win8)
+ System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8)
+ System.Private.ServiceModel (>= 4.4.2) - restriction: || (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0)
System.ServiceModel.Primitives (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (< net45) (>= netstandard2.0)) (>= net461) (>= netcoreapp2.0) (< portable-net45+win8)
- System.ServiceModel.Http (4.4.1) - restriction: && (>= uap10.0) (< uap10.1)
+ System.ServiceModel.Http (4.4.2) - restriction: && (>= uap10.0) (< uap10.1)
NETStandard.Library (>= 1.6.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (>= netstandard1.0) (< portable-net45+win8) (< wp8)) (< portable-net45+win8+wp8)
System.Net.WebHeaderCollection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8)
- System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) (< portable-net45+win8+wp8)
+ System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8)
+ System.Private.ServiceModel (>= 4.4.2) - restriction: || (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0)
System.Runtime.Serialization.Xml (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (< portable-net45+win8+wp8)
System.ServiceModel.Primitives (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (< net45) (>= netstandard2.0)) (>= net461) (>= netcoreapp2.0) (&& (>= netstandard1.0) (< portable-net45+win8) (< wp8)) (< portable-net45+win8+wp8)
- System.ServiceModel.NetTcp (4.4.1) - restriction: && (>= uap10.0) (< uap10.1)
+ System.ServiceModel.NetTcp (4.4.2) - restriction: && (>= uap10.0) (< uap10.1)
NETStandard.Library (>= 1.6.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (< portable-net45+win8)
- System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) (< portable-net45+win8)
+ System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8)
+ System.Private.ServiceModel (>= 4.4.2) - restriction: || (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0)
System.Runtime.Serialization.Xml (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (< portable-net45+win8)
System.ServiceModel.Primitives (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (< net45) (>= netstandard2.0)) (&& (>= net46) (< netstandard2.0)) (>= net461) (>= netcoreapp2.0) (< portable-net45+win8)
- System.ServiceModel.Primitives (4.4.1) - restriction: || (&& (>= net461) (>= uap10.0)) (&& (>= netcoreapp2.0) (>= uap10.0)) (&& (< netstandard1.3) (>= uap10.0) (< win8)) (&& (>= netstandard2.0) (>= uap10.0)) (&& (< netstandard2.0) (>= uap10.0) (< uap10.1)) (&& (< portable-net45+win8) (>= uap10.0)) (&& (< portable-net45+win8+wp8) (>= uap10.0))
+ System.ServiceModel.Primitives (4.4.2) - restriction: || (&& (>= net461) (>= uap10.0)) (&& (>= netcoreapp2.0) (>= uap10.0)) (&& (< netstandard1.3) (>= uap10.0) (< win8)) (&& (>= netstandard2.0) (>= uap10.0)) (&& (< netstandard2.0) (>= uap10.0) (< uap10.1)) (&& (< portable-net45+win8) (>= uap10.0)) (&& (< portable-net45+win8+wp8) (>= uap10.0))
NETStandard.Library (>= 1.6.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (>= net46) (< net461) (< netstandard2.0)) (&& (>= netstandard1.0) (< portable-net45+win8) (< wp8)) (< portable-net45+win8+wp8)
System.ComponentModel.EventBasedAsync (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (>= netstandard1.0) (< portable-net45+win8) (< wp8)) (< portable-net45+win8+wp8)
- System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) (< portable-net45+win8+wp8)
+ System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8)
+ System.Private.ServiceModel (>= 4.4.2) - restriction: || (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0)
System.Runtime.Serialization.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (>= netstandard1.0) (< portable-net45+win8) (< wp8)) (< portable-net45+win8+wp8)
System.Runtime.Serialization.Xml (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (>= netstandard1.0) (< portable-net45+win8) (< wp8)) (< portable-net45+win8+wp8)
System.Security.Principal (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (< portable-net45+win8+wp8)
- System.ServiceModel.Security (4.4.1) - restriction: && (>= uap10.0) (< uap10.1)
+ System.ServiceModel.Security (4.4.2) - restriction: && (>= uap10.0) (< uap10.1)
NETStandard.Library (>= 1.6.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (>= netstandard1.0) (< portable-net45+win8) (< wp8)) (< portable-net45+win8+wp8)
- System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) (< portable-net45+win8+wp8)
+ System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8)
+ System.Private.ServiceModel (>= 4.4.2) - restriction: || (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0)
System.Runtime.Serialization.Xml (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (< portable-net45+win8+wp8)
System.ServiceModel.Primitives (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) (&& (>= netstandard1.0) (< portable-net45+win8) (< wp8)) (< portable-net45+win8+wp8)
System.Text.Encoding (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1))
diff --git a/run b/run
index fce5fb9..fc39ad1 100755
--- a/run
+++ b/run
@@ -1,7 +1,17 @@
#!/bin/bash
+function __exe_shim {
+ . /etc/os-release
+ os_name="$ID"
+ # MacOS, non-ubuntu debian-based OSes
+ if [ "$(uname)" == "Darwin" ]; then echo "mono "; fi
+ if [ "$os_name" == "debian" ]; then echo "mono "; fi
-PAKET="./.paket/paket.exe"
+ # Ubuntu / Windows
+ echo ""
+}
+
+PAKET="$(__exe_shim) ./.paket/paket.exe"
FAKE="packages/build/FAKE/tools/FAKE.exe"
EXAMPLES_PROJ="examples/Examples.fsproj"
@@ -25,7 +35,7 @@ function __run {
# echo "args: $arguments"
case $given_command in
- p) ${PAKET} $arguments;;
+ p) echo ": $PAKET :" && ${PAKET} $arguments;;
dn) dotnet $arguments;;
paket) ${PAKET} $arguments;;
fake) ${FAKE} $arguments Fake.fsx;;
@@ -44,6 +54,11 @@ function __run {
dotnet build $arguments
;;
+ rebuild)
+ ( ./run clean:all ) && \
+ ( ./run build )
+ ;;
+
clean:all)
echo "Cleaning..."
# Don't name any folders bin or obj
@@ -55,9 +70,13 @@ function __run {
cd .paket \
rm paket.exe paket.bootstrapper* \
+ local exeshim=__exe_shim
+
+ echo "shim: $exeshim"
+
wget https://github.com/fsprojects/Paket/releases/download/5.156.0/paket.bootstrapper.exe \
&& chmod +x paket.bootstrapper.exe \
- && ./paket.bootstrapper.exe \
+ && ${exeshim} ./paket.bootstrapper.exe \
&& chmod +x paket.exe
;;
diff --git a/src/CryptoExchangeClient.fsproj b/src/CryptoExchangeClient.fsproj
index 8aa5d88..e453e04 100644
--- a/src/CryptoExchangeClient.fsproj
+++ b/src/CryptoExchangeClient.fsproj
@@ -8,7 +8,7 @@
https://github.com/NullVoxPopuli/CryptoExchangeClient/blob/master/LICENSE
Clients for multiple cryptocurrency exchanges. All clients have a shared interface for common actions.
- cryptocurrency, blockchain, rest, websocket, api, client, crypto, bitcoin, exchange
+ cryptocurrency, blockchain, rest, websocket, api, client, crypto, bitcoin, exchange, ethereum
true