From 5c5c3d846ccdee64464892bf1fee00e24e754dbb Mon Sep 17 00:00:00 2001 From: "BROWSER COMPANY.COM" <61902110+P7-33@users.noreply.github.com> Date: Mon, 14 Feb 2022 17:08:25 -0500 Subject: [PATCH] Update and rename Chainminer Pro to .appveyor.yml --- .appveyor.yml | 63 +++++++++++++ Chainminer Pro | 242 ------------------------------------------------- 2 files changed, 63 insertions(+), 242 deletions(-) create mode 100644 .appveyor.yml delete mode 100644 Chainminer Pro diff --git a/.appveyor.yml b/.appveyor.yml new file mode 100644 index 0000000..7250d4a --- /dev/null +++ b/.appveyor.yml @@ -0,0 +1,63 @@ +version: '{branch}.{build}' +skip_tags: true +image: Visual Studio 2019 +configuration: Release +platform: x64 +clone_depth: 5 +environment: + PATH: 'C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%' + PYTHONUTF8: 1 + QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/qt598x64_vs2019_v1681/qt598_x64_vs2019_1681.zip' + QT_DOWNLOAD_HASH: '00cf7327818c07d74e0b1a4464ffe987c2728b00d49d4bf333065892af0515c3' + QT_LOCAL_PATH: 'C:\Qt5.9.8_x64_static_vs2019' + VCPKG_TAG: '2020.11-1' +install: +# Disable zmq test for now since python zmq library on Windows would cause Access violation sometimes. +# - cmd: pip install zmq +# The powershell block below is to set up vcpkg to install the c++ dependencies. The pseudo code is: +# a. Checkout the vcpkg source (including port files) for the specific checkout and build the vcpkg binary, +# b. Append a setting to the vcpkg cmake config file to only do release builds of dependencies (skipping deubg builds saves ~5 mins). +# Note originally this block also installed the dependencies using 'vcpkg install'. Dependencies are now installed +# as part of the msbuild command using vcpkg mainfests. +- ps: | + cd c:\tools\vcpkg + $env:GIT_REDIRECT_STDERR = '2>&1' # git is writing non-errors to STDERR when doing git pull. Send to STDOUT instead. + git -c advice.detachedHead=false checkout $env:VCPKG_TAG + .\bootstrap-vcpkg.bat > $null + Add-Content "C:\tools\vcpkg\triplets\$env:PLATFORM-windows-static.cmake" "set(VCPKG_BUILD_TYPE release)" + cd "$env:APPVEYOR_BUILD_FOLDER" +before_build: +# Powershell block below is to download and extract the Qt static libraries. The pseudo code is: +# a. Download the zip file with the prebuilt Qt static libraries. +# b. Check that the downloaded file matches the expected hash. +# c. Extract the zip file to the specific destination path expected by the msbuild projects. +- ps: | + Write-Host "Downloading Qt binaries."; + Invoke-WebRequest -Uri $env:QT_DOWNLOAD_URL -Out qtdownload.zip; + Write-Host "Qt binaries successfully downloaded, checking hash against $env:QT_DOWNLOAD_HASH..."; + if((Get-FileHash qtdownload.zip).Hash -eq $env:QT_DOWNLOAD_HASH) { + Expand-Archive qtdownload.zip -DestinationPath $env:QT_LOCAL_PATH; + Write-Host "Qt binary download matched the expected hash."; + } + else { + Write-Host "ERROR: Qt binary download did not match the expected hash."; + Exit-AppveyorBuild; + } +- cmd: python build_msvc\msvc-autogen.py +build_script: +- cmd: msbuild /p:TrackFileAccess=false build_msvc\bitcoin.sln /m /v:q /nologo +after_build: +#- 7z a bitcoin-%APPVEYOR_BUILD_VERSION%.zip %APPVEYOR_BUILD_FOLDER%\build_msvc\%platform%\%configuration%\*.exe +test_script: +- cmd: src\test_bitcoin.exe -l test_suite +- cmd: src\bench_bitcoin.exe > NUL +- ps: python test\util\bitcoin-util-test.py +- cmd: python test\util\rpcauth-test.py +# Fee estimation test failing on appveyor with: WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted. +# functional tests disabled for now. See +# https://github.com/bitcoin/bitcoin/pull/18626#issuecomment-613396202 +# https://github.com/bitcoin/bitcoin/issues/18623 +# - cmd: python test\functional\test_runner.py --ci --quiet --combinedlogslen=4000 --failfast --exclude feature_fee_estimation +artifacts: +#- path: bitcoin-%APPVEYOR_BUILD_VERSION%.zip +deploy: off diff --git a/Chainminer Pro b/Chainminer Pro deleted file mode 100644 index 5a5301e..0000000 --- a/Chainminer Pro +++ /dev/null @@ -1,242 +0,0 @@ -Skip to content -nicehash -/ -NiceHashBot -Code -Issues -Pull requests -Actions -Projects -Wiki -Security -Insights -NiceHashBot/NHB3/Api.cs -@bl4z -bl4z order settings - 1 contributor -212 lines (183 sloc) 7.1 KB - -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net; -using System.Text; -using System.Threading.Tasks; - -namespace NHB3 -{ - class Api - { - private string urlRoot; - private string orgId; - private string apiKey; - private string apiSecret; - - public string time; - - public Api(string urlRoot, string orgId, string apiKey, string apiSecret) - { - this.urlRoot = urlRoot; - this.orgId = orgId; - this.apiKey = apiKey; - this.apiSecret = apiSecret; - } - - private static string HashBySegments(string key, string apiKey, string time, string nonce, string orgId, string method, string encodedPath, string query, string bodyStr) - { - List segments = new List(); - segments.Add(apiKey); - segments.Add(time); - segments.Add(nonce); - segments.Add(null); - segments.Add(orgId); - segments.Add(null); - segments.Add(method); - segments.Add(encodedPath == null ? null : encodedPath); - segments.Add(query == null ? null : query); - - if (bodyStr != null && bodyStr.Length > 0) - { - segments.Add(bodyStr); - } - return Api.CalcHMACSHA256Hash(Api.JoinSegments(segments), key); - } - private static string getPath(string url) - { - var arrSplit = url.Split('?'); - return arrSplit[0]; - } - private static string getQuery(string url) - { - var arrSplit = url.Split('?'); - - if (arrSplit.Length == 1) - { - return null; - } - else - { - return arrSplit[1]; - } - } - - private static string JoinSegments(List segments) - { - var sb = new System.Text.StringBuilder(); - bool first = true; - foreach (var segment in segments) - { - if (!first) - { - sb.Append("\x00"); - } - else - { - first = false; - } - - if (segment != null) - { - sb.Append(segment); - } - } - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.Out.WriteLine("req: [" + sb.ToString() + "]"); - return sb.ToString(); - } - - private static string CalcHMACSHA256Hash(string plaintext, string salt) - { - string result = ""; - var enc = Encoding.Default; - byte[] - baText2BeHashed = enc.GetBytes(plaintext), - baSalt = enc.GetBytes(salt); - System.Security.Cryptography.HMACSHA256 hasher = new System.Security.Cryptography.HMACSHA256(baSalt); - byte[] baHashedText = hasher.ComputeHash(baText2BeHashed); - result = string.Join("", baHashedText.ToList().Select(b => b.ToString("x2")).ToArray()); - return result; - } - - private string srvrTime() - { - string timeResponse = this.get("/api/v2/time", false); - JObject timeObject = JsonConvert.DeserializeObject(timeResponse); - - if (timeObject["error_id"] == null) - { - this.time = "" + timeObject["serverTime"]; - return this.time; - } - return "0"; - } - - public string get(string url, bool auth) - { - var client = new RestSharp.RestClient(this.urlRoot); - var request = new RestSharp.RestRequest(url); - - if (auth) - { - string time = this.srvrTime(); - string nonce = Guid.NewGuid().ToString(); - string digest = Api.HashBySegments(this.apiSecret, this.apiKey, time, nonce, this.orgId, "GET", getPath(url), getQuery(url), null); - - request.AddHeader("X-Time", time); - request.AddHeader("X-Nonce", nonce); - request.AddHeader("X-Auth", this.apiKey + ":" + digest); - request.AddHeader("X-Organization-Id", this.orgId); - } - - var response = client.Execute(request, RestSharp.Method.GET); - Console.Out.WriteLine("res: [" + response.Content + "]"); - - if (response.StatusCode != HttpStatusCode.OK) - { - return "{error_id: -1}"; - } - return response.Content; - } - - public string post(string url, string payload, bool requestId) - { - string time = this.srvrTime(); - var client = new RestSharp.RestClient(this.urlRoot); - var request = new RestSharp.RestRequest(url); - request.AddHeader("Accept", "application/json"); - request.AddHeader("Content-type", "application/json"); - - string nonce = Guid.NewGuid().ToString(); - string digest = Api.HashBySegments(this.apiSecret, this.apiKey, time, nonce, this.orgId, "POST", getPath(url), getQuery(url), payload); - - if (payload != null) - { - request.AddJsonBody(payload); - } - - request.AddHeader("X-Time", time); - request.AddHeader("X-Nonce", nonce); - request.AddHeader("X-Auth", this.apiKey + ":" + digest); - request.AddHeader("X-Organization-Id", this.orgId); - - if (requestId) - { - request.AddHeader("X-Request-Id", Guid.NewGuid().ToString()); - } - - var response = client.Execute(request, RestSharp.Method.POST); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.Out.WriteLine("res: [" + response.Content + "]"); - - if (response.StatusCode != HttpStatusCode.OK) - { - return "{error_id: -1}"; - } - return response.Content; - } - - public string delete(string url, bool requestId) - { - string time = this.srvrTime(); - var client = new RestSharp.RestClient(this.urlRoot); - var request = new RestSharp.RestRequest(url); - - string nonce = Guid.NewGuid().ToString(); - string digest = Api.HashBySegments(this.apiSecret, this.apiKey, time, nonce, this.orgId, "DELETE", getPath(url), getQuery(url), null); - - request.AddHeader("X-Time", time); - request.AddHeader("X-Nonce", nonce); - request.AddHeader("X-Auth", this.apiKey + ":" + digest); - request.AddHeader("X-Organization-Id", this.orgId); - - if (requestId) - { - request.AddHeader("X-Request-Id", Guid.NewGuid().ToString()); - } - - var response = client.Execute(request, RestSharp.Method.DELETE); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.Out.WriteLine("res: [" + response.Content + "]"); - - if (response.StatusCode != HttpStatusCode.OK) - { - return "{error_id: -1}"; - } - return response.Content; - } - } -} -© 2021 GitHub, Inc. -Terms -Privacy -Security -Status -Docs -Contact GitHub -Pricing -API -Training -Blog -About