[0.13.2] wallet/rpc backports #9347

Merged
merged 7 commits into from Dec 19, 2016

Projects

None yet

7 participants

@MarcoFalke
Member
MarcoFalke commented Dec 14, 2016 edited

Remaining wallet backports for 0.13.2 release

Edit: Sorry for force pushing a few times. There were two conflicts, so would be nice if someone could look over the cherry-picks.

@MarcoFalke MarcoFalke added the Backport label Dec 14, 2016
@MarcoFalke MarcoFalke added this to the 0.13.2 milestone Dec 14, 2016
gmaxwell and others added some commits Dec 12, 2016
@gmaxwell @MarcoFalke gmaxwell Update for OpenSSL 1.1 API
Github-Pull: #9326
Rebased-From: bae1eef b05b1af
a0f7ece
@gmaxwell @MarcoFalke gmaxwell Make RelayWalletTransaction attempt to AcceptToMemoryPool.
This resolves an issue where a wallet transaction which failed to
 relay previously because it couldn't make it into the mempool
 will not try again until restart, even though mempool conditions
 may have changed.

Abandoned and known-conflicted transactions are skipped.

Some concern was expressed that there may be users with many
 unknown conflicts would waste a lot of CPU time trying to
 add them to their memory pools over and over again.  But I am
 doubtful these users exist in any number, if they do exist
 they have worse problems, and they can mitigate any performance
 issue this might have by abandoning the transactions in question.

Github-Pull: #9290
Rebased-From: f692fce
35174a0
@sipa @MarcoFalke sipa Return txid even if ATMP fails for new transaction
Github-Pull: #9302
Rebased-From: b3a7410
f5d606e
- if (GetDepthInMainChain() == 0 && !isAbandoned() && InMempool()) {
+ CValidationState state;
+ /* GetDepthInMainChain already catches known conflicts. */
+ if (InMempool() || AcceptToMemoryPool(false, maxTxFee, state)) {
@MarcoFalke
MarcoFalke Dec 14, 2016 Member

Not sure if I solved this merge conflict correctly. fLimitFree should probably be true to backport the behavior how it is in master, otoh the other places in wallet.cpp don't apply the limit, so it should not be applied here for consistency either?

@morcos
morcos Dec 15, 2016 Contributor

My view point is this doesn't matter. I think its fine the way you did it, and more consistent with the rest of 0.13 code. But I also think it would be no big deal if it was rate limited. It happens every 20 mins anyway..

@gmaxwell
gmaxwell Dec 15, 2016 Member

I believe this should be false like in the other cases of the wallet behavior. The "free limiter" this this flag controls there is really a p2p network feature, and shouldn't really apply to wallet transactions... and in 0.13.2 we won't have removed the relaying of non-fee transactions yet.

@laanwj
Member
laanwj commented Dec 15, 2016

Thanks for the backport, commit-list ACK f5d606e. I cannot answer your question about fLimitFree.

@MarcoFalke MarcoFalke changed the title from [0.13.2] wallet backports to [0.13.2] wallet/rpc backports Dec 15, 2016
@MarcoFalke
Member

Just verified that this fixes the OpenSSL issues on fedora rawhide as well:

7823286:

wallet/test/crypto_tests.cpp:45:20: error: aggregate 'EVP_CIPHER_CTX ctx' has incomplete type and cannot be defined
     EVP_CIPHER_CTX ctx;
                    ^~~

After fb987b3 and a0f7ece, all is fine.

@btcdrak
Member
btcdrak commented Dec 19, 2016

ACK 49a612f

@laanwj laanwj merged commit 49a612f into bitcoin:0.13 Dec 19, 2016

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
@laanwj laanwj added a commit that referenced this pull request Dec 19, 2016
@laanwj laanwj Merge #9347: [0.13.2] wallet/rpc backports
49a612f [qa] Don't set unknown rpcserialversion (MarcoFalke)
c365556 Complain when unknown rpcserialversion is specified (Pieter Wuille)
f5d606e Return txid even if ATMP fails for new transaction (Pieter Wuille)
35174a0 Make RelayWalletTransaction attempt to AcceptToMemoryPool. (Gregory Maxwell)
a0f7ece Update for OpenSSL 1.1 API (Gregory Maxwell)
43bcfca [Wallet] Bugfix: FRT: don't terminate when keypool is empty (Jonas Schnelli)
0cc07f8 [QA] add fundrawtransaction test on a locked wallet with empty keypool (Jonas Schnelli)
b711390
@MarcoFalke MarcoFalke deleted the MarcoFalke:Mf1612-013back branch Dec 19, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment