From f240b1dd88bc76ed08478500759d2ef22ff98433 Mon Sep 17 00:00:00 2001 From: selsta Date: Wed, 9 Sep 2020 03:45:53 +0200 Subject: [PATCH] build: prepare v0.17 --- README.md | 10 ++++++---- contrib/gitian/README.md | 4 ++-- contrib/gitian/gitian-android.yml | 2 +- contrib/gitian/gitian-freebsd.yml | 2 +- contrib/gitian/gitian-linux.yml | 2 +- contrib/gitian/gitian-osx.yml | 2 +- contrib/gitian/gitian-win.yml | 2 +- src/blocks/checkpoints.dat | Bin 261572 -> 272772 bytes src/checkpoints/checkpoints.cpp | 1 + src/cryptonote_core/blockchain.cpp | 2 +- src/version.cpp.in | 4 ++-- 11 files changed, 17 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 75d8d5960..cd67f8022 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,8 @@ Dates are provided in the format YYYY-MM-DD. | 1788000 | 2019-03-09 | v10 | v0.14.0.0 | v0.14.1.2 | New PoW based on Cryptonight-R, new block weight algorithm, slightly more efficient RingCT format | 1788720 | 2019-03-10 | v11 | v0.14.0.0 | v0.14.1.2 | forbid old RingCT transaction format | 1978433 | 2019-11-30* | v12 | v0.15.0.0 | v0.16.0.0 | New PoW based on RandomX, only allow >= 2 outputs, change to the block median used to calculate penalty, v1 coinbases are forbidden, rct sigs in coinbase forbidden, 10 block lock time for incoming outputs +| 2210000 | 2020-10-17 | v13 | v0.17.0.0 | v0.17.0.0 | New CLSAG transaction format +| 2210720 | 2020-10-18 | v14 | v0.17.0.0 | v0.17.0.0 | forbid old MLSAG transaction format | XXXXXXX | XXX-XX-XX | XXX | vX.XX.X.X | vX.XX.X.X | XXX | X's indicate that these details have not been determined as of commit date. @@ -220,7 +222,7 @@ invokes cmake commands as needed. ```bash cd monero - git checkout release-v0.16 + git checkout release-v0.17 make ``` @@ -293,7 +295,7 @@ Tested on a Raspberry Pi Zero with a clean install of minimal Raspbian Stretch ( ```bash git clone https://github.com/monero-project/monero.git cd monero - git checkout tags/v0.16.0.0 + git checkout tags/v0.17.0.0 ``` * Build: @@ -410,10 +412,10 @@ application. cd monero ``` -* If you would like a specific [version/tag](https://github.com/monero-project/monero/tags), do a git checkout for that version. eg. 'v0.16.0.0'. If you don't care about the version and just want binaries from master, skip this step: +* If you would like a specific [version/tag](https://github.com/monero-project/monero/tags), do a git checkout for that version. eg. 'v0.17.0.0'. If you don't care about the version and just want binaries from master, skip this step: ```bash - git checkout v0.16.0.0 + git checkout v0.17.0.0 ``` * If you are on a 64-bit system, run: diff --git a/contrib/gitian/README.md b/contrib/gitian/README.md index c0f230887..1938462aa 100644 --- a/contrib/gitian/README.md +++ b/contrib/gitian/README.md @@ -126,7 +126,7 @@ Setup for LXC: ```bash GH_USER=fluffypony -VERSION=v0.16.0.0 +VERSION=v0.17.0.0 ./gitian-build.py --setup $GH_USER $VERSION ``` @@ -182,7 +182,7 @@ If you chose to do detached signing using `--detach-sign` above (recommended), y ```bash GH_USER=fluffypony -VERSION=v0.16.0.0 +VERSION=v0.17.0.0 gpg --detach-sign ${VERSION}-linux/${GH_USER}/monero-linux-*-build.assert gpg --detach-sign ${VERSION}-win/${GH_USER}/monero-win-*-build.assert diff --git a/contrib/gitian/gitian-android.yml b/contrib/gitian/gitian-android.yml index de98efafe..b8eaa8af9 100644 --- a/contrib/gitian/gitian-android.yml +++ b/contrib/gitian/gitian-android.yml @@ -1,5 +1,5 @@ --- -name: "monero-android-0.16" +name: "monero-android-0.17" enable_cache: true suites: - "bionic" diff --git a/contrib/gitian/gitian-freebsd.yml b/contrib/gitian/gitian-freebsd.yml index e97c3802b..c104bfd02 100644 --- a/contrib/gitian/gitian-freebsd.yml +++ b/contrib/gitian/gitian-freebsd.yml @@ -1,5 +1,5 @@ --- -name: "monero-freebsd-0.16" +name: "monero-freebsd-0.17" enable_cache: true suites: - "bionic" diff --git a/contrib/gitian/gitian-linux.yml b/contrib/gitian/gitian-linux.yml index bd42637aa..4a2f3798a 100644 --- a/contrib/gitian/gitian-linux.yml +++ b/contrib/gitian/gitian-linux.yml @@ -1,5 +1,5 @@ --- -name: "monero-linux-0.16" +name: "monero-linux-0.17" enable_cache: true suites: - "bionic" diff --git a/contrib/gitian/gitian-osx.yml b/contrib/gitian/gitian-osx.yml index 4d44c4845..9889ca45f 100644 --- a/contrib/gitian/gitian-osx.yml +++ b/contrib/gitian/gitian-osx.yml @@ -1,5 +1,5 @@ --- -name: "monero-osx-0.16" +name: "monero-osx-0.17" enable_cache: true suites: - "bionic" diff --git a/contrib/gitian/gitian-win.yml b/contrib/gitian/gitian-win.yml index 196b6ebbe..c53086144 100644 --- a/contrib/gitian/gitian-win.yml +++ b/contrib/gitian/gitian-win.yml @@ -1,5 +1,5 @@ --- -name: "monero-win-0.16" +name: "monero-win-0.17" enable_cache: true suites: - "bionic" diff --git a/src/blocks/checkpoints.dat b/src/blocks/checkpoints.dat index fa58387ab378d74cd2cbba07bedf5912ffce4bf8..e75e379f2db475ecceb9f693b5b1e24739d589e4 100644 GIT binary patch delta 11311 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 delta 22 ecmZp