Commit Graph

12941 Commits

Author SHA1 Message Date
ebfull e899837613
Merge pull request #44 from zcash/4283-contextualcheckblock-ban-policy
Apply a consistent ban policy within ContextualCheckTransaction
2020-02-06 11:11:13 -07:00
Jack Grigg 7bbd846f0f Apply a consistent ban policy within ContextualCheckTransaction 2020-02-06 14:30:37 +00:00
Sean Bowe 3d8af86c2c Release notes for vulnerability and -maxtimeadjustment option.
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-05 17:00:09 +00:00
Daira Hopwood eb5e328073 Add -maxtimeadjustment with default of 0 instead of the 4200 seconds used in Bitcoin Core.
Based on 40061b05dc

Co-authored-by: mruddy <mruddy@users.noreply.github.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-05 17:00:09 +00:00
Daira Hopwood 3010c9277c Cosmetic: brace style in ContextualCheckBlockHeader.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-04 23:40:04 +00:00
Daira Hopwood 4ab896c69d Enable future timestamp soft fork at varying heights according to network.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-04 23:40:04 +00:00
Jack Grigg 5199ecdf41 test: Update RPC test cache generation to handle new consensus rule
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2020-02-04 23:12:36 +00:00
Daira Hopwood bdb985a627 Adjust the miner to satisfy consensus regarding future timestamps relative to median-time-past.
Co-authored-by: Jack Grigg <jack@z.cash>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-04 23:12:36 +00:00
Daira Hopwood 7704ab4846 Soft fork: restrict block timestamps to be no more than 90 minutes after the MTP of the previous block.
Note that the MTP of a block is the median timestamp of the preceding 11 blocks, i.e. it is
typically (with no or only moderate timestamp manipulation) expected to be 6 block intervals
behind that block's timestamp, which *on average* is 450 seconds behind (after Blossom activation).
So the effective limit on future dating of timestamps is ~82.5 minutes. This makes it
exceptionally unlikely --even taking into account feasible timestamp manipulation of this
and previous blocks-- that the chain will stall because no block is found before the limit.
(This may rely on assumptions that do not hold for testnet.)

If an adversary were to have a sufficient fraction of mining power to engineer this situation
then there would be something seriously wrong, and arguably the chain should stall in that
case, pending manual intervention.

Co-authored-by: Jack Grigg <jack@z.cash>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-04 21:34:05 +00:00
Daira Hopwood a3bb1966eb Add constant for how far a block timestamp can be ahead of adjusted time.
Loosely based on e57a1fd899

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-04 19:46:48 +00:00
Daira Hopwood 3a001196b6 Improve messages for timestamp rules.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-04 19:45:03 +00:00
Daira Hopwood df6b4639d2 Move check for block times that are too far ahead of adjusted time, to ContextualCheckBlock.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-04 19:40:52 +00:00
Homu b8ca7131c7 Auto merge of #4303 - ebfull:release-v2.1.1, r=mdr0id
Release v2.1.1

The release height for this is roughly Tuesday.
2020-01-21 20:11:48 +00:00
Sean Bowe 811158a483
make-release.py: Updated release notes and changelog for 2.1.1. 2020-01-17 10:27:31 -07:00
Sean Bowe c214fa13b7
make-release.py: Updated manpages for 2.1.1. 2020-01-17 10:27:31 -07:00
Sean Bowe 5133275342
make-release.py: Versioning changes for 2.1.1. 2020-01-17 10:26:14 -07:00
Homu dcddb8b6e4 Auto merge of #4299 - ebfull:release-v2.1.1-rc2, r=mdr0id
Release v2.1.1 rc2
2020-01-14 18:33:40 +00:00
Sean Bowe 0dca75a21d
make-release.py: Updated release notes and changelog for 2.1.1-rc2. 2020-01-13 17:56:29 -07:00
Sean Bowe 131e1aa77a
make-release.py: Updated manpages for 2.1.1-rc2. 2020-01-13 17:56:29 -07:00
Sean Bowe 846868f0c7
make-release.py: Versioning changes for 2.1.1-rc2. 2020-01-13 17:55:01 -07:00
Homu 02706325ca Auto merge of #4296 - milesmanley:4295.update-libsodium-dl-path, r=mdr0id
Update libsodium download-path

This PR fixes the macOS build that is currently failing due to the download path for Libsodium changing - mentioned in issue #4295
2020-01-13 21:31:32 +00:00
Miles Manley 6f28ddc3a5
Update libsodium download-path
Fixes error 404 when building for macOS

