Merge pull request #21 from miketout/master
Reverse merge from VerusCoin through master
This commit is contained in:
254
.gitlab-ci.yml
254
.gitlab-ci.yml
@@ -1,41 +1,37 @@
|
|||||||
stages:
|
stages:
|
||||||
- build
|
- build
|
||||||
- test
|
- test
|
||||||
- deploy
|
- deploy
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
VERSION: 0.3.10
|
VERSION: 0.3.13
|
||||||
AGAMA_ARTIFACTS_LINUX: linux64.tar.gz
|
VERUS_CLI_LINUX: "Verus-CLI-Linux-v${VERSION}-beta.tar.gz"
|
||||||
AGAMA_ARTIFACTS_MACOS: osx.tar.gz
|
VERUS_CLI_WINDOWS: "Verus-CLI-Windows-v${VERSION}-beta.zip"
|
||||||
AGAMA_ARTIFACTS_WINDOWS: win64.zip
|
VERUS_CLI_MACOS: "Verus-CLI-MacOS-v${VERSION}-beta.tar.gz"
|
||||||
VERUS_CLI_DEBIAN: verus-cli-v${VERSION}-beta-amd64.deb
|
POST_COMMENT: "Branch and Commit: ${CI_COMMIT_REF_NAME} ${CI_COMMIT_SHA} $'\n'MD5: "
|
||||||
VERUS_CLI_LINUX_PORTABLE: verus-cli-linux-v$VERSION-beta.tar.gz
|
|
||||||
VERUS_CLI_WINDOWS_PORTABLE: verus-cli-windows-v$VERSION-beta.zip
|
|
||||||
VERUS_CLI_MACOS_PORTABLE: verus-cli-mac-v$VERSION-beta.tar.gz
|
|
||||||
|
|
||||||
|
|
||||||
build:linux:
|
build:linux:
|
||||||
image: asherd/veruscoin-cross-compiler:linux
|
image: asherd/veruscoin-cross-compiler:linux
|
||||||
variables:
|
variables:
|
||||||
DOCKER_DRIVER: overlay2
|
DOCKER_DRIVER: overlay2
|
||||||
stage: build
|
stage: build
|
||||||
cache:
|
|
||||||
key: ${CI_JOB_NAME}
|
|
||||||
paths:
|
|
||||||
- depends/built
|
|
||||||
- .ccache
|
|
||||||
before_script: # Setup Cache
|
before_script: # Setup Cache
|
||||||
- rm -rf /root/.ccache || true
|
- rm -rf /root/.ccache || true
|
||||||
- mv .ccache /root/ || true
|
- mv .ccache /root/ || true
|
||||||
script:
|
script:
|
||||||
- zcutil/build.sh -j4
|
- zcutil/build.sh -j4
|
||||||
- ./makeReleaseLinux.sh
|
- cp src/komodod src/komodo-cli kmd/linux/verus-cli
|
||||||
- dos2unix kmd/linux/verus-cli/README.txt
|
- chmod +x kmd/linux/verus-cli/komodod
|
||||||
- tar -C kmd/linux/ -czvf $VERUS_CLI_LINUX_PORTABLE verus-cli ./
|
- chmod +x kmd/linux/verus-cli/komodo-cli
|
||||||
- mv kmd/linux/verus-cli kmd/linux/linux64
|
- chmod +x kmd/linux/verus-cli/verus
|
||||||
- tar -C kmd/linux/ -czvf $AGAMA_ARTIFACTS_LINUX linux64 ./
|
- chmod +x kmd/linux/verus-cli/verusd
|
||||||
|
- chmod +x kmd/linux/verus-cli/fetch-params
|
||||||
|
- dos2unix kmd/linux/verus-cli/README.txt
|
||||||
|
- cd kmd/linux/
|
||||||
|
- tar -czvf $VERUS_CLI_LINUX verus-cli
|
||||||
|
- mv $VERUS_CLI_LINUX ../..
|
||||||
after_script:
|
after_script:
|
||||||
- mv /root/.ccache ./ || true
|
- mv /root/.ccache ./ || true
|
||||||
cache:
|
cache:
|
||||||
key: ${CI_JOB_NAME}
|
key: ${CI_JOB_NAME}
|
||||||
paths:
|
paths:
|
||||||
@@ -43,8 +39,7 @@ build:linux:
|
|||||||
- .ccache
|
- .ccache
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- $VERUS_CLI_LINUX_PORTABLE
|
- $VERUS_CLI_LINUX
|
||||||
- $AGAMA_ARTIFACTS_LINUX
|
|
||||||
expire_in: 1 week
|
expire_in: 1 week
|
||||||
|
|
||||||
|
|
||||||
@@ -60,24 +55,19 @@ build:windows:
|
|||||||
- .ccache
|
- .ccache
|
||||||
- .cargo
|
- .cargo
|
||||||
before_script:
|
before_script:
|
||||||
- mkdir .ccache || echo ccache exists
|
- mkdir .ccache || echo ccache exists
|
||||||
- ln -s $PWD/.ccache /root/.ccache
|
- ln -s $PWD/.ccache /root/.ccache
|
||||||
- mkdir .zcash-params || echo zcash-params exists
|
- mkdir .zcash-params || echo zcash-params exists
|
||||||
- mkdir .cargo || echo .cargo exists
|
- mkdir .cargo || echo .cargo exists
|
||||||
- ln -s $PWD/.cargo /root/.cargo
|
- ln -s $PWD/.cargo /root/.cargo
|
||||||
script:
|
script:
|
||||||
- zcutil/build-win.sh
|
- zcutil/build-win.sh -j4
|
||||||
- ./makeReleaseWindows.sh
|
- cp src/komodod.exe src/komodo-cli.exe src/komodo-tx.exe kmd/windows/verus-cli
|
||||||
- cd kmd/windows/
|
- cd kmd/windows/
|
||||||
- zip -r $VERUS_CLI_WINDOWS_PORTABLE verus-cli
|
- zip -r $VERUS_CLI_WINDOWS verus-cli
|
||||||
- mv $VERUS_CLI_WINDOWS_PORTABLE ../..
|
- mv $VERUS_CLI_WINDOWS ../..
|
||||||
- mv verus-cli win64
|
|
||||||
- zip -r $AGAMA_ARTIFACTS_WINDOWS win64
|
|
||||||
- mv $AGAMA_ARTIFACTS_WINDOWS ../..
|
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths: [$VERUS_CLI_WINDOWS]
|
||||||
- $VERUS_CLI_WINDOWS_PORTABLE
|
|
||||||
- $AGAMA_ARTIFACTS_WINDOWS
|
|
||||||
expire_in: 1 week
|
expire_in: 1 week
|
||||||
|
|
||||||
|
|
||||||
@@ -89,147 +79,159 @@ build:mac:
|
|||||||
paths:
|
paths:
|
||||||
- depends/built
|
- depends/built
|
||||||
script:
|
script:
|
||||||
- zcutil/build-mac.sh | xcpretty
|
- brew bundle
|
||||||
- ./makeReleaseMac.sh
|
- zcutil/build-mac.sh -j6 | xcpretty
|
||||||
- dos2unix kmd/mac/verus-cli/README.txt
|
- ./makeReleaseMac.sh
|
||||||
- tar -C kmd/mac/ -czvf $VERUS_CLI_MACOS_PORTABLE verus-cli ./
|
- dos2unix kmd/mac/verus-cli/README.txt
|
||||||
- mv kmd/mac/verus-cli kmd/mac/osx
|
- tar -C kmd/mac/ -czvf $VERUS_CLI_MACOS verus-cli ./
|
||||||
- tar -C kmd/mac/ -czvf $AGAMA_ARTIFACTS_MACOS osx ./
|
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths: [$VERUS_CLI_MACOS]
|
||||||
- $VERUS_CLI_MACOS_PORTABLE
|
|
||||||
- $AGAMA_ARTIFACTS_MACOS
|
|
||||||
expire_in: 1 week
|
expire_in: 1 week
|
||||||
|
|
||||||
|
|
||||||
code_quality:
|
.code_quality:
|
||||||
image: docker:stable
|
image: docker:stable
|
||||||
variables:
|
variables:
|
||||||
DOCKER_DRIVER: overlay2
|
DOCKER_DRIVER: overlay2
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
services:
|
services:
|
||||||
- docker:stable-dind
|
- docker:stable-dind
|
||||||
script:
|
script:
|
||||||
- export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
|
- export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
|
||||||
- docker run
|
- docker run
|
||||||
--env SOURCE_CODE="$PWD"
|
--env SOURCE_CODE="$PWD"
|
||||||
--volume "$PWD":/code
|
--volume "$PWD":/code
|
||||||
--volume /var/run/docker.sock:/var/run/docker.sock
|
--volume /var/run/docker.sock:/var/run/docker.sock
|
||||||
"registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code
|
"registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code
|
||||||
artifacts:
|
artifacts:
|
||||||
paths: [gl-code-quality-report.json]
|
paths: [gl-code-quality-report.json]
|
||||||
|
|
||||||
|
|
||||||
sast:
|
.sast:
|
||||||
image: docker:stable
|
image: docker:stable
|
||||||
variables:
|
variables:
|
||||||
DOCKER_DRIVER: overlay2
|
DOCKER_DRIVER: overlay2
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
services:
|
services:
|
||||||
- docker:stable-dind
|
- docker:stable-dind
|
||||||
script:
|
script:
|
||||||
- export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
|
- export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
|
||||||
- docker run
|
- docker run
|
||||||
--env SAST_CONFIDENCE_LEVEL="${SAST_CONFIDENCE_LEVEL:-3}"
|
--env SAST_CONFIDENCE_LEVEL="${SAST_CONFIDENCE_LEVEL:-3}"
|
||||||
--volume "$PWD:/code"
|
--volume "$PWD:/code"
|
||||||
--volume /var/run/docker.sock:/var/run/docker.sock
|
--volume /var/run/docker.sock:/var/run/docker.sock
|
||||||
"registry.gitlab.com/gitlab-org/security-products/sast:$SP_VERSION" /app/bin/run /code
|
"registry.gitlab.com/gitlab-org/security-products/sast:$SP_VERSION" /app/bin/run /code
|
||||||
artifacts:
|
artifacts:
|
||||||
paths: [gl-sast-report.json]
|
paths: [gl-sast-report.json]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
license_management:
|
.license_management:
|
||||||
image: docker:stable
|
image: docker:stable
|
||||||
variables:
|
variables:
|
||||||
DOCKER_DRIVER: overlay2
|
DOCKER_DRIVER: overlay2
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
services:
|
services:
|
||||||
- docker:stable-dind
|
- docker:stable-dind
|
||||||
script:
|
script:
|
||||||
- export LICENSE_MANAGEMENT_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
|
- export LICENSE_MANAGEMENT_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
|
||||||
- docker run
|
- docker run
|
||||||
--volume "$PWD:/code"
|
--volume "$PWD:/code"
|
||||||
"registry.gitlab.com/gitlab-org/security-products/license-management:$LICENSE_MANAGEMENT_VERSION" analyze /code
|
"registry.gitlab.com/gitlab-org/security-products/license-management:$LICENSE_MANAGEMENT_VERSION" analyze /code
|
||||||
artifacts:
|
artifacts:
|
||||||
paths: [gl-license-management-report.json]
|
paths: [gl-license-management-report.json]
|
||||||
|
|
||||||
ubuntu:xenial:
|
|
||||||
|
.ubuntu:xenial:
|
||||||
image: ubuntu:xenial
|
image: ubuntu:xenial
|
||||||
variables:
|
variables:
|
||||||
DOCKER_DRIVER: overlay2
|
DOCKER_DRIVER: overlay2
|
||||||
stage: test
|
stage: test
|
||||||
before_script:
|
before_script:
|
||||||
- apt update && apt install -y wget g++-multilib libcurl3 python
|
- apt update && apt install -y wget g++-multilib libcurl3 python
|
||||||
|
- rm -rf /root/.komodo || true
|
||||||
|
- mv .komodo /root/ || true
|
||||||
script:
|
script:
|
||||||
- tar -xzvf $VERUS_CLI_LINUX_PORTABLE
|
- tar -xzvf $VERUS_CLI_LINUX
|
||||||
- export PATH=$PATH:$CI_PROJECT_DIR/verus-cli
|
- export PATH=$PATH:$CI_PROJECT_DIR/verus-cli
|
||||||
- python qa/verus-cli-tests/verus-cli-tester.py
|
- python qa/verus-cli-tests/verus-cli-tester.py
|
||||||
|
after_script:
|
||||||
|
- mv /root/.komodo ./ || true
|
||||||
|
cache:
|
||||||
|
key: ${CI_JOB_NAME}
|
||||||
|
paths: [.komodo]
|
||||||
artifacts:
|
artifacts:
|
||||||
paths: [log.txt]
|
paths: [log.txt]
|
||||||
expire_in: 1 week
|
expire_in: 1 week
|
||||||
dependencies:
|
dependencies:
|
||||||
- build:linux
|
- build:linux
|
||||||
|
|
||||||
|
|
||||||
ubuntu:bionic:
|
.ubuntu:bionic:
|
||||||
image: ubuntu:bionic
|
image: ubuntu:bionic
|
||||||
variables:
|
variables:
|
||||||
DOCKER_DRIVER: overlay2
|
DOCKER_DRIVER: overlay2
|
||||||
stage: test
|
stage: test
|
||||||
before_script:
|
before_script:
|
||||||
- apt update && apt install -y wget g++-multilib libcurl3 python
|
- apt update && apt install -y wget g++-multilib libcurl3 python
|
||||||
|
- rm -rf /root/.komodo || true
|
||||||
|
- mv .komodo /root/ || true
|
||||||
script:
|
script:
|
||||||
- tar -xzvf $VERUS_CLI_LINUX_PORTABLE
|
- tar -xzvf $VERUS_CLI_LINUX
|
||||||
- export PATH=$PATH:$CI_PROJECT_DIR/verus-cli
|
- export PATH=$PATH:$CI_PROJECT_DIR/verus-cli
|
||||||
- python qa/verus-cli-tests/verus-cli-tester.py
|
- python qa/verus-cli-tests/verus-cli-tester.py
|
||||||
|
after_script:
|
||||||
|
- mv /root/.komodo ./ || true
|
||||||
|
cache:
|
||||||
|
key: ${CI_JOB_NAME}
|
||||||
|
paths: [.komodo]
|
||||||
artifacts:
|
artifacts:
|
||||||
paths: [log.txt]
|
paths: [log.txt]
|
||||||
expire_in: 1 week
|
expire_in: 1 week
|
||||||
dependencies:
|
dependencies:
|
||||||
- build:linux
|
- build:linux
|
||||||
|
|
||||||
|
|
||||||
.osx:sierra: # fetch-params.sh needs to be fixed for MacOS
|
.osx:sierra: # fetch-params.sh needs to be fixed for MacOS
|
||||||
stage: test
|
stage: test
|
||||||
tags: ["Sierra"]
|
tags: ["Sierra"]
|
||||||
script:
|
script:
|
||||||
- tar -xzvf $VERUS_CLI_MACOS_PORTABLE
|
- tar -xzvf $VERUS_CLI_MACOS
|
||||||
- export PATH=$PATH:$CI_PROJECT_DIR/verus-cli
|
- export PATH=$PATH:$CI_PROJECT_DIR/verus-cli
|
||||||
- python qa/verus-cli-tests/verus-cli-tester.py
|
- python qa/verus-cli-tests/verus-cli-tester.py
|
||||||
artifacts:
|
artifacts:
|
||||||
paths: [log.txt]
|
paths: [log.txt]
|
||||||
expire_in: 1 week
|
expire_in: 1 week
|
||||||
dependencies:
|
dependencies:
|
||||||
- build:mac
|
- build:mac
|
||||||
|
|
||||||
|
|
||||||
.osx:high-sierra: # fetch-params.sh needs to be fixed for MacOS
|
.osx:high-sierra: # fetch-params.sh needs to be fixed for MacOS
|
||||||
stage: test
|
stage: test
|
||||||
tags: ["High Sierra"]
|
tags: ["High Sierra"]
|
||||||
script:
|
script:
|
||||||
- tar -xzvf $VERUS_CLI_MACOS_PORTABLE
|
- tar -xzvf $VERUS_CLI_MACOS
|
||||||
- export PATH=$PATH:$CI_PROJECT_DIR/verus-cli
|
- export PATH=$PATH:$CI_PROJECT_DIR/verus-cli
|
||||||
- python qa/verus-cli-tests/verus-cli-tester.py
|
- python qa/verus-cli-tests/verus-cli-tester.py
|
||||||
artifacts:
|
artifacts:
|
||||||
paths: [log.txt]
|
paths: [log.txt]
|
||||||
expire_in: 1 week
|
expire_in: 1 week
|
||||||
dependencies:
|
dependencies:
|
||||||
- build:mac
|
- build:mac
|
||||||
|
|
||||||
|
|
||||||
windows:10:
|
.windows:10:
|
||||||
stage: test
|
stage: test
|
||||||
tags: ["Windows 10"]
|
tags: ["Windows 10"]
|
||||||
script:
|
script:
|
||||||
- PowerShell Expand-Archive -Path %VERUS_CLI_WINDOWS_PORTABLE% -DestinationPath %CI_PROJECT_DIR%
|
- PowerShell Expand-Archive -Path %VERUS_CLI_WINDOWS% -DestinationPath %CI_PROJECT_DIR%
|
||||||
- set PATH=%PATH%;%CI_PROJECT_DIR%\verus-cli
|
- set PATH=%PATH%;%CI_PROJECT_DIR%\verus-cli
|
||||||
- qa\verus-cli-tests\verus-cli-tester.py
|
- qa\verus-cli-tests\verus-cli-tester.py
|
||||||
artifacts:
|
artifacts:
|
||||||
paths: [log.txt]
|
paths: [log.txt]
|
||||||
expire_in: 1 week
|
expire_in: 1 week
|
||||||
dependencies:
|
dependencies:
|
||||||
- build:windows
|
- build:windows
|
||||||
|
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
@@ -238,18 +240,44 @@ deploy:
|
|||||||
variables:
|
variables:
|
||||||
DOCKER_DRIVER: overlay2
|
DOCKER_DRIVER: overlay2
|
||||||
dependencies:
|
dependencies:
|
||||||
- build:linux
|
- build:linux
|
||||||
- build:windows
|
- build:windows
|
||||||
- build:mac
|
- build:mac
|
||||||
|
before_script:
|
||||||
|
- export VERUS_CLI_LINUX_MD5=$(md5sum $VERUS_CLI_LINUX | cut -d " " -f 1)
|
||||||
|
- export VERUS_CLI_WINDOWS_MD5=$(md5sum $VERUS_CLI_WINDOWS | cut -d " " -f 1)
|
||||||
|
- export VERUS_CLI_MACOS_MD5=$(md5sum $VERUS_CLI_MACOS | cut -d " " -f 1)
|
||||||
script:
|
script:
|
||||||
- mkdir -p $CI_COMMIT_REF_NAME/Windows
|
- export VERUS_CLI_LINUX_MD5=$(md5sum $VERUS_CLI_LINUX | cut -d " " -f 1)
|
||||||
- mkdir -p $CI_COMMIT_REF_NAME/Linux
|
- curl -F file=@"$VERUS_CLI_LINUX"
|
||||||
- mkdir -p $CI_COMMIT_REF_NAME/MacOS
|
-F channels="$CLI_POST_CHANNEL"
|
||||||
- mv $VERUS_CLI_WINDOWS_PORTABLE $AGAMA_ARTIFACTS_WINDOWS $CI_COMMIT_REF_NAME/Windows
|
-F initial_comment="${POST_COMMENT}$VERUS_CLI_LINUX_MD5"
|
||||||
- mv $VERUS_CLI_LINUX_PORTABLE $AGAMA_ARTIFACTS_LINUX $CI_COMMIT_REF_NAME/Linux
|
-H "${SLACK_BOT_AUTH}"
|
||||||
- mv $VERUS_CLI_MACOS_PORTABLE $AGAMA_ARTIFACTS_MACOS $CI_COMMIT_REF_NAME/MacOS
|
"https://slack.com/api/files.upload"
|
||||||
- echo "$AUTH_KEY" > AUTH_KEY.json
|
- curl -F file=@"$VERUS_CLI_WINDOWS"
|
||||||
- gcloud auth activate-service-account --key-file AUTH_KEY.json
|
-F channels="$CLI_POST_CHANNEL"
|
||||||
- gsutil rsync -r $CI_COMMIT_REF_NAME/ $STAGING/VerusCoin/$CI_COMMIT_REF_NAME/
|
-F initial_comment="${POST_COMMENT}$VERUS_CLI_WINDOWS_MD5"
|
||||||
|
-H "${SLACK_BOT_AUTH}"
|
||||||
|
"https://slack.com/api/files.upload"
|
||||||
|
- curl -F file=@"$VERUS_CLI_MACOS"
|
||||||
|
-F channels="$CLI_POST_CHANNEL"
|
||||||
|
-F initial_comment="${POST_COMMENT}$VERUS_CLI_MACOS_MD5"
|
||||||
|
-H "${SLACK_BOT_AUTH}"
|
||||||
|
"https://slack.com/api/files.upload"
|
||||||
|
- mkdir Windows && mkdir Linux && mkdir MacOS &&
|
||||||
|
mv $VERUS_CLI_WINDOWS Windows &&
|
||||||
|
mv $VERUS_CLI_LINUX Linux &&
|
||||||
|
mv $VERUS_CLI_MACOS MacOS
|
||||||
|
- echo "$AUTH_KEY" > AUTH_KEY.json &&
|
||||||
|
gcloud auth activate-service-account
|
||||||
|
--key-file AUTH_KEY.json
|
||||||
|
- gsutil cp -r Windows Linux MacOS $STAGING/VerusCoin/$CI_COMMIT_REF_NAME/
|
||||||
|
- curl -X POST
|
||||||
|
-F token="$CI_JOB_TOKEN"
|
||||||
|
-F ref=dev
|
||||||
|
-F variables\[UPSTREAM_CLI_BRANCH\]="$CI_COMMIT_REF_NAME"
|
||||||
|
-F variables\[VERUS_CLI_LINUX\]="$VERUS_CLI_LINUX"
|
||||||
|
-F variables\[VERUS_CLI_WINDOWS\]="$VERUS_CLI_WINDOWS"
|
||||||
|
-F variables\[VERUS_CLI_MACOS\]="$VERUS_CLI_MACOS"
|
||||||
|
"https://gitlab.com/api/v4/projects/8018592/trigger/pipeline"
|
||||||
|
|
||||||
|
|||||||
2
Brewfile
2
Brewfile
@@ -9,7 +9,7 @@ brew "automake"
|
|||||||
brew "binutils"
|
brew "binutils"
|
||||||
brew "cmake"
|
brew "cmake"
|
||||||
brew "coreutils"
|
brew "coreutils"
|
||||||
brew "gcc@5"
|
brew "gcc@6"
|
||||||
brew "leveldb"
|
brew "leveldb"
|
||||||
brew "nanomsg"
|
brew "nanomsg"
|
||||||
brew "protobuf"
|
brew "protobuf"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
## Install for Mac OS X
|
|
||||||
|
|
||||||
First off you need Apple's Xcode (at least version 7, preferably 8.x or later) and the Xcode Command Line Tools:
|
You will need Apple's Xcode (at least version 7, preferably 8.x) and the Xcode Command Line Tools:
|
||||||
|
|
||||||
https://itunes.apple.com/us/app/xcode/id497799835?mt=12
|
https://itunes.apple.com/us/app/xcode/id497799835?mt=12
|
||||||
|
|
||||||
@@ -8,7 +7,7 @@ And Homebrew:
|
|||||||
|
|
||||||
http://brew.sh/
|
http://brew.sh/
|
||||||
|
|
||||||
then use the brewfile to install the necessary packages:
|
Use the brewfile to install the necessary packages:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
brew bundle
|
brew bundle
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
## VerusCoin version 0.3.10-beta
|
## VerusCoin version 0.3.13-beta
|
||||||
|
|
||||||
VerusCoin is a new, mineable and stakeable cryptocurrency. It is a live fork of Komodo that retains its Zcash lineage and improves it. VerusCoin will leverage the Komodo platform and dPoW notarization for enhanced security and cross-chain interoperability. We have added a variation of a zawy12, lwma difficulty algorithm, a new CPU-optimized hash algorithm and a new algorithm for fair proof of stake. We describe these changes and vision going forward in a [our Phase I white paper](http://185.25.51.16/papers/VerusPhaseI.pdf) and [our Vision](http://185.25.51.16/papers/VerusVision.pdf).
|
VerusCoin is a new, mineable and stakeable cryptocurrency. It is a live fork of Komodo that retains its Zcash lineage and improves it. VerusCoin will leverage the Komodo platform and dPoW notarization for enhanced security and cross-chain interoperability. We have added a variation of a zawy12, lwma difficulty algorithm, a new CPU-optimized hash algorithm and a new algorithm for fair proof of stake. We describe these changes and vision going forward in a [our Phase I white paper](http://185.25.51.16/papers/VerusPhaseI.pdf) and [our Vision](http://185.25.51.16/papers/VerusVision.pdf).
|
||||||
- [VerusCoin web site https://veruscoin.io/ Wallets and CLI tools](https://veruscoin.io/)
|
- [VerusCoin web site https://veruscoin.io/ Wallets and CLI tools](https://veruscoin.io/)
|
||||||
- [VerusCoin Explorer](https://explorer.veruscoin.io/)
|
- [VerusCoin Explorer](https://explorer.veruscoin.io/)
|
||||||
|
|
||||||
|
Version 0.3.13-beta has portable mining working.
|
||||||
|
|
||||||
## Komodo with Bitcore
|
## Komodo with Bitcore
|
||||||
This version of Komodo contains Bitcore support for komodo and all its assetchains.
|
This version of Komodo contains Bitcore support for komodo and all its assetchains.
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package=googletest
|
package=googletest
|
||||||
$(package)_version=1.8.0
|
$(package)_version=1.8.0
|
||||||
$(package)_download_path=https://github.com/google/$(package)/archive/
|
$(package)_download_path=https://github.com/google/$(package)/archive
|
||||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||||
$(package)_download_file=release-$($(package)_version).tar.gz
|
$(package)_download_file=release-$($(package)_version).tar.gz
|
||||||
$(package)_sha256_hash=58a6f4277ca2bc8565222b3bbd58a177609e9c488e8a72649359ba51450db7d8
|
$(package)_sha256_hash=58a6f4277ca2bc8565222b3bbd58a177609e9c488e8a72649359ba51450db7d8
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package=libevent
|
package=libevent
|
||||||
$(package)_version=2.1.8
|
$(package)_version=2.1.8
|
||||||
$(package)_download_path=https://github.com/libevent/libevent/archive/
|
$(package)_download_path=https://github.com/libevent/libevent/archive
|
||||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||||
$(package)_download_file=release-$($(package)_version)-stable.tar.gz
|
$(package)_download_file=release-$($(package)_version)-stable.tar.gz
|
||||||
$(package)_sha256_hash=316ddb401745ac5d222d7c529ef1eada12f58f6376a66c1118eee803cb70f83d
|
$(package)_sha256_hash=316ddb401745ac5d222d7c529ef1eada12f58f6376a66c1118eee803cb70f83d
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package=libgmp
|
package=libgmp
|
||||||
|
|
||||||
ifeq ($(host_os),mingw32)
|
ifeq ($(host_os),mingw32)
|
||||||
$(package)_download_path=https://github.com/joshuayabut/$(package)/archive/
|
$(package)_download_path=https://github.com/joshuayabut/$(package)/archive
|
||||||
$(package)_file_name=$(package)-$($(package)_git_commit).tar.gz
|
$(package)_file_name=$(package)-$($(package)_git_commit).tar.gz
|
||||||
$(package)_download_file=$($(package)_git_commit).tar.gz
|
$(package)_download_file=$($(package)_git_commit).tar.gz
|
||||||
$(package)_sha256_hash=193836c1acc9dc00fe2521205d7bbe1ba13263f6cbef6f02584bf6f8b34b108f
|
$(package)_sha256_hash=193836c1acc9dc00fe2521205d7bbe1ba13263f6cbef6f02584bf6f8b34b108f
|
||||||
@@ -9,7 +9,7 @@ $(package)_git_commit=053c03b1cab347671d936f43ef66b48ab5e380ee
|
|||||||
$(package)_dependencies=
|
$(package)_dependencies=
|
||||||
$(package)_config_opts=--enable-cxx --disable-shared
|
$(package)_config_opts=--enable-cxx --disable-shared
|
||||||
else ifeq ($(build_os),darwin)
|
else ifeq ($(build_os),darwin)
|
||||||
$(package)_download_path=https://github.com/ca333/$(package)/archive/
|
$(package)_download_path=https://github.com/ca333/$(package)/archive
|
||||||
$(package)_file_name=$(package)-$($(package)_git_commit).tar.gz
|
$(package)_file_name=$(package)-$($(package)_git_commit).tar.gz
|
||||||
$(package)_download_file=$($(package)_git_commit).tar.gz
|
$(package)_download_file=$($(package)_git_commit).tar.gz
|
||||||
$(package)_sha256_hash=59b2c2b5d58fdf5943bfde1fa709e9eb53e7e072c9699d28dc1c2cbb3c8cc32c
|
$(package)_sha256_hash=59b2c2b5d58fdf5943bfde1fa709e9eb53e7e072c9699d28dc1c2cbb3c8cc32c
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package=librustzcash
|
package=librustzcash
|
||||||
$(package)_version=0.1
|
$(package)_version=0.1
|
||||||
$(package)_download_path=https://github.com/zcash/$(package)/archive/
|
$(package)_download_path=https://github.com/zcash/$(package)/archive
|
||||||
$(package)_file_name=$(package)-$($(package)_git_commit).tar.gz
|
$(package)_file_name=$(package)-$($(package)_git_commit).tar.gz
|
||||||
$(package)_download_file=$($(package)_git_commit).tar.gz
|
$(package)_download_file=$($(package)_git_commit).tar.gz
|
||||||
$(package)_sha256_hash=a5760a90d4a1045c8944204f29fa2a3cf2f800afee400f88bf89bbfe2cce1279
|
$(package)_sha256_hash=a5760a90d4a1045c8944204f29fa2a3cf2f800afee400f88bf89bbfe2cce1279
|
||||||
|
|||||||
@@ -14,15 +14,15 @@ define $(package)_set_vars
|
|||||||
$(package)_build_env+=CXXFLAGS="$($(package)_cxxflags) -DBINARY_OUTPUT -DSTATICLIB -DNO_PT_COMPRESSION=1 "
|
$(package)_build_env+=CXXFLAGS="$($(package)_cxxflags) -DBINARY_OUTPUT -DSTATICLIB -DNO_PT_COMPRESSION=1 "
|
||||||
endef
|
endef
|
||||||
define $(package)_build_cmds
|
define $(package)_build_cmds
|
||||||
$(MAKE) lib DEPINST=$(host_prefix) CURVE=ALT_BN128 MULTICORE=1 NO_PROCPS=1 NO_GTEST=1 NO_DOCS=1 STATIC=1 NO_SUPERCOP=1 FEATUREFLAGS=-DMONTGOMERY_OUTPUT OPTFLAGS="-O2 -march=x86-64"
|
$(MAKE) lib DEPINST=$(host_prefix) CURVE=ALT_BN128 MULTICORE=1 NO_PROCPS=1 NO_GTEST=1 NO_DOCS=1 STATIC=1 NO_SUPERCOP=1 FEATUREFLAGS=-DMONTGOMERY_OUTPUT OPTFLAGS="-O2 -march=x86-64 -g "
|
||||||
endef
|
endef
|
||||||
else ifeq ($(host_os),mingw32)
|
else ifeq ($(host_os),mingw32)
|
||||||
define $(package)_build_cmds
|
define $(package)_build_cmds
|
||||||
CXX="x86_64-w64-mingw32-g++-posix" CXXFLAGS="-DBINARY_OUTPUT -DPTW32_STATIC_LIB -DSTATICLIB -DNO_PT_COMPRESSION=1 -fopenmp" $(MAKE) lib DEPINST=$(host_prefix) CURVE=ALT_BN128 MULTICORE=1 NO_PROCPS=1 NO_GTEST=1 NO_DOCS=1 STATIC=1 NO_SUPERCOP=1 FEATUREFLAGS=-DMONTGOMERY_OUTPUT OPTFLAGS="-O2 -march=x86-64"
|
CXX="x86_64-w64-mingw32-g++-posix" CXXFLAGS="-DBINARY_OUTPUT -DPTW32_STATIC_LIB -DSTATICLIB -DNO_PT_COMPRESSION=1 -fopenmp" $(MAKE) lib DEPINST=$(host_prefix) CURVE=ALT_BN128 MULTICORE=1 NO_PROCPS=1 NO_GTEST=1 NO_DOCS=1 STATIC=1 NO_SUPERCOP=1 FEATUREFLAGS=-DMONTGOMERY_OUTPUT OPTFLAGS="-O2 -march=x86-64 -g "
|
||||||
endef
|
endef
|
||||||
else
|
else
|
||||||
define $(package)_build_cmds
|
define $(package)_build_cmds
|
||||||
CXXFLAGS="-fPIC -DBINARY_OUTPUT -DNO_PT_COMPRESSION=1" $(MAKE) lib DEPINST=$(host_prefix) CURVE=ALT_BN128 MULTICORE=1 NO_PROCPS=1 NO_GTEST=1 NO_DOCS=1 STATIC=1 NO_SUPERCOP=1 FEATUREFLAGS=-DMONTGOMERY_OUTPUT OPTFLAGS="-O2 -march=x86-64"
|
CXXFLAGS="-fPIC -DBINARY_OUTPUT -DNO_PT_COMPRESSION=1" $(MAKE) lib DEPINST=$(host_prefix) CURVE=ALT_BN128 MULTICORE=1 NO_PROCPS=1 NO_GTEST=1 NO_DOCS=1 STATIC=1 NO_SUPERCOP=1 FEATUREFLAGS=-DMONTGOMERY_OUTPUT OPTFLAGS="-O2 -march=x86-64 -g "
|
||||||
endef
|
endef
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ $(package)_config_opts=
|
|||||||
else
|
else
|
||||||
package=libsodium
|
package=libsodium
|
||||||
$(package)_version=1.0.15
|
$(package)_version=1.0.15
|
||||||
$(package)_download_path=https://download.libsodium.org/libsodium/releases/
|
$(package)_download_path=https://download.libsodium.org/libsodium/releases
|
||||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||||
$(package)_sha256_hash=fb6a9e879a2f674592e4328c5d9f79f082405ee4bb05cb6e679b90afe9e178f4
|
$(package)_sha256_hash=fb6a9e879a2f674592e4328c5d9f79f082405ee4bb05cb6e679b90afe9e178f4
|
||||||
$(package)_dependencies=
|
$(package)_dependencies=
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
ifeq ($(host_os),mingw32)
|
ifeq ($(host_os),mingw32)
|
||||||
$(package)_version=4.2.2-1
|
$(package)_version=4.2.2-1
|
||||||
$(package)_download_path=https://github.com/ca333/libzmq/archive/
|
$(package)_download_path=https://github.com/ca333/libzmq/archive
|
||||||
$(package)_download_file=v$($(package)_version).tar.gz
|
$(package)_download_file=v$($(package)_version).tar.gz
|
||||||
$(package)_file_name=libzmq-$($(package)_version).tar.gz
|
$(package)_file_name=libzmq-$($(package)_version).tar.gz
|
||||||
$(package)_sha256_hash=0e225b85ce11be23bf7eb7d3f25c6686728bf30d5c31f61c12d37bb646c69962
|
$(package)_sha256_hash=0e225b85ce11be23bf7eb7d3f25c6686728bf30d5c31f61c12d37bb646c69962
|
||||||
@@ -15,7 +15,7 @@ endef
|
|||||||
else
|
else
|
||||||
package=zeromq
|
package=zeromq
|
||||||
$(package)_version=4.2.1
|
$(package)_version=4.2.1
|
||||||
$(package)_download_path=https://github.com/zeromq/libzmq/releases/download/v$($(package)_version)/
|
$(package)_download_path=https://github.com/zeromq/libzmq/releases/download/v$($(package)_version)
|
||||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||||
$(package)_sha256_hash=27d1e82a099228ee85a7ddb2260f40830212402c605a4a10b5e5498a7e0e9d03
|
$(package)_sha256_hash=27d1e82a099228ee85a7ddb2260f40830212402c605a4a10b5e5498a7e0e9d03
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
VerusCoin Command Line Tools v0.3.10-beta
|
VerusCoin Command Line Tools v0.3.13-beta
|
||||||
|
|
||||||
Contents:
|
Contents:
|
||||||
komodod - VerusCoin's enhanced Komodo daemon
|
komodod - VerusCoin's enhanced Komodo daemon
|
||||||
komodo-cli - VerusCoin's Komodo command line utility
|
komodo-cli - VerusCoin's Komodo command line utility
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
cd $DIR
|
cd $DIR
|
||||||
./komodod -ac_name=VRSC -ac_algo=verushash -ac_cc=1 -ac_supply=0 -ac_eras=3 -ac_reward=0,38400000000,2400000000 -ac_halving=1,43200,1051920 -ac_decay=100000000,0,0 -ac_end=10080,226080,0 -addnode=185.25.48.236 -addnode=185.64.105.111 -ac_timelockgte=19200000000 -ac_timeunlockfrom=129600 -ac_timeunlockto=1180800 -ac_veruspos=50 -gen -genproclimit=0 "$@"
|
./komodod -ac_name=VRSC -ac_algo=verushash -ac_cc=1 -ac_supply=0 -ac_eras=3 -ac_reward=0,38400000000,2400000000 -ac_halving=1,43200,1051920 -ac_decay=100000000,0,0 -ac_end=10080,226080,0 -ac_timelockgte=19200000000 -ac_timeunlockfrom=129600 -ac_timeunlockto=1180800 -ac_veruspos=50 "$@"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
VerusCoin Command Line Tools v0.3.9-beta
|
VerusCoin Command Line Tools v0.3.13-beta
|
||||||
Contents:
|
Contents:
|
||||||
komodod - VerusCoin's enhanced Komodo daemon.
|
komodod - VerusCoin's enhanced Komodo daemon.
|
||||||
komodo-cli - VerusCoin's enhanced Komodo command line utility.
|
komodo-cli - VerusCoin's enhanced Komodo command line utility.
|
||||||
|
|||||||
@@ -1,7 +1,199 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
set -eu
|
set -eu
|
||||||
curl "https://z.cash/downloads/sprout-proving.key" -o "$HOME/Library/Application Support/ZcashParams/sprout-proving.key"
|
|
||||||
curl "https://z.cash/downloads/sprout-verifying.key" -o "$HOME/Library/Application Support/ZcashParams/sprout-verifying.key"
|
|
||||||
|
|
||||||
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||||
|
PARAMS_DIR="$HOME/Library/Application Support/ZcashParams"
|
||||||
|
else
|
||||||
|
PARAMS_DIR="$HOME/.zcash-params"
|
||||||
|
fi
|
||||||
|
|
||||||
|
SPROUT_PKEY_NAME='sprout-proving.key'
|
||||||
|
SPROUT_VKEY_NAME='sprout-verifying.key'
|
||||||
|
SAPLING_SPEND_NAME='sapling-spend.params'
|
||||||
|
SAPLING_OUTPUT_NAME='sapling-output.params'
|
||||||
|
SAPLING_SPROUT_GROTH16_NAME='sprout-groth16.params'
|
||||||
|
SPROUT_URL="https://z.cash/downloads"
|
||||||
|
SPROUT_IPFS="/ipfs/QmZKKx7Xup7LiAtFRhYsE1M7waXcv9ir9eCECyXAFGxhEo"
|
||||||
|
|
||||||
|
SHA256CMD="$(command -v sha256sum || echo shasum)"
|
||||||
|
SHA256ARGS="$(command -v sha256sum >/dev/null || echo '-a 256')"
|
||||||
|
|
||||||
|
WGETCMD="$(command -v wget || echo '')"
|
||||||
|
IPFSCMD="$(command -v ipfs || echo '')"
|
||||||
|
CURLCMD="$(command -v curl || echo '')"
|
||||||
|
|
||||||
|
# fetch methods can be disabled with ZC_DISABLE_SOMETHING=1
|
||||||
|
ZC_DISABLE_WGET="${ZC_DISABLE_WGET:-}"
|
||||||
|
ZC_DISABLE_IPFS="${ZC_DISABLE_IPFS:-}"
|
||||||
|
ZC_DISABLE_CURL="${ZC_DISABLE_CURL:-}"
|
||||||
|
|
||||||
|
function fetch_wget {
|
||||||
|
if [ -z "$WGETCMD" ] || ! [ -z "$ZC_DISABLE_WGET" ]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local filename="$1"
|
||||||
|
local dlname="$2"
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
Retrieving (wget): $SPROUT_URL/$filename
|
||||||
|
EOF
|
||||||
|
|
||||||
|
wget \
|
||||||
|
--progress=dot:giga \
|
||||||
|
--output-document="$dlname" \
|
||||||
|
--continue \
|
||||||
|
--retry-connrefused --waitretry=3 --timeout=30 \
|
||||||
|
"$SPROUT_URL/$filename"
|
||||||
|
}
|
||||||
|
|
||||||
|
function fetch_ipfs {
|
||||||
|
if [ -z "$IPFSCMD" ] || ! [ -z "$ZC_DISABLE_IPFS" ]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local filename="$1"
|
||||||
|
local dlname="$2"
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
Retrieving (ipfs): $SPROUT_IPFS/$filename
|
||||||
|
EOF
|
||||||
|
|
||||||
|
ipfs get --output "$dlname" "$SPROUT_IPFS/$filename"
|
||||||
|
}
|
||||||
|
|
||||||
|
function fetch_curl {
|
||||||
|
if [ -z "$CURLCMD" ] || ! [ -z "$ZC_DISABLE_CURL" ]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local filename="$1"
|
||||||
|
local dlname="$2"
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
Retrieving (curl): $SPROUT_URL/$filename
|
||||||
|
EOF
|
||||||
|
|
||||||
|
curl \
|
||||||
|
--output "$dlname" \
|
||||||
|
-# -L -C - \
|
||||||
|
"$SPROUT_URL/$filename"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function fetch_failure {
|
||||||
|
cat >&2 <<EOF
|
||||||
|
Failed to fetch the Zcash zkSNARK parameters!
|
||||||
|
Try installing one of the following programs and make sure you're online:
|
||||||
|
* ipfs
|
||||||
|
* wget
|
||||||
|
* curl
|
||||||
|
EOF
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
function fetch_params {
|
||||||
|
local filename="$1"
|
||||||
|
local output="$2"
|
||||||
|
local dlname="${output}.dl"
|
||||||
|
local expectedhash="$3"
|
||||||
|
|
||||||
|
if ! [ -f "$output" ]
|
||||||
|
then
|
||||||
|
for method in wget ipfs curl failure; do
|
||||||
|
if "fetch_$method" "$filename" "$dlname"; then
|
||||||
|
echo "Download successful!"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
"$SHA256CMD" $SHA256ARGS -c <<EOF
|
||||||
|
$expectedhash $dlname
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Check the exit code of the shasum command:
|
||||||
|
CHECKSUM_RESULT=$?
|
||||||
|
if [ $CHECKSUM_RESULT -eq 0 ]; then
|
||||||
|
mv -v "$dlname" "$output"
|
||||||
|
else
|
||||||
|
echo "Failed to verify parameter checksums!" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Use flock to prevent parallel execution.
|
||||||
|
function lock() {
|
||||||
|
local lockfile=/tmp/fetch_params.lock
|
||||||
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||||
|
if shlock -f ${lockfile} -p $$; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# create lock file
|
||||||
|
eval "exec 200>$lockfile"
|
||||||
|
# acquire the lock
|
||||||
|
flock -n 200 \
|
||||||
|
&& return 0 \
|
||||||
|
|| return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function exit_locked_error {
|
||||||
|
echo "Only one instance of fetch-params.sh can be run at a time." >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
|
||||||
|
lock fetch-params.sh \
|
||||||
|
|| exit_locked_error
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
Zcash - fetch-params.sh
|
||||||
|
This script will fetch the Zcash zkSNARK parameters and verify their
|
||||||
|
integrity with sha256sum.
|
||||||
|
If they already exist locally, it will exit now and do nothing else.
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Now create PARAMS_DIR and insert a README if necessary:
|
||||||
|
if ! [ -d "$PARAMS_DIR" ]
|
||||||
|
then
|
||||||
|
mkdir -p "$PARAMS_DIR"
|
||||||
|
README_PATH="$PARAMS_DIR/README"
|
||||||
|
cat >> "$README_PATH" <<EOF
|
||||||
|
This directory stores common Zcash zkSNARK parameters. Note that it is
|
||||||
|
distinct from the daemon's -datadir argument because the parameters are
|
||||||
|
large and may be shared across multiple distinct -datadir's such as when
|
||||||
|
setting up test networks.
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# This may be the first time the user's run this script, so give
|
||||||
|
# them some info, especially about bandwidth usage:
|
||||||
|
cat <<EOF
|
||||||
|
The parameters are currently just under 911MB in size, so plan accordingly
|
||||||
|
for your bandwidth constraints. If the files are already present and
|
||||||
|
have the correct sha256sum, no networking is used.
|
||||||
|
Creating params directory. For details about this directory, see:
|
||||||
|
$README_PATH
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "$PARAMS_DIR"
|
||||||
|
|
||||||
|
# Sprout parameters:
|
||||||
|
fetch_params "$SPROUT_PKEY_NAME" "$PARAMS_DIR/$SPROUT_PKEY_NAME" "8bc20a7f013b2b58970cddd2e7ea028975c88ae7ceb9259a5344a16bc2c0eef7"
|
||||||
|
fetch_params "$SPROUT_VKEY_NAME" "$PARAMS_DIR/$SPROUT_VKEY_NAME" "4bd498dae0aacfd8e98dc306338d017d9c08dd0918ead18172bd0aec2fc5df82"
|
||||||
|
|
||||||
|
# Sapling parameters:
|
||||||
|
fetch_params "$SAPLING_SPEND_NAME" "$PARAMS_DIR/$SAPLING_SPEND_NAME" "8e48ffd23abb3a5fd9c5589204f32d9c31285a04b78096ba40a79b75677efc13"
|
||||||
|
fetch_params "$SAPLING_OUTPUT_NAME" "$PARAMS_DIR/$SAPLING_OUTPUT_NAME" "2f0ebbcbb9bb0bcffe95a397e7eba89c29eb4dde6191c339db88570e3f3fb0e4"
|
||||||
|
fetch_params "$SAPLING_SPROUT_GROTH16_NAME" "$PARAMS_DIR/$SAPLING_SPROUT_GROTH16_NAME" "b685d700c60328498fbde589c8c7c484c722b788b265b72af448a5bf0ee55b50"
|
||||||
|
}
|
||||||
|
|
||||||
|
main
|
||||||
|
rm -f /tmp/fetch_params.lock
|
||||||
|
exit 0
|
||||||
@@ -3,4 +3,4 @@
|
|||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
cd $DIR
|
cd $DIR
|
||||||
|
|
||||||
./komodod -ac_name=VRSC -ac_algo=verushash -ac_cc=1 -ac_supply=0 -ac_eras=3 -ac_reward=0,38400000000,2400000000 -ac_halving=1,43200,1051920 -ac_decay=100000000,0,0 -ac_end=10080,226080,0 -addnode=185.25.48.236 -addnode=185.64.105.111 -ac_timelockgte=19200000000 -ac_timeunlockfrom=129600 -ac_timeunlockto=1180800 -ac_veruspos=50 -gen -genproclimit=0 "$@"
|
./komodod -ac_name=VRSC -ac_algo=verushash -ac_cc=1 -ac_supply=0 -ac_eras=3 -ac_reward=0,38400000000,2400000000 -ac_halving=1,43200,1051920 -ac_decay=100000000,0,0 -ac_end=10080,226080,0 -ac_timelockgte=19200000000 -ac_timeunlockfrom=129600 -ac_timeunlockto=1180800 -ac_veruspos=50 "$@"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
VerusCoin Command Line Tools v0.3.10-beta
|
VerusCoin Command Line Tools v0.3.13-beta
|
||||||
Contents:
|
Contents:
|
||||||
komodod.exe - VerusCoin's enhanced Komodo daemon
|
komodod.exe - VerusCoin's enhanced Komodo daemon
|
||||||
komodo-cli.exe - VerusCoin's Komodo command line utility
|
komodo-cli.exe - VerusCoin's Komodo command line utility
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
@call :GET_CURRENT_DIR
|
@call :GET_CURRENT_DIR
|
||||||
@cd %THIS_DIR%
|
@cd %THIS_DIR%
|
||||||
komodod.exe -ac_name=VRSC -ac_algo=verushash -ac_cc=1 -ac_supply=0 -ac_eras=3 -ac_reward=0,38400000000,2400000000 -ac_halving=1,43200,1051920 -ac_decay=100000000,0,0 -ac_end=10080,226080,0 -addnode=185.25.48.236 -addnode=185.64.105.111 -ac_timelockgte=19200000000 -ac_timeunlockfrom=129600 -ac_timeunlockto=1180800 -ac_veruspos=50 -gen -genproclimit=0 %1 %2 %3 %4 %5 %6 %7 %8 %9
|
komodod.exe -ac_name=VRSC -ac_algo=verushash -ac_cc=1 -ac_supply=0 -ac_eras=3 -ac_reward=0,38400000000,2400000000 -ac_halving=1,43200,1051920 -ac_decay=100000000,0,0 -ac_end=10080,226080,0 -ac_timelockgte=19200000000 -ac_timeunlockfrom=129600 -ac_timeunlockto=1180800 -ac_veruspos=50 %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||||
@goto :EOF
|
@goto :EOF
|
||||||
|
|
||||||
:GET_CURRENT_DIR
|
:GET_CURRENT_DIR
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
*** 1,30 ****
|
*** 1,30 ****
|
||||||
package=libsnark
|
package=libsnark
|
||||||
$(package)_version=0.1
|
$(package)_version=0.1
|
||||||
! $(package)_download_path=https://github.com/radix42/$(package)/archive/
|
! $(package)_download_path=https://github.com/radix42/$(package)/archive
|
||||||
$(package)_file_name=$(package)-$($(package)_git_commit).tar.gz
|
$(package)_file_name=$(package)-$($(package)_git_commit).tar.gz
|
||||||
$(package)_download_file=$($(package)_git_commit).tar.gz
|
$(package)_download_file=$($(package)_git_commit).tar.gz
|
||||||
! $(package)_sha256_hash=9dbd5b44d3443e86463e934bfe1023cab4ca5948f8d74c23a67d9535c28d2584
|
! $(package)_sha256_hash=9dbd5b44d3443e86463e934bfe1023cab4ca5948f8d74c23a67d9535c28d2584
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
- endef
|
- endef
|
||||||
- else
|
- else
|
||||||
define $(package)_build_cmds
|
define $(package)_build_cmds
|
||||||
CXXFLAGS="-fPIC -DBINARY_OUTPUT -DNO_PT_COMPRESSION=1" $(MAKE) lib DEPINST=$(host_prefix) CURVE=ALT_BN128 MULTICORE=1 NO_PROCPS=1 NO_GTEST=1 NO_DOCS=1 STATIC=1 NO_SUPERCOP=1 FEATUREFLAGS=-DMONTGOMERY_OUTPUT OPTFLAGS="-O2 -march=x86-64"
|
CXXFLAGS="-fPIC -DBINARY_OUTPUT -DNO_PT_COMPRESSION=1" $(MAKE) lib DEPINST=$(host_prefix) CURVE=ALT_BN128 MULTICORE=1 NO_PROCPS=1 NO_GTEST=1 NO_DOCS=1 STATIC=1 NO_SUPERCOP=1 FEATUREFLAGS=-DMONTGOMERY_OUTPUT OPTFLAGS="-O2 -march=x86-64 -g "
|
||||||
endef
|
endef
|
||||||
|
|
||||||
-
|
-
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
--- 1,17 ----
|
--- 1,17 ----
|
||||||
package=libsnark
|
package=libsnark
|
||||||
$(package)_version=0.1
|
$(package)_version=0.1
|
||||||
! $(package)_download_path=https://github.com/zcash/$(package)/archive/
|
! $(package)_download_path=https://github.com/zcash/$(package)/archive
|
||||||
$(package)_file_name=$(package)-$($(package)_git_commit).tar.gz
|
$(package)_file_name=$(package)-$($(package)_git_commit).tar.gz
|
||||||
$(package)_download_file=$($(package)_git_commit).tar.gz
|
$(package)_download_file=$($(package)_git_commit).tar.gz
|
||||||
! $(package)_sha256_hash=9422b1a2a94e6b8be61f07af7f146087c2a7d70b208d07ad076622225aa7f0e4
|
! $(package)_sha256_hash=9422b1a2a94e6b8be61f07af7f146087c2a7d70b208d07ad076622225aa7f0e4
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
$(package)_dependencies=libgmp libsodium
|
$(package)_dependencies=libgmp libsodium
|
||||||
|
|
||||||
define $(package)_build_cmds
|
define $(package)_build_cmds
|
||||||
CXXFLAGS="-fPIC -DBINARY_OUTPUT -DNO_PT_COMPRESSION=1" $(MAKE) lib DEPINST=$(host_prefix) CURVE=ALT_BN128 MULTICORE=1 NO_PROCPS=1 NO_GTEST=1 NO_DOCS=1 STATIC=1 NO_SUPERCOP=1 FEATUREFLAGS=-DMONTGOMERY_OUTPUT OPTFLAGS="-O2 -march=x86-64"
|
CXXFLAGS="-fPIC -DBINARY_OUTPUT -DNO_PT_COMPRESSION=1" $(MAKE) lib DEPINST=$(host_prefix) CURVE=ALT_BN128 MULTICORE=1 NO_PROCPS=1 NO_GTEST=1 NO_DOCS=1 STATIC=1 NO_SUPERCOP=1 FEATUREFLAGS=-DMONTGOMERY_OUTPUT OPTFLAGS="-O2 -march=x86-64 -g "
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_stage_cmds
|
define $(package)_stage_cmds
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
cp src/komodod.exe src/komodo-cli.exe src/komodo-tx.exe kmd/windows/verus-cli
|
|
||||||
@@ -43,6 +43,7 @@ LIBBITCOIN_CLI=libbitcoin_cli.a
|
|||||||
LIBBITCOIN_UTIL=libbitcoin_util.a
|
LIBBITCOIN_UTIL=libbitcoin_util.a
|
||||||
LIBBITCOIN_CRYPTO=crypto/libbitcoin_crypto.a
|
LIBBITCOIN_CRYPTO=crypto/libbitcoin_crypto.a
|
||||||
LIBVERUS_CRYPTO=crypto/libverus_crypto.a
|
LIBVERUS_CRYPTO=crypto/libverus_crypto.a
|
||||||
|
LIBVERUS_PORTABLE_CRYPTO=crypto/libverus_portable_crypto.a
|
||||||
LIBSECP256K1=secp256k1/libsecp256k1.la
|
LIBSECP256K1=secp256k1/libsecp256k1.la
|
||||||
LIBCRYPTOCONDITIONS=cryptoconditions/libcryptoconditions_core.la
|
LIBCRYPTOCONDITIONS=cryptoconditions/libcryptoconditions_core.la
|
||||||
LIBSNARK=snark/libsnark.a
|
LIBSNARK=snark/libsnark.a
|
||||||
@@ -50,7 +51,7 @@ LIBUNIVALUE=univalue/libunivalue.la
|
|||||||
LIBZCASH=libzcash.a -lcurl
|
LIBZCASH=libzcash.a -lcurl
|
||||||
|
|
||||||
$(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*)
|
$(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*)
|
||||||
$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F)
|
$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) OPTFLAGS="-O2 -march=x86-64 -g "
|
||||||
|
|
||||||
LIBSNARK_CXXFLAGS = -fPIC -DBINARY_OUTPUT -DNO_PT_COMPRESSION=1 -fstack-protector-all
|
LIBSNARK_CXXFLAGS = -fPIC -DBINARY_OUTPUT -DNO_PT_COMPRESSION=1 -fstack-protector-all
|
||||||
LIBSNARK_CONFIG_FLAGS = CURVE=ALT_BN128 NO_PROCPS=1 NO_DOCS=1 STATIC=1 NO_SUPERCOP=1 FEATUREFLAGS=-DMONTGOMERY_OUTPUT NO_COPY_DEPINST=1 NO_COMPILE_LIBGTEST=1
|
LIBSNARK_CONFIG_FLAGS = CURVE=ALT_BN128 NO_PROCPS=1 NO_DOCS=1 STATIC=1 NO_SUPERCOP=1 FEATUREFLAGS=-DMONTGOMERY_OUTPUT NO_COPY_DEPINST=1 NO_COMPILE_LIBGTEST=1
|
||||||
@@ -59,22 +60,23 @@ LIBSNARK_CONFIG_FLAGS += MULTICORE=1
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
$(LIBSNARK): $(wildcard snark/src/*)
|
$(LIBSNARK): $(wildcard snark/src/*)
|
||||||
$(AM_V_at) CXXFLAGS="$(LIBSNARK_CXXFLAGS)" $(MAKE) $(AM_MAKEFLAGS) -C snark/ DEPINST="$(LIBSNARK_DEPINST)" $(LIBSNARK_CONFIG_FLAGS) OPTFLAGS="-O2 -march=x86-64"
|
$(AM_V_at) CXXFLAGS="$(LIBSNARK_CXXFLAGS)" $(MAKE) $(AM_MAKEFLAGS) -C snark/ DEPINST="$(LIBSNARK_DEPINST)" $(LIBSNARK_CONFIG_FLAGS) OPTFLAGS="-O2 -march=x86-64 -g "
|
||||||
|
|
||||||
libsnark-tests: $(wildcard snark/src/*)
|
libsnark-tests: $(wildcard snark/src/*)
|
||||||
$(AM_V_at) CXXFLAGS="$(LIBSNARK_CXXFLAGS)" $(MAKE) $(AM_MAKEFLAGS) -C snark/ check DEPINST="$(LIBSNARK_DEPINST)" $(LIBSNARK_CONFIG_FLAGS) OPTFLAGS="-O2 -march=x86-64"
|
$(AM_V_at) CXXFLAGS="$(LIBSNARK_CXXFLAGS)" $(MAKE) $(AM_MAKEFLAGS) -C snark/ check DEPINST="$(LIBSNARK_DEPINST)" $(LIBSNARK_CONFIG_FLAGS) OPTFLAGS="-O2 -march=x86-64 -g "
|
||||||
|
|
||||||
$(LIBUNIVALUE): $(wildcard univalue/lib/*)
|
$(LIBUNIVALUE): $(wildcard univalue/lib/*)
|
||||||
$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C univalue/
|
$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C univalue/ OPTFLAGS="-O2 -march=x86-64 -g "
|
||||||
|
|
||||||
$(LIBCRYPTOCONDITIONS): $(wildcard cryptoconditions/src/*) $(wildcard cryptoconditions/include/*)
|
$(LIBCRYPTOCONDITIONS): $(wildcard cryptoconditions/src/*) $(wildcard cryptoconditions/include/*)
|
||||||
$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F)
|
$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) OPTFLAGS="-O2 -march=x86-64 -g "
|
||||||
|
|
||||||
# Make is not made aware of per-object dependencies to avoid limiting building parallelization
|
# Make is not made aware of per-object dependencies to avoid limiting building parallelization
|
||||||
# But to build the less dependent modules first, we manually select their order here:
|
# But to build the less dependent modules first, we manually select their order here:
|
||||||
EXTRA_LIBRARIES = \
|
EXTRA_LIBRARIES = \
|
||||||
crypto/libbitcoin_crypto.a \
|
crypto/libbitcoin_crypto.a \
|
||||||
crypto/libverus_crypto.a \
|
crypto/libverus_crypto.a \
|
||||||
|
crypto/libverus_portable_crypto.a \
|
||||||
libbitcoin_util.a \
|
libbitcoin_util.a \
|
||||||
libbitcoin_common.a \
|
libbitcoin_common.a \
|
||||||
libbitcoin_server.a \
|
libbitcoin_server.a \
|
||||||
@@ -401,12 +403,17 @@ crypto_libbitcoin_crypto_a_SOURCES += \
|
|||||||
${EQUIHASH_TROMP_SOURCES}
|
${EQUIHASH_TROMP_SOURCES}
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Verus hash specific library
|
# Verus hash specific library - optimized
|
||||||
crypto_libverus_crypto_a_CPPFLAGS = -O3 -Wint-conversion -march=native -funroll-loops -fomit-frame-pointer -fPIC $(AM_CPPFLAGS)
|
crypto_libverus_crypto_a_CPPFLAGS = -O3 -Wint-conversion -march=x86-64 -msse4 -msse4.1 -msse4.2 -mssse3 -mavx -maes -g -funroll-loops -fomit-frame-pointer -fPIC $(AM_CPPFLAGS)
|
||||||
crypto_libverus_crypto_a_CXXFLAGS = -O3 -Wint-conversion -march=native -funroll-loops -fomit-frame-pointer -fPIC $(AM_CXXFLAGS)
|
crypto_libverus_crypto_a_CXXFLAGS = -O3 -Wint-conversion -march=x86-64 -msse4 -msse4.1 -msse4.2 -mssse3 -mavx -maes -g -funroll-loops -fomit-frame-pointer -fPIC $(AM_CXXFLAGS)
|
||||||
crypto_libverus_crypto_a_SOURCES = \
|
crypto_libverus_crypto_a_SOURCES = \
|
||||||
crypto/haraka.h \
|
crypto/haraka.h \
|
||||||
crypto/haraka.c \
|
crypto/haraka.c
|
||||||
|
|
||||||
|
# Verus hash specific library - portable
|
||||||
|
crypto_libverus_portable_crypto_a_CPPFLAGS = -O3 -Wint-conversion -march=x86-64 -g -funroll-loops -fomit-frame-pointer -fPIC $(AM_CPPFLAGS)
|
||||||
|
crypto_libverus_portable_crypto_a_CXXFLAGS = -O3 -Wint-conversion -march=x86-64 -g -funroll-loops -fomit-frame-pointer -fPIC $(AM_CXXFLAGS)
|
||||||
|
crypto_libverus_portable_crypto_a_SOURCES = \
|
||||||
crypto/haraka_portable.h \
|
crypto/haraka_portable.h \
|
||||||
crypto/haraka_portable.c
|
crypto/haraka_portable.c
|
||||||
|
|
||||||
@@ -505,6 +512,7 @@ komodod_LDADD = \
|
|||||||
$(LIBBITCOIN_UTIL) \
|
$(LIBBITCOIN_UTIL) \
|
||||||
$(LIBBITCOIN_CRYPTO) \
|
$(LIBBITCOIN_CRYPTO) \
|
||||||
$(LIBVERUS_CRYPTO) \
|
$(LIBVERUS_CRYPTO) \
|
||||||
|
$(LIBVERUS_PORTABLE_CRYPTO) \
|
||||||
$(LIBZCASH) \
|
$(LIBZCASH) \
|
||||||
$(LIBSNARK) \
|
$(LIBSNARK) \
|
||||||
$(LIBLEVELDB) \
|
$(LIBLEVELDB) \
|
||||||
@@ -529,6 +537,7 @@ komodod_LDADD += \
|
|||||||
$(EVENT_LIBS) \
|
$(EVENT_LIBS) \
|
||||||
$(LIBBITCOIN_CRYPTO) \
|
$(LIBBITCOIN_CRYPTO) \
|
||||||
$(LIBVERUS_CRYPTO) \
|
$(LIBVERUS_CRYPTO) \
|
||||||
|
$(LIBVERUS_PORTABLE_CRYPTO) \
|
||||||
$(LIBZCASH_LIBS)
|
$(LIBZCASH_LIBS)
|
||||||
|
|
||||||
if ENABLE_PROTON
|
if ENABLE_PROTON
|
||||||
@@ -564,6 +573,7 @@ komodo_cli_LDADD = \
|
|||||||
$(LIBZCASH) \
|
$(LIBZCASH) \
|
||||||
$(LIBBITCOIN_CRYPTO) \
|
$(LIBBITCOIN_CRYPTO) \
|
||||||
$(LIBVERUS_CRYPTO) \
|
$(LIBVERUS_CRYPTO) \
|
||||||
|
$(LIBVERUS_PORTABLE_CRYPTO) \
|
||||||
$(LIBZCASH_LIBS)
|
$(LIBZCASH_LIBS)
|
||||||
|
|
||||||
if ENABLE_WALLET
|
if ENABLE_WALLET
|
||||||
@@ -572,6 +582,7 @@ wallet_utility_LDADD = \
|
|||||||
$(LIBBITCOIN_COMMON) \
|
$(LIBBITCOIN_COMMON) \
|
||||||
$(LIBBITCOIN_CRYPTO) \
|
$(LIBBITCOIN_CRYPTO) \
|
||||||
$(LIBVERUS_CRYPTO) \
|
$(LIBVERUS_CRYPTO) \
|
||||||
|
$(LIBVERUS_PORTABLE_CRYPTO) \
|
||||||
$(LIBSECP256K1) \
|
$(LIBSECP256K1) \
|
||||||
$(LIBBITCOIN_UTIL) \
|
$(LIBBITCOIN_UTIL) \
|
||||||
$(BOOST_LIBS) \
|
$(BOOST_LIBS) \
|
||||||
@@ -603,6 +614,7 @@ komodo_tx_LDADD = \
|
|||||||
$(LIBSNARK) \
|
$(LIBSNARK) \
|
||||||
$(LIBBITCOIN_CRYPTO) \
|
$(LIBBITCOIN_CRYPTO) \
|
||||||
$(LIBVERUS_CRYPTO) \
|
$(LIBVERUS_CRYPTO) \
|
||||||
|
$(LIBVERUS_PORTABLE_CRYPTO) \
|
||||||
$(LIBZCASH_LIBS) \
|
$(LIBZCASH_LIBS) \
|
||||||
$(LIBCRYPTOCONDITIONS)
|
$(LIBCRYPTOCONDITIONS)
|
||||||
|
|
||||||
|
|||||||
@@ -235,12 +235,6 @@ void *chainparams_commandline(void *ptr)
|
|||||||
mainParams.pchMessageStart[3] = (ASSETCHAINS_MAGIC >> 24) & 0xff;
|
mainParams.pchMessageStart[3] = (ASSETCHAINS_MAGIC >> 24) & 0xff;
|
||||||
fprintf(stderr,">>>>>>>>>> %s: p2p.%u rpc.%u magic.%08x %u %u coins\n",ASSETCHAINS_SYMBOL,ASSETCHAINS_P2PPORT,ASSETCHAINS_RPCPORT,ASSETCHAINS_MAGIC,ASSETCHAINS_MAGIC,(uint32_t)ASSETCHAINS_SUPPLY);
|
fprintf(stderr,">>>>>>>>>> %s: p2p.%u rpc.%u magic.%08x %u %u coins\n",ASSETCHAINS_SYMBOL,ASSETCHAINS_P2PPORT,ASSETCHAINS_RPCPORT,ASSETCHAINS_MAGIC,ASSETCHAINS_MAGIC,(uint32_t)ASSETCHAINS_SUPPLY);
|
||||||
|
|
||||||
// only require coinbase protection on Verus from the Komodo family of coins
|
|
||||||
if (strcmp(ASSETCHAINS_SYMBOL,"VRSC") == 0)
|
|
||||||
{
|
|
||||||
mainParams.consensus.fCoinbaseMustBeProtected = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ASSETCHAINS_ALGO != ASSETCHAINS_EQUIHASH)
|
if (ASSETCHAINS_ALGO != ASSETCHAINS_EQUIHASH)
|
||||||
{
|
{
|
||||||
// this is only good for 60 second blocks with an averaging window of 45. for other parameters, use:
|
// this is only good for 60 second blocks with an averaging window of 45. for other parameters, use:
|
||||||
@@ -262,22 +256,38 @@ void *chainparams_commandline(void *ptr)
|
|||||||
mainParams.consensus.nLwmaPOSAjustedWeight = 46531;
|
mainParams.consensus.nLwmaPOSAjustedWeight = 46531;
|
||||||
}
|
}
|
||||||
|
|
||||||
checkpointData = //(Checkpoints::CCheckpointData)
|
// only require coinbase protection on Verus from the Komodo family of coins
|
||||||
{
|
if (strcmp(ASSETCHAINS_SYMBOL,"VRSC") == 0)
|
||||||
boost::assign::map_list_of
|
{
|
||||||
(0, mainParams.consensus.hashGenesisBlock)
|
mainParams.consensus.fCoinbaseMustBeProtected = true;
|
||||||
(10000, uint256S("0xac2cd7d37177140ea4991cf630c0b9c7f94d707b84fb0351bf3a44856d2ae5dc"))
|
checkpointData = //(Checkpoints::CCheckpointData)
|
||||||
(20000, uint256S("0xb0e8cb9f77aaa7ff5bd90d6c08d06f4c4bf03e00c2b8a35a042e760845590c8a"))
|
{
|
||||||
(30000, uint256S("0xf2112ca577338ad7104bf905fa6a63d36b17a86f914c97b73cd31d43fcd7557c"))
|
boost::assign::map_list_of
|
||||||
(40000, uint256S("0x00000000008f83378dab727864b763ce91a4ea5f75d55939c0c1390cfb8c38f1"))
|
(0, mainParams.consensus.hashGenesisBlock)
|
||||||
(49170, uint256S("0x2add646c0089871ec2379f02f7cd60b3af6efd9c152a6f16fc10925458c270cc")),
|
(10000, uint256S("0xac2cd7d37177140ea4991cf630c0b9c7f94d707b84fb0351bf3a44856d2ae5dc"))
|
||||||
(int64_t)1529910234, // * UNIX timestamp of last checkpoint block
|
(20000, uint256S("0xb0e8cb9f77aaa7ff5bd90d6c08d06f4c4bf03e00c2b8a35a042e760845590c8a"))
|
||||||
(int64_t)63661, // * total number of transactions between genesis and last checkpoint
|
(30000, uint256S("0xf2112ca577338ad7104bf905fa6a63d36b17a86f914c97b73cd31d43fcd7557c"))
|
||||||
// (the tx=... number in the SetBestChain debug.log lines)
|
(40000, uint256S("0x00000000008f83378dab727864b763ce91a4ea5f75d55939c0c1390cfb8c38f1"))
|
||||||
(double)2777 // * estimated number of transactions per day after checkpoint
|
(49170, uint256S("0x2add646c0089871ec2379f02f7cd60b3af6efd9c152a6f16fc10925458c270cc")),
|
||||||
// total number of tx / (checkpoint block height / (24 * 24))
|
(int64_t)1529910234, // * UNIX timestamp of last checkpoint block
|
||||||
};
|
(int64_t)63661, // * total number of transactions between genesis and last checkpoint
|
||||||
|
// (the tx=... number in the SetBestChain debug.log lines)
|
||||||
|
(double)2777 // * estimated number of transactions per day after checkpoint
|
||||||
|
// total number of tx / (checkpoint block height / (24 * 24))
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
checkpointData = //(Checkpoints::CCheckpointData)
|
||||||
|
{
|
||||||
|
boost::assign::map_list_of
|
||||||
|
(0, mainParams.consensus.hashGenesisBlock),
|
||||||
|
(int64_t)1231006505,
|
||||||
|
(int64_t)1,
|
||||||
|
(double)2777 // * estimated number of transactions per day after checkpoint
|
||||||
|
// total number of tx / (checkpoint block height / (24 * 24))
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -14,11 +14,12 @@ bit output.
|
|||||||
|
|
||||||
void (*CVerusHash::haraka512Function)(unsigned char *out, const unsigned char *in);
|
void (*CVerusHash::haraka512Function)(unsigned char *out, const unsigned char *in);
|
||||||
|
|
||||||
void CVerusHash::Hash(void *result, const void *data, size_t len)
|
void CVerusHash::Hash(void *result, const void *data, size_t _len)
|
||||||
{
|
{
|
||||||
unsigned char buf[128];
|
unsigned char buf[128];
|
||||||
unsigned char *bufPtr = buf;
|
unsigned char *bufPtr = buf;
|
||||||
int pos = 0, nextOffset = 64;
|
int nextOffset = 64;
|
||||||
|
uint32_t pos = 0, len = _len;
|
||||||
unsigned char *bufPtr2 = bufPtr + nextOffset;
|
unsigned char *bufPtr2 = bufPtr + nextOffset;
|
||||||
unsigned char *ptr = (unsigned char *)data;
|
unsigned char *ptr = (unsigned char *)data;
|
||||||
|
|
||||||
@@ -58,14 +59,15 @@ void CVerusHash::init()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CVerusHash &CVerusHash::Write(const unsigned char *data, size_t len)
|
CVerusHash &CVerusHash::Write(const unsigned char *data, size_t _len)
|
||||||
{
|
{
|
||||||
unsigned char *tmp;
|
unsigned char *tmp;
|
||||||
|
uint32_t pos, len = _len;
|
||||||
|
|
||||||
// digest up to 32 bytes at a time
|
// digest up to 32 bytes at a time
|
||||||
for ( int pos = 0; pos < len; )
|
for ( pos = 0; pos < len; )
|
||||||
{
|
{
|
||||||
int room = 32 - curPos;
|
uint32_t room = 32 - curPos;
|
||||||
|
|
||||||
if (len - pos >= room)
|
if (len - pos >= room)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ AM_CFLAGS = -I$(top_srcdir)/src/asn -I$(top_srcdir)/include -I$(top_srcdir)/src/
|
|||||||
LIBSECP256K1=src/include/secp256k1/libsecp256k1.la
|
LIBSECP256K1=src/include/secp256k1/libsecp256k1.la
|
||||||
|
|
||||||
$(LIBSECP256K1): $(wildcard src/secp256k1/*)
|
$(LIBSECP256K1): $(wildcard src/secp256k1/*)
|
||||||
$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F)
|
$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) -march:x86-64 -g
|
||||||
|
|
||||||
CRYPTOCONDITIONS_CORE=libcryptoconditions_core.la
|
CRYPTOCONDITIONS_CORE=libcryptoconditions_core.la
|
||||||
|
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ endif
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
libsecp256k1_la_SOURCES = src/secp256k1.c
|
libsecp256k1_la_SOURCES = src/secp256k1.c
|
||||||
libsecp256k1_la_CPPFLAGS = -DSECP256K1_BUILD -I$(top_srcdir)/include -I$(top_srcdir)/src $(SECP_INCLUDES)
|
libsecp256k1_la_CPPFLAGS = -DSECP256K1_BUILD -I$(top_srcdir)/include -I$(top_srcdir)/src $(SECP_INCLUDES) -march=x86-64 -g
|
||||||
libsecp256k1_la_LIBADD = $(JNI_LIB) $(SECP_LIBS) $(COMMON_LIB)
|
libsecp256k1_la_LIBADD = $(JNI_LIB) $(SECP_LIBS) $(COMMON_LIB)
|
||||||
|
|
||||||
libsecp256k1_jni_la_SOURCES = src/java/org_bitcoin_NativeSecp256k1.c src/java/org_bitcoin_Secp256k1Context.c
|
libsecp256k1_jni_la_SOURCES = src/java/org_bitcoin_NativeSecp256k1.c src/java/org_bitcoin_Secp256k1Context.c
|
||||||
|
|||||||
@@ -9,5 +9,7 @@
|
|||||||
#define KOMODO_LIMITED_NETWORKSIZE 4
|
#define KOMODO_LIMITED_NETWORKSIZE 4
|
||||||
#define KOMODO_MAXMEMPOOLTIME 3600 // affects consensus
|
#define KOMODO_MAXMEMPOOLTIME 3600 // affects consensus
|
||||||
#define CRYPTO777_PUBSECPSTR "020e46e79a2a8d12b9b5d12c7a91adb4e454edfae43c0a0cb805427d2ac7613fd9"
|
#define CRYPTO777_PUBSECPSTR "020e46e79a2a8d12b9b5d12c7a91adb4e454edfae43c0a0cb805427d2ac7613fd9"
|
||||||
|
#define VRSC_KMD_MERGE_FIX 227520 // height that the inadvertent KMD merge/coinbase output changes to VRSC are removed
|
||||||
|
// approximately October 28th
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -687,10 +687,12 @@ int32_t komodo_check_deposit(int32_t height,const CBlock& block,uint32_t prevtim
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
n = block.vtx[0].vout.size();
|
// we don't want any of these checks in VRSC, leave it for other chains until/unless KMD removes
|
||||||
//script = (uint8_t *)block.vtx[0].vout[n-1].scriptPubKey.data();
|
if ( ASSETCHAINS_SYMBOL[0] == 0 ||
|
||||||
//if ( n <= 2 || script[0] != 0x6a )
|
(ASSETCHAINS_COMMISSION != 0 && height > 1) ||
|
||||||
|
(strcmp(ASSETCHAINS_SYMBOL,"VRSC") == 0 && height < VRSC_KMD_MERGE_FIX) )
|
||||||
{
|
{
|
||||||
|
n = block.vtx[0].vout.size();
|
||||||
int64_t val,prevtotal = 0; int32_t strangeout=0,overflow = 0;
|
int64_t val,prevtotal = 0; int32_t strangeout=0,overflow = 0;
|
||||||
total = 0;
|
total = 0;
|
||||||
for (i=1; i<n; i++)
|
for (i=1; i<n; i++)
|
||||||
@@ -760,12 +762,12 @@ int32_t komodo_check_deposit(int32_t height,const CBlock& block,uint32_t prevtim
|
|||||||
{
|
{
|
||||||
fprintf(stderr,"checkdeposit: ht.%d checktoshis %.8f overflow.%d total %.8f strangeout.%d\n",height,dstr(checktoshis),overflow,dstr(total),strangeout);
|
fprintf(stderr,"checkdeposit: ht.%d checktoshis %.8f overflow.%d total %.8f strangeout.%d\n",height,dstr(checktoshis),overflow,dstr(total),strangeout);
|
||||||
if ( strangeout != 0 )
|
if ( strangeout != 0 )
|
||||||
fprintf(stderr,">>>>>>>>>>>>> %s DUST ht.%d strangout.%d notmatched.%d <<<<<<<<<\n",ASSETCHAINS_SYMBOL,height,strangeout,notmatched);
|
fprintf(stderr,">>>>>>>>>>>>> %s DUST ht.%d strangeout.%d notmatched.%d <<<<<<<<<\n",ASSETCHAINS_SYMBOL,height,strangeout,notmatched);
|
||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return(0);
|
|
||||||
}
|
}
|
||||||
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *komodo_opreturn(int32_t height,uint64_t value,uint8_t *opretbuf,int32_t opretlen,uint256 txid,uint16_t vout,char *source)
|
const char *komodo_opreturn(int32_t height,uint64_t value,uint8_t *opretbuf,int32_t opretlen,uint256 txid,uint16_t vout,char *source)
|
||||||
|
|||||||
44
src/main.cpp
44
src/main.cpp
@@ -1906,7 +1906,7 @@ bool IsInitialBlockDownload()
|
|||||||
}
|
}
|
||||||
if (fCheckpointsEnabled && chainActive.Height() < Checkpoints::GetTotalBlocksEstimate(chainParams.Checkpoints()))
|
if (fCheckpointsEnabled && chainActive.Height() < Checkpoints::GetTotalBlocksEstimate(chainParams.Checkpoints()))
|
||||||
{
|
{
|
||||||
//fprintf(stderr,"IsInitialBlockDownload: checkpoint -> initialdownload\n");
|
//fprintf(stderr,"IsInitialBlockDownload: checkpoint -> initialdownload - %d blocks\n", Checkpoints::GetTotalBlocksEstimate(chainParams.Checkpoints()));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
static bool lockIBDState = false;
|
static bool lockIBDState = false;
|
||||||
@@ -1936,23 +1936,32 @@ bool IsInitialBlockDownload()
|
|||||||
bool IsInSync()
|
bool IsInSync()
|
||||||
{
|
{
|
||||||
const CChainParams& chainParams = Params();
|
const CChainParams& chainParams = Params();
|
||||||
|
|
||||||
LOCK(cs_main);
|
LOCK(cs_main);
|
||||||
if (fImporting || fReindex)
|
if (fImporting || fReindex)
|
||||||
{
|
{
|
||||||
//fprintf(stderr,"IsInitialBlockDownload: fImporting %d || %d fReindex\n",(int32_t)fImporting,(int32_t)fReindex);
|
//fprintf(stderr,"IsInSync: fImporting %d || %d fReindex\n",(int32_t)fImporting,(int32_t)fReindex);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (fCheckpointsEnabled && chainActive.Height() < Checkpoints::GetTotalBlocksEstimate(chainParams.Checkpoints()))
|
if (fCheckpointsEnabled)
|
||||||
{
|
{
|
||||||
//fprintf(stderr,"IsInitialBlockDownload: checkpoint -> initialdownload\n");
|
if (fCheckpointsEnabled && chainActive.Height() < Checkpoints::GetTotalBlocksEstimate(chainParams.Checkpoints()))
|
||||||
return false;
|
{
|
||||||
|
//fprintf(stderr,"IsInSync: checkpoint -> initialdownload chainActive.Height().%d GetTotalBlocksEstimate(chainParams.Checkpoints().%d\n", chainActive.Height(), Checkpoints::GetTotalBlocksEstimate(chainParams.Checkpoints()));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
CBlockIndex *ptr = chainActive.Tip();
|
|
||||||
if ( !ptr )
|
CBlockIndex *pbi = chainActive.Tip();
|
||||||
return false;
|
int longestchain = komodo_longestchain();
|
||||||
else if ( pindexBestHeader != 0 && (pindexBestHeader->nHeight - 1) > ptr->nHeight )
|
if ( !pbi ||
|
||||||
|
(pindexBestHeader == 0) ||
|
||||||
|
((pindexBestHeader->nHeight - 1) > pbi->nHeight) ||
|
||||||
|
(longestchain != 0 && longestchain > pbi->nHeight) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
//printf("IsInSync: checkpoint -> initialdownload chainActive.Height().%d longestchain.%d\n", chainActive.Height(), longestchain);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3436,7 +3445,7 @@ bool static DisconnectTip(CValidationState &state, bool fBare = false) {
|
|||||||
for (int i = 0; i < block.vtx.size(); i++)
|
for (int i = 0; i < block.vtx.size(); i++)
|
||||||
{
|
{
|
||||||
CTransaction &tx = block.vtx[i];
|
CTransaction &tx = block.vtx[i];
|
||||||
if ((i == (block.vtx.size() - 1) && (block.IsVerusPOSBlock() || (komodo_isPoS((CBlock *)&block) != 0))))
|
if ((i == (block.vtx.size() - 1)) && (block.IsVerusPOSBlock() || (komodo_isPoS((CBlock *)&block) != 0)))
|
||||||
{
|
{
|
||||||
EraseFromWallets(tx.GetHash());
|
EraseFromWallets(tx.GetHash());
|
||||||
}
|
}
|
||||||
@@ -5941,8 +5950,9 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
|||||||
CAddress addrMe;
|
CAddress addrMe;
|
||||||
CAddress addrFrom;
|
CAddress addrFrom;
|
||||||
uint64_t nNonce = 1;
|
uint64_t nNonce = 1;
|
||||||
vRecv >> pfrom->nVersion >> pfrom->nServices >> nTime >> addrMe;
|
int nVersion; // use temporary for version, don't set version number until validated as connected
|
||||||
if (pfrom->nVersion < MIN_PEER_PROTO_VERSION)
|
vRecv >> nVersion >> pfrom->nServices >> nTime >> addrMe;
|
||||||
|
if (nVersion < MIN_PEER_PROTO_VERSION)
|
||||||
{
|
{
|
||||||
// disconnect from peers older than this proto version
|
// disconnect from peers older than this proto version
|
||||||
LogPrintf("peer=%d using obsolete version %i; disconnecting\n", pfrom->id, pfrom->nVersion);
|
LogPrintf("peer=%d using obsolete version %i; disconnecting\n", pfrom->id, pfrom->nVersion);
|
||||||
@@ -5955,9 +5965,9 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
|||||||
// When Overwinter is active, reject incoming connections from non-Overwinter nodes
|
// When Overwinter is active, reject incoming connections from non-Overwinter nodes
|
||||||
const Consensus::Params& params = Params().GetConsensus();
|
const Consensus::Params& params = Params().GetConsensus();
|
||||||
if (NetworkUpgradeActive(GetHeight(), params, Consensus::UPGRADE_OVERWINTER)
|
if (NetworkUpgradeActive(GetHeight(), params, Consensus::UPGRADE_OVERWINTER)
|
||||||
&& pfrom->nVersion < params.vUpgrades[Consensus::UPGRADE_OVERWINTER].nProtocolVersion)
|
&& nVersion < params.vUpgrades[Consensus::UPGRADE_OVERWINTER].nProtocolVersion)
|
||||||
{
|
{
|
||||||
LogPrintf("peer=%d using obsolete version %i; disconnecting\n", pfrom->id, pfrom->nVersion);
|
LogPrintf("peer=%d using obsolete version %i; disconnecting\n", pfrom->id, nVersion);
|
||||||
pfrom->PushMessage("reject", strCommand, REJECT_OBSOLETE,
|
pfrom->PushMessage("reject", strCommand, REJECT_OBSOLETE,
|
||||||
strprintf("Version must be %d or greater",
|
strprintf("Version must be %d or greater",
|
||||||
params.vUpgrades[Consensus::UPGRADE_OVERWINTER].nProtocolVersion));
|
params.vUpgrades[Consensus::UPGRADE_OVERWINTER].nProtocolVersion));
|
||||||
@@ -5965,8 +5975,8 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pfrom->nVersion == 10300)
|
if (nVersion == 10300)
|
||||||
pfrom->nVersion = 300;
|
nVersion = 300;
|
||||||
if (!vRecv.empty())
|
if (!vRecv.empty())
|
||||||
vRecv >> addrFrom >> nNonce;
|
vRecv >> addrFrom >> nNonce;
|
||||||
if (!vRecv.empty()) {
|
if (!vRecv.empty()) {
|
||||||
@@ -5988,6 +5998,8 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pfrom->nVersion = nVersion;
|
||||||
|
|
||||||
pfrom->addrLocal = addrMe;
|
pfrom->addrLocal = addrMe;
|
||||||
if (pfrom->fInbound && addrMe.IsRoutable())
|
if (pfrom->fInbound && addrMe.IsRoutable())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -796,15 +796,16 @@ int32_t waitForPeers(const CChainParams &chainparams)
|
|||||||
LOCK(cs_vNodes);
|
LOCK(cs_vNodes);
|
||||||
fvNodesEmpty = vNodes.empty();
|
fvNodesEmpty = vNodes.empty();
|
||||||
}
|
}
|
||||||
if (!IsInSync() || fvNodesEmpty)
|
if (fvNodesEmpty || !IsInSync())
|
||||||
{
|
{
|
||||||
do {
|
do {
|
||||||
MilliSleep(100 + rand() % 400);
|
if (fvNodesEmpty)
|
||||||
|
MilliSleep(1000 + rand() % 4000);
|
||||||
{
|
{
|
||||||
LOCK(cs_vNodes);
|
LOCK(cs_vNodes);
|
||||||
fvNodesEmpty = vNodes.empty();
|
fvNodesEmpty = vNodes.empty();
|
||||||
}
|
}
|
||||||
} while (!IsInSync() || fvNodesEmpty);
|
} while (fvNodesEmpty || !IsInSync());
|
||||||
MilliSleep(100 + rand() % 400);
|
MilliSleep(100 + rand() % 400);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -813,11 +814,13 @@ int32_t waitForPeers(const CChainParams &chainparams)
|
|||||||
#ifdef ENABLE_WALLET
|
#ifdef ENABLE_WALLET
|
||||||
CBlockIndex *get_chainactive(int32_t height)
|
CBlockIndex *get_chainactive(int32_t height)
|
||||||
{
|
{
|
||||||
LOCK(cs_main);
|
if ( chainActive.LastTip() != 0 )
|
||||||
if ( chainActive.Tip() != 0 )
|
|
||||||
{
|
{
|
||||||
if ( height <= chainActive.Tip()->nHeight )
|
if ( height <= chainActive.LastTip()->nHeight )
|
||||||
|
{
|
||||||
|
LOCK(cs_main);
|
||||||
return(chainActive[height]);
|
return(chainActive[height]);
|
||||||
|
}
|
||||||
// else fprintf(stderr,"get_chainactive height %d > active.%d\n",height,chainActive.Tip()->nHeight);
|
// else fprintf(stderr,"get_chainactive height %d > active.%d\n",height,chainActive.Tip()->nHeight);
|
||||||
}
|
}
|
||||||
//fprintf(stderr,"get_chainactive null chainActive.Tip() height %d\n",height);
|
//fprintf(stderr,"get_chainactive null chainActive.Tip() height %d\n",height);
|
||||||
|
|||||||
@@ -1366,10 +1366,12 @@ void ThreadOpenConnections()
|
|||||||
boost::this_thread::interruption_point();
|
boost::this_thread::interruption_point();
|
||||||
|
|
||||||
// Add seed nodes if DNS seeds are all down (an infrastructure attack?).
|
// Add seed nodes if DNS seeds are all down (an infrastructure attack?).
|
||||||
if (addrman.size() == 0 && (GetTime() - nStart > 60)) {
|
// if (addrman.size() == 0 && (GetTime() - nStart > 60)) {
|
||||||
|
if (GetTime() - nStart > 60) {
|
||||||
static bool done = false;
|
static bool done = false;
|
||||||
if (!done) {
|
if (!done) {
|
||||||
LogPrintf("Adding fixed seed nodes as DNS doesn't seem to be available.\n");
|
//LogPrintf("Adding fixed seed nodes as DNS doesn't seem to be available.\n");
|
||||||
|
LogPrintf("Adding fixed seed nodes.\n");
|
||||||
addrman.Add(convertSeed6(Params().FixedSeeds()), CNetAddr("127.0.0.1"));
|
addrman.Add(convertSeed6(Params().FixedSeeds()), CNetAddr("127.0.0.1"));
|
||||||
done = true;
|
done = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ uint32_t komodo_segid32(char *coinaddr);
|
|||||||
int64_t komodo_coinsupply(int64_t *zfundsp,int32_t height);
|
int64_t komodo_coinsupply(int64_t *zfundsp,int32_t height);
|
||||||
int32_t notarizedtxid_height(char *dest,char *txidstr,int32_t *kmdnotarized_heightp);
|
int32_t notarizedtxid_height(char *dest,char *txidstr,int32_t *kmdnotarized_heightp);
|
||||||
#define KOMODO_VERSION "0.1.1"
|
#define KOMODO_VERSION "0.1.1"
|
||||||
#define VERUS_VERSION "0.3.12"
|
#define VERUS_VERSION "0.3.13"
|
||||||
extern uint16_t ASSETCHAINS_P2PPORT,ASSETCHAINS_RPCPORT;
|
extern uint16_t ASSETCHAINS_P2PPORT,ASSETCHAINS_RPCPORT;
|
||||||
extern uint32_t ASSETCHAINS_CC;
|
extern uint32_t ASSETCHAINS_CC;
|
||||||
extern uint32_t ASSETCHAINS_MAGIC;
|
extern uint32_t ASSETCHAINS_MAGIC;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ endif
|
|||||||
|
|
||||||
# To override these, use "make OPTFLAGS=..." etc.
|
# To override these, use "make OPTFLAGS=..." etc.
|
||||||
CURVE = BN128
|
CURVE = BN128
|
||||||
OPTFLAGS = -O2 -march=native -mtune=native
|
OPTFLAGS = -O2 -march=x86-64 -g -mtune=x86-64
|
||||||
FEATUREFLAGS = -DUSE_ASM -DMONTGOMERY_OUTPUT
|
FEATUREFLAGS = -DUSE_ASM -DMONTGOMERY_OUTPUT
|
||||||
|
|
||||||
# Initialize this using "CXXFLAGS=... make". The makefile appends to that.
|
# Initialize this using "CXXFLAGS=... make". The makefile appends to that.
|
||||||
@@ -158,7 +158,7 @@ ifeq ($(DEBUG),1)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(PERFORMANCE),1)
|
ifeq ($(PERFORMANCE),1)
|
||||||
OPTFLAGS = -O3 -march=native -mtune=native
|
OPTFLAGS = -O3 -march=x86-64 -g -mtune=x86-64
|
||||||
CXXFLAGS += -DNDEBUG
|
CXXFLAGS += -DNDEBUG
|
||||||
# Enable link-time optimization:
|
# Enable link-time optimization:
|
||||||
CXXFLAGS += -flto -fuse-linker-plugin
|
CXXFLAGS += -flto -fuse-linker-plugin
|
||||||
|
|||||||
@@ -2,4 +2,4 @@
|
|||||||
#set working directory to the location of this script
|
#set working directory to the location of this script
|
||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
cd $DIR
|
cd $DIR
|
||||||
./komodod -ac_name=VRSC -ac_algo=verushash -ac_cc=1 -ac_supply=0 -ac_eras=3 -ac_reward=0,38400000000,2400000000 -ac_halving=1,43200,1051920 -ac_decay=100000000,0,0 -ac_end=10080,226080,0 -ac_timelockgte=19200000000 -ac_timeunlockfrom=129600 -ac_timeunlockto=1180800 -ac_veruspos=50 -gen -genproclimit=0 "$@"
|
./komodod -ac_name=VRSC -ac_algo=verushash -ac_cc=1 -ac_supply=0 -ac_eras=3 -ac_reward=0,38400000000,2400000000 -ac_halving=1,43200,1051920 -ac_decay=100000000,0,0 -ac_end=10080,226080,0 -ac_timelockgte=19200000000 -ac_timeunlockfrom=129600 -ac_timeunlockto=1180800 -ac_veruspos=50 "$@"
|
||||||
|
|||||||
@@ -2346,6 +2346,8 @@ std::vector<uint256> CWallet::ResendWalletTransactionsBefore(int64_t nTime)
|
|||||||
if ( wtx.nLockTime >= LOCKTIME_THRESHOLD && wtx.nLockTime < now-KOMODO_MAXMEMPOOLTIME )
|
if ( wtx.nLockTime >= LOCKTIME_THRESHOLD && wtx.nLockTime < now-KOMODO_MAXMEMPOOLTIME )
|
||||||
{
|
{
|
||||||
LogPrintf("skip Relaying wtx %s nLockTime %u vs now.%u\n", wtx.GetHash().ToString(),(uint32_t)wtx.nLockTime,now);
|
LogPrintf("skip Relaying wtx %s nLockTime %u vs now.%u\n", wtx.GetHash().ToString(),(uint32_t)wtx.nLockTime,now);
|
||||||
|
//TODO: EraseFromWallet(wtx.GetHash()); //should be erased, but this creates issues, likely better to create
|
||||||
|
// vector and do it outside of this loop, but for later
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
432
zcutil/VerusCoin.xml
Normal file
432
zcutil/VerusCoin.xml
Normal file
@@ -0,0 +1,432 @@
|
|||||||
|
<project>
|
||||||
|
<shortName>VerusCoin</shortName>
|
||||||
|
<fullName>VerusCoin</fullName>
|
||||||
|
<version>0.3.12</version>
|
||||||
|
<installerFilename>${product_shortname}-v${product_version}-${platform_name}-installer.${platform_exec_suffix}</installerFilename>
|
||||||
|
<licenseFile>../COPYING</licenseFile>
|
||||||
|
<leftImage>../assets/imgs/VRSC_256x256.png</leftImage>
|
||||||
|
<logoImage>../assets/imgs/VRSC_256x256.png</logoImage>
|
||||||
|
<splashImage>../assets/imgs/VRSC_256x256.png</splashImage>
|
||||||
|
<allowLanguageSelection>1</allowLanguageSelection>
|
||||||
|
<componentList>
|
||||||
|
<componentGroup>
|
||||||
|
<name>VerusCoin</name>
|
||||||
|
<description>VerusCoin CLI</description>
|
||||||
|
<canBeEdited>1</canBeEdited>
|
||||||
|
<downloadable>1</downloadable>
|
||||||
|
<selected>1</selected>
|
||||||
|
<show>1</show>
|
||||||
|
<componentList>
|
||||||
|
<component>
|
||||||
|
<name>Agama</name>
|
||||||
|
<description>Verus-Enhanced Agama Wallet</description>
|
||||||
|
<canBeEdited>1</canBeEdited>
|
||||||
|
<downloadable>1</downloadable>
|
||||||
|
<selected>1</selected>
|
||||||
|
<show>1</show>
|
||||||
|
<desktopShortcutList>
|
||||||
|
<shortcut>
|
||||||
|
<comment>Start Agama App</comment>
|
||||||
|
<exec></exec>
|
||||||
|
<icon>../assets/icons/agama_icons/256x256.png</icon>
|
||||||
|
<name>Agama App</name>
|
||||||
|
<path></path>
|
||||||
|
<platforms>all</platforms>
|
||||||
|
<runAsAdmin>0</runAsAdmin>
|
||||||
|
<runInTerminal>0</runInTerminal>
|
||||||
|
<windowsExec>${installdir}/Agama/Agama-win32-x64/Agama.exe</windowsExec>
|
||||||
|
<windowsExecArgs></windowsExecArgs>
|
||||||
|
<windowsIcon></windowsIcon>
|
||||||
|
<windowsPath>${windows_folder_common_programs}/</windowsPath>
|
||||||
|
</shortcut>
|
||||||
|
</desktopShortcutList>
|
||||||
|
<folderList>
|
||||||
|
<folder>
|
||||||
|
<description>Verus-Enhanced Agama Wallet</description>
|
||||||
|
<destination>${installdir}/Agama</destination>
|
||||||
|
<name>Agama</name>
|
||||||
|
<platforms>all</platforms>
|
||||||
|
<distributionFileList>
|
||||||
|
<distributionDirectory>
|
||||||
|
<origin>../Agama-win32-x64</origin>
|
||||||
|
</distributionDirectory>
|
||||||
|
</distributionFileList>
|
||||||
|
</folder>
|
||||||
|
</folderList>
|
||||||
|
</component>
|
||||||
|
</componentList>
|
||||||
|
<folderList>
|
||||||
|
<folder>
|
||||||
|
<description>Program Files</description>
|
||||||
|
<destination>${installdir}</destination>
|
||||||
|
<name>programfiles</name>
|
||||||
|
<platforms>all</platforms>
|
||||||
|
<shortcutList>
|
||||||
|
<shortcut>
|
||||||
|
<comment>Uninstall</comment>
|
||||||
|
<exec>${installdir}/${uninstallerName}</exec>
|
||||||
|
<icon></icon>
|
||||||
|
<name>Uninstall ${product_fullname}</name>
|
||||||
|
<path>${installdir}</path>
|
||||||
|
<platforms>all</platforms>
|
||||||
|
<runAsAdmin>0</runAsAdmin>
|
||||||
|
<runInTerminal>0</runInTerminal>
|
||||||
|
<windowsExec>${installdir}/${uninstallerName}.exe</windowsExec>
|
||||||
|
<windowsExecArgs></windowsExecArgs>
|
||||||
|
<windowsIcon></windowsIcon>
|
||||||
|
<windowsPath>${installdir}</windowsPath>
|
||||||
|
</shortcut>
|
||||||
|
</shortcutList>
|
||||||
|
</folder>
|
||||||
|
<folder>
|
||||||
|
<description>VerusCoin</description>
|
||||||
|
<destination>${installdir}/</destination>
|
||||||
|
<name>VerusCoin</name>
|
||||||
|
<platforms>all</platforms>
|
||||||
|
<distributionFileList>
|
||||||
|
<distributionDirectory>
|
||||||
|
<origin>../verus-cli</origin>
|
||||||
|
</distributionDirectory>
|
||||||
|
</distributionFileList>
|
||||||
|
</folder>
|
||||||
|
</folderList>
|
||||||
|
</componentGroup>
|
||||||
|
</componentList>
|
||||||
|
<preInstallationActionList>
|
||||||
|
<registryGetMatch>
|
||||||
|
<key>HKEY_LOCAL_MACHINE\SOFTWARE\${project.shortname}</key>
|
||||||
|
<name>uninstaller_path</name>
|
||||||
|
<variable>uninstaller_path</variable>
|
||||||
|
</registryGetMatch>
|
||||||
|
<setInstallerVariable>
|
||||||
|
<name>previous_installation_exists</name>
|
||||||
|
<value>1</value>
|
||||||
|
<ruleList>
|
||||||
|
<fileTest condition="exists" path="${uninstaller_path}"/>
|
||||||
|
</ruleList>
|
||||||
|
</setInstallerVariable>
|
||||||
|
</preInstallationActionList>
|
||||||
|
<readyToInstallActionList>
|
||||||
|
<runProgram>
|
||||||
|
<program>${uninstaller_path}</program>
|
||||||
|
<programArguments></programArguments>
|
||||||
|
<ruleList>
|
||||||
|
<compareValues>
|
||||||
|
<logic>equals</logic>
|
||||||
|
<value1>${previous_installation_exists}</value1>
|
||||||
|
<value2>1</value2>
|
||||||
|
</compareValues>
|
||||||
|
</ruleList>
|
||||||
|
</runProgram>
|
||||||
|
<deleteFile>
|
||||||
|
<explanation>Deleting user data</explanation>
|
||||||
|
<path>${windows_folder_appdata}/Agama</path>
|
||||||
|
<progressText>Deleting user data</progressText>
|
||||||
|
<ruleList>
|
||||||
|
<compareValues>
|
||||||
|
<logic>equals</logic>
|
||||||
|
<value1>${previous_installation_exists}</value1>
|
||||||
|
<value2>1</value2>
|
||||||
|
</compareValues>
|
||||||
|
<compareValues>
|
||||||
|
<logic>equals</logic>
|
||||||
|
<value1>${installation_type}</value1>
|
||||||
|
<value2>uninstall</value2>
|
||||||
|
</compareValues>
|
||||||
|
<compareValues>
|
||||||
|
<logic>equals</logic>
|
||||||
|
<value1>${delete_user_data}</value1>
|
||||||
|
<value2>1</value2>
|
||||||
|
</compareValues>
|
||||||
|
</ruleList>
|
||||||
|
</deleteFile>
|
||||||
|
<deleteFile>
|
||||||
|
<explanation>Deleting iguana config json</explanation>
|
||||||
|
<path>${windows_folder_appdata}/Iguana/config.json</path>
|
||||||
|
<progressText>Deleting iguana config</progressText>
|
||||||
|
<ruleList>
|
||||||
|
<compareValues>
|
||||||
|
<logic>equals</logic>
|
||||||
|
<value1>${previous_installation_exists}</value1>
|
||||||
|
<value2>1</value2>
|
||||||
|
</compareValues>
|
||||||
|
<compareValues>
|
||||||
|
<logic>equals</logic>
|
||||||
|
<value1>${installation_type}</value1>
|
||||||
|
<value2>uninstall</value2>
|
||||||
|
</compareValues>
|
||||||
|
<compareValues>
|
||||||
|
<logic>equals</logic>
|
||||||
|
<value1>${delete_config_data}</value1>
|
||||||
|
<value2>1</value2>
|
||||||
|
</compareValues>
|
||||||
|
</ruleList>
|
||||||
|
</deleteFile>
|
||||||
|
<exit>
|
||||||
|
<explanation>Uninstalled</explanation>
|
||||||
|
<progressText>Uninstalled</progressText>
|
||||||
|
<ruleList>
|
||||||
|
<compareValues>
|
||||||
|
<logic>equals</logic>
|
||||||
|
<value1>${previous_installation_exists}</value1>
|
||||||
|
<value2>1</value2>
|
||||||
|
</compareValues>
|
||||||
|
<compareValues>
|
||||||
|
<logic>equals</logic>
|
||||||
|
<value1>${installation_type}</value1>
|
||||||
|
<value2>uninstall</value2>
|
||||||
|
</compareValues>
|
||||||
|
</ruleList>
|
||||||
|
</exit>
|
||||||
|
<showProgressDialog>
|
||||||
|
<title>Downloading files</title>
|
||||||
|
<actionList>
|
||||||
|
<httpGet>
|
||||||
|
<abortOnError>0</abortOnError>
|
||||||
|
<explanation>Visual C++ Redistributable for Visual Studio 2015 library files are needed for Agama daemon</explanation>
|
||||||
|
<filename>${system_temp_directory}/vc_redist.x64.exe</filename>
|
||||||
|
<progressText>Downloading Visual C++ Redistributable for Visual Studio 2015</progressText>
|
||||||
|
<showMessageOnError>0</showMessageOnError>
|
||||||
|
<url>https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe</url>
|
||||||
|
</httpGet>
|
||||||
|
</actionList>
|
||||||
|
<ruleList>
|
||||||
|
<fileExists>
|
||||||
|
<negate>1</negate>
|
||||||
|
<path>${system_temp_directory}/vc_redist.x64.exe</path>
|
||||||
|
</fileExists>
|
||||||
|
</ruleList>
|
||||||
|
</showProgressDialog>
|
||||||
|
<runProgram>
|
||||||
|
<abortOnError>0</abortOnError>
|
||||||
|
<explanation>Visual C++ Redistributable for Visual Studio 2015 library files are needed for Agama daemon</explanation>
|
||||||
|
<program>${system_temp_directory}/vc_redist.x64.exe</program>
|
||||||
|
<programArguments>/install /passive</programArguments>
|
||||||
|
<progressText>Downloading Visual C++ Redistributable for Visual Studio 2015</progressText>
|
||||||
|
<showMessageOnError>0</showMessageOnError>
|
||||||
|
</runProgram>
|
||||||
|
<showProgressDialog>
|
||||||
|
<title>Downloading files</title>
|
||||||
|
<actionList>
|
||||||
|
<httpGet>
|
||||||
|
<abortOnError>0</abortOnError>
|
||||||
|
<explanation>Visual C++ Redistributable for Visual Studio 2015 library files are needed for Agama daemon</explanation>
|
||||||
|
<filename>${system_temp_directory}/vc_redist.x86.exe</filename>
|
||||||
|
<progressText>Downloading Visual C++ Redistributable for Visual Studio 2015</progressText>
|
||||||
|
<showMessageOnError>0</showMessageOnError>
|
||||||
|
<url>https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe</url>
|
||||||
|
</httpGet>
|
||||||
|
</actionList>
|
||||||
|
<ruleList>
|
||||||
|
<fileExists>
|
||||||
|
<negate>1</negate>
|
||||||
|
<path>${system_temp_directory}/vc_redist.x86.exe</path>
|
||||||
|
</fileExists>
|
||||||
|
</ruleList>
|
||||||
|
</showProgressDialog>
|
||||||
|
<runProgram>
|
||||||
|
<abortOnError>0</abortOnError>
|
||||||
|
<explanation>Visual C++ Redistributable for Visual Studio 2015 library files are needed for Agama daemon</explanation>
|
||||||
|
<program>${system_temp_directory}/vc_redist.x86.exe</program>
|
||||||
|
<programArguments>/install /passive</programArguments>
|
||||||
|
<progressText>Downloading Visual C++ Redistributable for Visual Studio 2015</progressText>
|
||||||
|
<showMessageOnError>0</showMessageOnError>
|
||||||
|
</runProgram>
|
||||||
|
<createDirectory>
|
||||||
|
<abortOnError>0</abortOnError>
|
||||||
|
<explanation>Creating ZcashParam directory</explanation>
|
||||||
|
<path>${windows_folder_appdata}/ZcashParams/</path>
|
||||||
|
<progressText>Creating ZcashParam directory</progressText>
|
||||||
|
<showMessageOnError>0</showMessageOnError>
|
||||||
|
</createDirectory>
|
||||||
|
<showProgressDialog>
|
||||||
|
<abortOnError>0</abortOnError>
|
||||||
|
<explanation>Zcash Params file: sprout-proving.key</explanation>
|
||||||
|
<progressText>Zcash Params file: sprout-proving.key</progressText>
|
||||||
|
<showMessageOnError>0</showMessageOnError>
|
||||||
|
<title>Downloading Zcash Params file</title>
|
||||||
|
<actionList>
|
||||||
|
<httpGet>
|
||||||
|
<abortOnError>0</abortOnError>
|
||||||
|
<explanation>Zcash Params file: sprout-proving.key</explanation>
|
||||||
|
<filename>${windows_folder_appdata}/ZcashParams/sprout-proving.key</filename>
|
||||||
|
<progressText>Zcash Params file: sprout-proving.key</progressText>
|
||||||
|
<showMessageOnError>0</showMessageOnError>
|
||||||
|
<url>https://z.cash/downloads/sprout-proving.key</url>
|
||||||
|
</httpGet>
|
||||||
|
</actionList>
|
||||||
|
<ruleList>
|
||||||
|
<fileExists>
|
||||||
|
<negate>1</negate>
|
||||||
|
<path>${windows_folder_appdata}/ZcashParams/sprout-proving.key</path>
|
||||||
|
</fileExists>
|
||||||
|
</ruleList>
|
||||||
|
</showProgressDialog>
|
||||||
|
<showProgressDialog>
|
||||||
|
<abortOnError>0</abortOnError>
|
||||||
|
<explanation>Zcash Params file: sprout-verifying.key</explanation>
|
||||||
|
<progressText>Zcash Params file: sprout-verifying.key</progressText>
|
||||||
|
<title>Downloading Zcash Params files</title>
|
||||||
|
<actionList>
|
||||||
|
<httpGet>
|
||||||
|
<abortOnError>0</abortOnError>
|
||||||
|
<explanation>Zcash Params file: sprout-verifying.key</explanation>
|
||||||
|
<filename>${windows_folder_appdata}/ZcashParams/sprout-verifying.key</filename>
|
||||||
|
<progressText>Zcash Params file: sprout-verifying.key</progressText>
|
||||||
|
<showMessageOnError>0</showMessageOnError>
|
||||||
|
<url>https://z.cash/downloads/sprout-verifying.key</url>
|
||||||
|
</httpGet>
|
||||||
|
</actionList>
|
||||||
|
<ruleList>
|
||||||
|
<fileExists>
|
||||||
|
<negate>1</negate>
|
||||||
|
<path>${windows_folder_appdata}/ZcashParams/sprout-verifying.key</path>
|
||||||
|
</fileExists>
|
||||||
|
</ruleList>
|
||||||
|
</showProgressDialog>
|
||||||
|
</readyToInstallActionList>
|
||||||
|
<postInstallationActionList>
|
||||||
|
<addEnvironmentVariable>
|
||||||
|
<name>VERUS_HOME</name>
|
||||||
|
<scope>system</scope>
|
||||||
|
<value>${installdir}/verus-cli/</value>
|
||||||
|
</addEnvironmentVariable>
|
||||||
|
<registrySet>
|
||||||
|
<key>HKEY_LOCAL_MACHINE\SOFTWARE\${project.shortname}</key>
|
||||||
|
<name>uninstaller_path</name>
|
||||||
|
<type>REG_SZ</type>
|
||||||
|
<value>${installdir}/${uninstallerName}.exe</value>
|
||||||
|
</registrySet>
|
||||||
|
<actionGroup>
|
||||||
|
<actionList>
|
||||||
|
<copyFile>
|
||||||
|
<destination>C:\Windows\System32\</destination>
|
||||||
|
<explanation>Copying ReqCopying Required DLL filesuired DLL files</explanation>
|
||||||
|
<origin>${installdir}/resources/app/windeps/x86/vcruntime140d.dll</origin>
|
||||||
|
<progressText>Copying ReqCopying Required DLL filesuired DLL files</progressText>
|
||||||
|
</copyFile>
|
||||||
|
</actionList>
|
||||||
|
<ruleList>
|
||||||
|
<platformTest type="windows-x86"/>
|
||||||
|
</ruleList>
|
||||||
|
</actionGroup>
|
||||||
|
<actionGroup>
|
||||||
|
<actionList>
|
||||||
|
<copyFile>
|
||||||
|
<destination>C:\Windows\System32\</destination>
|
||||||
|
<explanation>Copying ReqCopying Required DLL filesuired DLL files</explanation>
|
||||||
|
<origin>${installdir}/resources/app/windeps/x64/ucrtbased.dll</origin>
|
||||||
|
<progressText>Copying ReqCopying Required DLL filesuired DLL files</progressText>
|
||||||
|
</copyFile>
|
||||||
|
<copyFile>
|
||||||
|
<destination>C:\Windows\System32\</destination>
|
||||||
|
<explanation>Copying ReqCopying Required DLL filesuired DLL files</explanation>
|
||||||
|
<origin>${installdir}/resources/app/windeps/x64/vcruntime140d.dll</origin>
|
||||||
|
<progressText>Copying ReqCopying Required DLL filesuired DLL files</progressText>
|
||||||
|
</copyFile>
|
||||||
|
<copyFile>
|
||||||
|
<destination>C:\Windows\SysWOW64\</destination>
|
||||||
|
<explanation>Copying ReqCopying Required DLL filesuired DLL files</explanation>
|
||||||
|
<origin>${installdir}/resources/app/windeps/x86/ucrtbased.dll</origin>
|
||||||
|
<progressText>Copying ReqCopying Required DLL filesuired DLL files</progressText>
|
||||||
|
</copyFile>
|
||||||
|
<copyFile>
|
||||||
|
<destination>C:\Windows\SysWOW64\</destination>
|
||||||
|
<explanation>Copying ReqCopying Required DLL filesuired DLL files</explanation>
|
||||||
|
<origin>${installdir}/resources/app/windeps/x86/vcruntime140d.dll</origin>
|
||||||
|
<progressText>Copying ReqCopying Required DLL filesuired DLL files</progressText>
|
||||||
|
</copyFile>
|
||||||
|
</actionList>
|
||||||
|
<ruleList>
|
||||||
|
<platformTest type="windows-x64"/>
|
||||||
|
</ruleList>
|
||||||
|
</actionGroup>
|
||||||
|
</postInstallationActionList>
|
||||||
|
<postUninstallationActionList>
|
||||||
|
<registryDelete>
|
||||||
|
<key>HKEY_LOCAL_MACHINE\SOFTWARE\${project.shortname}</key>
|
||||||
|
<name>uninstaller_path</name>
|
||||||
|
</registryDelete>
|
||||||
|
</postUninstallationActionList>
|
||||||
|
<allowAddRemoveComponents>1</allowAddRemoveComponents>
|
||||||
|
<allowComponentSelection>1</allowComponentSelection>
|
||||||
|
<enableDebugger>1</enableDebugger>
|
||||||
|
<enableRollback>1</enableRollback>
|
||||||
|
<enableTimestamp>1</enableTimestamp>
|
||||||
|
<outputDirectory>../builds</outputDirectory>
|
||||||
|
<replaceLockedFilesOnReboot>1</replaceLockedFilesOnReboot>
|
||||||
|
<rollbackBackupDirectory>${windows_folder_appdata}</rollbackBackupDirectory>
|
||||||
|
<saveRelativePaths>1</saveRelativePaths>
|
||||||
|
<singleInstanceCheck>1</singleInstanceCheck>
|
||||||
|
<vendor>VerusCoin</vendor>
|
||||||
|
<windows64bitMode>1</windows64bitMode>
|
||||||
|
<parameterList>
|
||||||
|
<directoryParameter>
|
||||||
|
<name>installdir</name>
|
||||||
|
<description>Installer.Parameter.installdir.description</description>
|
||||||
|
<explanation>Installer.Parameter.installdir.explanation</explanation>
|
||||||
|
<value></value>
|
||||||
|
<default>${platform_install_prefix}/${product_shortname}</default>
|
||||||
|
<allowEmptyValue>0</allowEmptyValue>
|
||||||
|
<cliOptionName>prefix</cliOptionName>
|
||||||
|
<mustBeWritable>1</mustBeWritable>
|
||||||
|
<mustExist>0</mustExist>
|
||||||
|
<width>30</width>
|
||||||
|
<validationActionList>
|
||||||
|
<throwError>
|
||||||
|
<text>You don't have enough disk space to install the application,
|
||||||
|
please select another installation directory</text>
|
||||||
|
<ruleList>
|
||||||
|
<checkFreeDiskSpace>
|
||||||
|
<logic>less</logic>
|
||||||
|
<path>${installdir}</path>
|
||||||
|
<size>${required_diskspace}</size>
|
||||||
|
</checkFreeDiskSpace>
|
||||||
|
</ruleList>
|
||||||
|
</throwError>
|
||||||
|
</validationActionList>
|
||||||
|
</directoryParameter>
|
||||||
|
<choiceParameterGroup>
|
||||||
|
<name>installation_type</name>
|
||||||
|
<title>Instalation type</title>
|
||||||
|
<description>Existing instalation is detected</description>
|
||||||
|
<explanation>Existing instalation is detected</explanation>
|
||||||
|
<value>uninstall</value>
|
||||||
|
<default>uninstall</default>
|
||||||
|
<parameterList>
|
||||||
|
<parameterGroup>
|
||||||
|
<name>uninstall</name>
|
||||||
|
<title>Uninstall</title>
|
||||||
|
<explanation>Uninstall</explanation>
|
||||||
|
<value></value>
|
||||||
|
<default></default>
|
||||||
|
<parameterList>
|
||||||
|
<booleanParameter name="delete_user_data" description="Delete user data" displayStyle="checkbox-left">
|
||||||
|
<explanation></explanation>
|
||||||
|
<value>0</value>
|
||||||
|
<default>0</default>
|
||||||
|
</booleanParameter>
|
||||||
|
<booleanParameter name="delete_zcash_params" description="Delete Zcash params" displayStyle="checkbox-left">
|
||||||
|
<explanation></explanation>
|
||||||
|
<value>0</value>
|
||||||
|
<default>0</default>
|
||||||
|
</booleanParameter>
|
||||||
|
</parameterList>
|
||||||
|
</parameterGroup>
|
||||||
|
<labelParameter name="Upgrade" description="Upgrade to current version">
|
||||||
|
<title>Upgrade</title>
|
||||||
|
<explanation></explanation>
|
||||||
|
<image></image>
|
||||||
|
</labelParameter>
|
||||||
|
</parameterList>
|
||||||
|
<ruleList>
|
||||||
|
<compareValues>
|
||||||
|
<logic>equals</logic>
|
||||||
|
<value1>${previous_installation_exists}</value1>
|
||||||
|
<value2>1</value2>
|
||||||
|
</compareValues>
|
||||||
|
</ruleList>
|
||||||
|
</choiceParameterGroup>
|
||||||
|
</parameterList>
|
||||||
|
</project>
|
||||||
|
|
||||||
Reference in New Issue
Block a user