Skip to content

Conversation

@schinzelh
Copy link

@schinzelh schinzelh commented Jul 4, 2016

I'd like to get even with Bitcoin 0.12.1 codebase for our Dash 0.12.1 release.

The merge looks good, but maybe i broke some things (need to review the debugwindow.ui) first.

Beside from that it would be cool if @UdjinM6 and @evan82 could have a look if this breaks any consensus rules for Dash.

Thanks!

laanwj and others added 30 commits March 1, 2016 13:52
0.12.0 was released, prepare empty release notes for 0.12.1.
- Fix doxygen comment for payTxFee
- [doc] Fix markdown
- Make sure LogPrintf strings are line-terminated

Github-Pull: bitcoin#7617
Rebased-From: fa06ce0 fa97f95 fa26652
SequenceLocks functions are used to evaluate sequence lock times or heights per BIP 68.

The majority of this code is copied from maaku in #6312
Further credit: btcdrak, sipa, NicolasDorier
it boggles the mind why these nits can't be delivered on a more timely basis
- Replace NOP3 with CHECKSEQUENCEVERIFY (BIP112)
  <nSequence> CHECKSEQUENCEVERIFY -> <nSequence>
- Fails if txin.nSequence < nSequence, allowing funds of a txout to be locked for a number of blocks or a duration of time after its inclusion in a block.
- Pull most of CheckLockTime() out into VerifyLockTime(), a local function that will be reused for CheckSequence()
- Add bitwise AND operator to CScriptNum
- Enable CHECKSEQUENCEVERIFY as a standard script verify flag
- Transactions that fail CSV verification will be rejected from the mempool, making it easy to test the feature. However blocks containing "invalid" CSV-using transactions will still be accepted; this is *not* the soft-fork required to actually enable CSV for production use.
For the sake of a little repetition, make code more readable.
This if statement is a little obtuse and using braces here
improves readability.
Obtain LockPoints to store in CTxMemPoolEntry and during a reorg, evaluate whether they are still valid and if not, recalculate them.
Inspired by former implementations by Eric Lombrozo and Rusty Russell, and
based on code by Jorge Timon.
This commit introduces a way to gracefully bump the default
transaction version in a two step process.
This RPC test will test both the activation mechanism of the first versionbits soft fork as well as testing many code branches of the consensus logic for BIP's 68, 112, and 113.
No longer consider coins which aren't in our mempool.

Add test for regression in abandonconflict.py

Github-Pull: bitcoin#7715
Rebased-From: 68d4282
Conflicts:
	src/init.cpp

Github-Merge: bitcoin#7605
Rebased-From: 5ecfa36
Set default to off
This feature is removed entirely as of 0.13.0
c0fe2c9 Mark p2p alert system as deprecated. (BtcDrak)
laanwj and others added 9 commits April 5, 2016 18:01
New languages:

- `af` Afrikaans
- `es_AR` Spanish (Argentina)
- `es_CO` Spanish (Colombia)
- `ro` Romanian
- `ta` Tamil
- `uz@Latn` Uzbek in Latin script
Two-line patch to make it possible to shut down bitcoind cleanly during
the initial ActivateBestChain.

Fixes #6459 (among other complaints).

To reproduce:

- shutdown bitcoind
- copy chainstate
- start bitcoind
- let the chain sync a bit
- shutdown bitcoind
- copy back old chainstate
- start bitcoind
- bitcoind will catch up with all blocks during Init()

(the `boost::this_thread::interruption_point` / `ShutdownRequested()`
dance is ugly, this should be refactored all over bitcoind at some point
when moving from boost::threads to c++11 threads, but it works...)

Github-Pull: bitcoin#7821
Rebased-From: 07398e8
Currently, we're keeping a timeout for each requested block, starting
from when it is requested, with a correction factor for the number of
blocks in the queue.

That's unnecessarily complicated and inaccurate.