Maybe update to 1.0.16?
2020-01-13 13:23:16 +09:00
Homu 2f8cf61a2a Auto merge of #4290 - defuse:fix-proton-build, r=ebfull
Fix broken proton build
2020-01-09 01:01:35 +00:00
Taylor Hornby 84497b862a Fix broken proton build 2020-01-08 16:23:29 -07:00
Homu 1ac3e8fb82 Auto merge of #4289 - daira:remove-eos-workaround, r=ebfull
Remove temporary workaround for deprecation height.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-01-08 06:20:52 +00:00
Daira Hopwood 7eb5c49d32 Remove temporary workaround for deprecation height.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-01-08 06:14:05 +00:00
Homu 19aa3dfed0 Auto merge of #4288 - ebfull:release-v2.1.1-rc1, r=ebfull
Release v2.1.1-rc1
2020-01-08 04:15:40 +00:00
Sean Bowe 3b2ebf2447
make-release.py: Updated release notes and changelog for 2.1.1-rc1. 2020-01-07 20:13:52 -07:00
Sean Bowe 356491a046
make-release.py: Updated manpages for 2.1.1-rc1. 2020-01-07 20:13:51 -07:00
Sean Bowe 2c88a156ba
make-release.py: Versioning changes for 2.1.1-rc1. 2020-01-07 20:13:03 -07:00
Homu 3a18c95042 Auto merge of #4287 - ebfull:update-proton, r=ebfull
Update proton from 0.26.0 to 0.30.0
2020-01-08 01:26:26 +00:00
Taylor Hornby a5affb11d1 Update proton from 0.26.0 to 0.30.0 2020-01-07 21:36:14 +00:00
Homu 043ce3f2ac Auto merge of #3912 - bitcartel:fix_getwalletinfo_help_message, r=daira
Closes #3911. Fix help message of RPC getwalletinfo.
2020-01-06 04:37:09 +00:00
Homu efab5aaca4 Auto merge of #4281 - LarryRuane:test-fixes-enable-debug, r=daira
fix tests for enable-debug build

Addresses part of #4275.
2020-01-06 03:29:34 +00:00
Homu 6a08c22567 Auto merge of #4277 - sandakersmann:master, r=daira
Update copyright year to 2020

Update copyright year to 2020
2020-01-05 20:49:00 +00:00
Larry Ruane 7b5148cc64 fix tests for enable-debug build 2019-12-31 12:18:16 -07:00
Homu 1da79ed1c3 Auto merge of #4278 - LarryRuane:4223-fix-spentindex-test, r=daira
insightexplorer: LOCK(cs_main) during rpcs

Closes #4223. Ensure lock cs_main is held during calls to GetSpentIndex().
2019-12-28 14:43:08 +00:00
Larry Ruane 14ec1016b9 insightexplorer: LOCK(cs_main) during rpcs 2019-12-27 10:21:46 -07:00
sandakersmann 0859ea4951
Update _COPYRIGHT_YEAR in configure.ac to 2020 2019-12-27 18:04:14 +01:00
sandakersmann 91b8de9151
Update COPYRIGHT_YEAR in clientversion.h to 2020 2019-12-27 18:01:51 +01:00
sandakersmann 4dd8cf1fc2
Update of copyright year to 2020 2019-12-27 17:58:48 +01:00
Homu 5177d2e708 Auto merge of #4259 - rex4539:fix-warnings, r=daira
depends macOS: hide linker visibility warnings

Closes https://github.com/zcash/zcash/issues/4255

Tested that all lines with `ld: warning: direct access in` are gone from build log.
2019-12-19 16:37:32 +00:00
Homu 900ed4555f Auto merge of #4271 - str4d:2074-wallet-3, r=ebfull
Bitcoin wallet PRs 3

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#7687
- bitcoin/bitcoin#11116
  - Excludes SegWit tests
  - Excludes `isInvalid` code (which is part of the SegWit support structure)
- bitcoin/bitcoin#13002
  - Excludes changes to `importwallet` (missing bitcoin/bitcoin#11667)
  - Excludes changes to `ProcessImport` (missing bitcoin/bitcoin#7551)
  - Third commit was rewritten to add an internal SigVersion argument (which we didn't have because it was added to support SegWit logic).
2019-12-19 01:17:12 +00:00
Pieter Wuille 82eefce0ab
Use anonymous namespace instead of static functions 2019-12-18 18:59:15 -06:00
Pieter Wuille 790f21e9a8
Mention removal of bare multisig IsMine in release notes 2019-12-18 18:59:15 -06:00
Pieter Wuille e82901f4fd
Do not treat bare multisig as IsMine
Such outputs can still be watched, and signed for, but they aren't treated as valid payments.
That means they won't cause transactions to appear in listtransactions, their outputs to be
shown under listunspent, or affect balances.
2019-12-18 18:59:15 -06:00
Pieter Wuille 84b4bdbb51
Track difference between scriptPubKey and P2SH execution in IsMine
Inside IsMine we care about the distinction between scriptPubKey execution
and P2SH redeemScript execution. The consensus code does not care about this
distinction, and thus SigVersion does not have a field for P2SH. As the IsMine
code will care, it uses a separate enum with more fields.
2019-12-18 18:59:15 -06:00
Pieter Wuille 36f067bb95
Switch to a private version of SigVersion inside IsMine
This will allow us to have the consensus code and IsMine code diverge.
2019-12-18 18:59:15 -06:00
Pieter Wuille 030e173d98
Do not expose SigVersion argument to IsMine
Only IsMine's internal code needs this, as part of a recursion into P2SH and P2WSH
scripts. The exposed functions always operate on actual scriptPubKeys and not on
redeemScripts or witness scripts.

Zcash: Rewrote this commit so that it instead adds an internal
SigVersion argument (which we didn't have because it was added to
support SegWit logic).

Co-authored-by: Jack Grigg <jack@z.cash>
2019-12-18 18:59:15 -06:00
Pieter Wuille df00e51e3e
Make CScript -> CScriptID conversion explicit
Zcash: Excludes changes to importwallet (missing bitcoin/bitcoin#11667)
and ProcessImport (missing bitcoin/bitcoin#7551).
2019-12-18 18:59:15 -06:00