As peers process block requests in order, we can make the timeout for each
block start counting only when all previous ones have been received, and
have a correction based on the number of peers, rather than the total number
of blocks.

Conflicts:
	src/main.cpp
	src/main.h

Self check after the last peer is removed

Github-Pull: bitcoin#7804
Rebased-From: 2d1d658 0e24bbf
Now that bitcoin#7804 fixed the timeout handling, reduce the block timeout from
20 minutes to 10 minutes. 20 minutes is overkill.

Conflicts:
	src/main.h

Github-Pull: bitcoin#7832
Rebased-From: 62b9a55
Before activation, such transactions might not be mined, so don't
allow into the mempool.

- Tests: move get_bip9_status to util.py

- Test relay of version 2 transactions

Github-Pull: bitcoin#7835
Rebased-From: e4ba9f6 5cb1d8a da5fdbb
@schinzelh schinzelh force-pushed the v0.12.1.x_bitcoin_12_1 branch 2 times, most recently from 9dd1e5e to 087d8fa Compare July 4, 2016 07:04
.travis.yml Outdated

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regarding to this https://docs.travis-ci.com/user/ci-environment/#Virtualization-environments
This will change ci environment from "CONTAINER-BASED" to be "STANDARD" which has no cache for public and longer boot time.
If you are going to follow bitcoin to use "TRUSTY BETA" environment, more changes would need to be done.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, that's the background of Bitcoin devs using this setup - need to dig further into this, i am not biased to a specific one though

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted to sudo: false as it broke the loopback test in proxy_test.py

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Switched to "TRUSTY BETA" environment now

Copy link
Author

@schinzelh schinzelh Jul 4, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Back to precise - there are indeed more changes needed :)

@schinzelh schinzelh force-pushed the v0.12.1.x_bitcoin_12_1 branch 4 times, most recently from 0fe6e64 to 313d52a Compare July 4, 2016 09:06
Merging Bitcoin 0.12.1 into Dash 0.12.1.x
@schinzelh schinzelh force-pushed the v0.12.1.x_bitcoin_12_1 branch from 313d52a to f4e4dd6 Compare July 4, 2016 09:20
@schinzelh
Copy link
Author

All tests are passing, looks good.

@crowning-
Copy link

utACK (not every single code line checked, though), will test later.

@schinzelh
Copy link
Author

schinzelh commented Jul 4, 2016

@crowning- Can you have a look especially at the Debug Window? Bitcoin removed something there (openSSLVersion), while we added something, so the row ids may haven gotten "scrambled" :)

- Suhas Daftuar
- Wladimir J. van der Laan

As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this update to our transifex ?
possibly off-topic , 😎

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True that. We might even go further, as @UdjinM6 separated the release notes of Bitcoin and Dash to separate folders, so most if these changes should go to bitcoin folder while retaining our own release-notes.

@UdjinM6
Copy link

UdjinM6 commented Jul 4, 2016

In general it looks good imo:

  • I don't see any interference with our parts (hopefully there are none, we should see in testnet);
  • lines in debug window shifted by 1 so should be ok;
  • yep, it's better to move release notes to appropriate subfolder but this can be done later when we'll start filling our own;
  • we'll have to return to transifex later when new 12.1 will be ready for testnet and probably we could reuse some of new bitcoin's translations but there is a lot of changes to translation strings from our code base too so I don't think we should bother now - better to clean up all/stabilize all strings first and then ask translators for help imo

@schinzelh schinzelh changed the title WIP: Merge Bitcoin 0.12.1 Merge Bitcoin 0.12.1 Jul 5, 2016
@schinzelh
Copy link
Author

I've got a utACK from @evan82 - will merge and deploy to testnet

@schinzelh schinzelh merged commit 025f090 into v0.12.1.x Jul 5, 2016
This was referenced Jul 6, 2016
@schinzelh schinzelh deleted the v0.12.1.x_bitcoin_12_1 branch August 22, 2016 01:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.