Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recoverable brain wallet. #18

Closed
nathan-at-least opened this issue Dec 11, 2014 · 25 comments
Closed

Recoverable brain wallet. #18

nathan-at-least opened this issue Dec 11, 2014 · 25 comments
Assignees
Labels
A-wallet Area: Wallet C-upstream-port Category: Changes that are ported from the Bitcoin Core codebase. D-forward-secrecy-vs-recoverability Design issue: Forward secrecy vs recoverability I-SECURITY Problems and improvements related to security. M-requires-zip This change would need to be specified in a ZIP. maybe in 2.0 not in 1.0 S-needs-clearer-scope Status: Needs clearer scope special to Zooko usability

Comments

@nathan-at-least
Copy link
Contributor

nathan-at-least commented Dec 11, 2014

Needs to track all information needed to generate a Pour transaction.

Edit 2015-08-24 We decided that #31 is a duplicate of this ticket.

Edit 2017-01-24 This ticket means different things to different people and thus needs to be split out into specific tickets:

@nathan-at-least nathan-at-least added the A-wallet Area: Wallet label Dec 11, 2014
@zookoatleastauthoritycom

There's a design trade-off about which secrets are stored explicitly in local storage and which are recovered by scanning the blockchain for transactions encrypted to your public key. A related part of that trade-off is whether you ''always'' recover those secrets by scanning the blockchain, on process startup, or whether you do so only in the case that your local storage has been lost or corrupted.

I have strong opinions about these things… I believe that the starting position should be that as many secrets as possible are stored exclusively in the encrypted transactions in the block, and are recovered by scan-and-decrypt at process startup. This is because of the crash-only design and the Don't Repeat Yourself principle.

@tromer
Copy link
Contributor

tromer commented Dec 11, 2014

I suggest the following criterion: if you have printed out your address private key, then this data (which is immutable and transaction independent), together with the public data in the blockchain, should suffice to recognize and pour all coins you own. Any additional information you keep is merely for improved performance.

@matthewdgreen
Copy link

I have a particular hankering for a brainwallet. As a technical matter this should be pretty easy once we get the main functionality in place. The password would be used to derive a decryption key, then the client can simply scan the block chain for matching transactions. We need this functionality anyway.

@daira
Copy link
Contributor

daira commented Dec 11, 2014

I agree with @tromer . We therefore need to change Mint transactions to include the "coin encrypted to self" field: #32

@daira daira added this to the zerocashd security review milestone Dec 11, 2014
@mikeperry-tor
Copy link

Additionally, during the hackfest we discussed having the sender store encrypted POUR tuples (a_pk, v_i, p_i, r_i, s_i) and (v_i, k_i, s_i) in the transaction on the Zerocash blockchain, encrypted to two different keys. When these keys come from a single KDF, this allows a user to extract their full sent payment history (including destinations) or just their balance history using a single wallet seed. Without adding these tuples on the blockchain, this data is not possible to recover in the current Zerocash scheme with just a single seed. See https://github.com/Electric-Coin-Company/design-docs/blob/master/20141119-ZECC-meeting-notes.txt#L219 ("Send direction") for the notes from that discussion.

Also see https://github.com/Electric-Coin-Company/design-docs/blob/master/20141119-ZECC-meeting-notes.txt#L433 (section "Key management") for notes on one way to construct such a KDF that still allows people to opt out of certain portions of record retention, as well as to prune the historical data that they are capable of decrypting, by changing the form of wallet seed they retain.

@tromer
Copy link
Contributor

tromer commented Feb 2, 2015

See also Bitcoin's hierarchical deterministic (HD) wallets, which create a stream of fresh keypairs associated with the wallet's master key, for privacy. Since derivation is deterministic, wallet backups need only contain the master key.

The primary spec for this is BIP39 (https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki). There's also Electrum and the related BIP42 (https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki).

See overviews at https://en.bitcoin.it/wiki/Deterministic_wallet and https://bitcoinmagazine.com/8396/deterministic-wallets-advantages-flaw/ .

Such wallets have a nice feature: beside the "master private key" that allows spending transactions associated with the wallet's derived keys, each such wallet also have a "master public key" which allows derivation just of the derived public keys (thus giving a peek into the wallet's transactions and balance and giving up privacy) but does not give the ability to spend the coins. Zerocash was not designed to have such "reveal but don't allow spending" keys (individual transactions can be revealed, but not all transactions past and future associated with a Zerocash address). It would be good to add this feature (it might already exist implicitly...) and define+prove its properties. (Separate ticket?)

On related note, BIP39 describes the implementation of a mnemonic code or mnemonic sentence -- a group of easy to remember words -- for the generation of deterministic wallets. (https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki)

@nathan-at-least
Copy link
Contributor Author

I am also a fan of @tromer's suggested "stateless wallet" property, for two reasons: one is usability - I want to know the paper printout in my safety deposit box is still a fully valid backup even if I continue to use a copy on a live wallet which is busily sending/receiving coins.

The other is an engineering benefit: a minimum-viable wallet is now a much simpler stateless thing with no caching optimizations. It naively scans the blockchain on demand for a given operation. While this may not be "viable" in terms of usability or user adoption, it's viable in terms of providing correct functionality without state-management complexity. It can be released early and the state tracking optimizations can evolve in future releases.

Suppose there is a bug in wallet state tracking code. If this state tracking is required for coin validity, such a bug may destroy a user's currency units. If, OTOH, the bug exists in state tracking which is merely an optimization, the user's currency is safe in the blockchain, and they must simply patch their wallet and move aside their corrupted local cache. The same reasoning applies to corruption from non-bug disasters.

@daira
Copy link
Contributor

daira commented Feb 3, 2015

Yes, that is why #32 is one of my highest priorities. I'd love to start working on features and enhancements, but I feel that's pretty much blocked on getting the build and testing working (#58, #71, #78).

@zookoatleastauthoritycom

@imichaelmiers Please read!

@nathan-at-least
Copy link
Contributor Author

Let's make sure that we capture the features of any secret-state managment design in the use case document #72 (which does not yet exist, leave comments on #72).

@daira daira added 7S help requested I-SECURITY Problems and improvements related to security. labels Feb 17, 2015
@nathan-at-least nathan-at-least changed the title Review local storage of secrets. Recoverable brain wallet. Aug 24, 2015
@nathan-at-least
Copy link
Contributor Author

@tromer's #410 (comment) is a fundamental question which should be explicitly answered for this ticket, quoted here (in response to a comment by @jcb82):

it would require people to keep old parameters around that they should reasonably delete for forward security

Actually, our brain wallet functionality (Issue #18) is already pretty close to this. The difference is that it only lets you recover coins, whereas recomputing the SNARK proofss may need some additional "provenance" information. We need to make a conscious decision about which we want, and ensure that the provenance information is either deleted (forward security) or recoverable (recomputable SNARKs).

@daira
Copy link
Contributor

daira commented Dec 18, 2015

Wait, forward security vs recoverability of buckets sent to an address is not a system-wide choice. Holders of private spend-authority keys (ask) and receive-authority keys (skenc) independently get to decide when and under what conditions to delete each key or move it to less-accessible storage.

@daira daira removed this from the Feb 15 milestone Sep 30, 2016
@daira daira added C-upstream-port Category: Changes that are ported from the Bitcoin Core codebase. maybe in 2.0 labels Sep 30, 2016
@Ayms Ayms mentioned this issue Nov 23, 2016
@nathan-at-least nathan-at-least added the D-forward-secrecy-vs-recoverability Design issue: Forward secrecy vs recoverability label Jan 24, 2017
@ryancdotorg
Copy link

If you do anything on this, I urge you to provide randomly generated mnemonics, and implement it in such a way that it's difficult for anyone to make up their own. Including an extra word or two as checksum, for example.

@nathan-at-least nathan-at-least self-assigned this Jan 24, 2017
@ebfull
Copy link
Contributor

ebfull commented Jan 24, 2017

There is already a standard for mnemonics for passphrases which meets that goal: https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039.mediawiki

Lots of people (myself included) use this for their cryptocurrencies, including Zcash! It's a well-thought-out and well-supported standard. I've never seen a usability or security complaint about it.

@nathan-at-least
Copy link
Contributor Author

I'm on the hook to split this up into distinct tickets. I started by adding #2038 to split out stateless recovery.

@nathan-at-least
Copy link
Contributor Author

I'm closing this ticket because I believe the three breakout tickets in the updated description cover the main conflated proposals in this thread. If I missed something, let me know and I can add more sub-tickets.

radix42 pushed a commit to MW-hush/zdash that referenced this issue May 21, 2017
zkbot pushed a commit that referenced this issue Mar 2, 2018
commit 5e7222e4bc0401ef8c6d8049b12a62d4854ac85c
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Thu Mar 1 21:20:51 2018 +0200

    Cleanup

commit 2e1bc7a7cd6c72e7c3d2ff74cb30f7a56515006c
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Thu Mar 1 21:19:53 2018 +0200

    Cleanup

commit edd7fa87fb2c839c17457ff004d258a049df832f
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Thu Mar 1 21:18:57 2018 +0200

    Cleanup

commit ee34e1433806655a7123f0617802aa4771507dff
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Thu Mar 1 21:18:10 2018 +0200

    Cleanup

commit 20779e4021b8ab95a87289d2741ad2f0fbc7fb39
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Thu Mar 1 21:16:52 2018 +0200

    Cleanup

commit 084e1aa563807f5625ad3aaff376b598e139f2a7
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 18:42:49 2018 +0200

    Fix typo

commit c61a7c2319d3b9b96d1b5ad52ecf9d4f2fd92658
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 18:37:43 2018 +0200

    Cleanup

commit e435c0229b0cbe3f4a77f43b01ca87ed0552d405
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 18:17:58 2018 +0200

    Fix typos

commit e05bff3fea8915e95a473fe3266b2b1f727deca0
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 17:59:32 2018 +0200

    Fix typo

commit 8c55c7840232cef7fa4389a12f6f220e86f5f581
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 17:46:33 2018 +0200

    Fix typos

commit a1edfcc5cc29d815ba7e8c4baaf14c23ef93af64
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 17:39:41 2018 +0200

    Fix typos

commit 2ce2c4d180e936ccc5c10745a6430fda5de38a9b
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 17:14:10 2018 +0200

    Fix typo

commit 5bdc6cd5bc9cff93aa48fbdeda36d4d9774bfa18
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 17:12:14 2018 +0200

    Fix typo

commit d08749f549575efc6f44a7f80850bc439c12ad5c
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:54:06 2018 +0200

    Revert one change

commit a734bb1191c692f09f58bcc8e85160ce7c839905
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:52:45 2018 +0200

    Fix typo

commit 95fbc8d94bbefc0db989c83d0f053111bfed45e7
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:51:33 2018 +0200

    Fix typos

commit d17d540a83d035cf9a200f9a8b19f0fab6084728
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:49:36 2018 +0200

    Fix typo

commit c4bf4402210bcb926ccfb3928afeb3a8a7490b42
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:48:09 2018 +0200

    Fix typo

commit 25e7990848a1d723702e2d041c04bc68a6c1275f
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:47:01 2018 +0200

    Fix typo

commit d72ffb5b0253e0d7b992ffe13c40695421378dc3
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:45:20 2018 +0200

    Fix typo

commit 705e6f271192a575cc99d794545b0efe75d964c4
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:41:19 2018 +0200

    Revert one change

commit 4fd26cd29e21c42b027e37da2616761ebc399d16
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:39:41 2018 +0200

    Revert commit

commit 8a5cc627b1048368fe8807973d1f542bab2e045f
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:28:56 2018 +0200

    Fix typo

commit 0a24baa7258c0ae0f244d82af8d0831b148ab012
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 16:15:45 2018 +0200

    Fix typo

commit 38f93ecd90171fb881243f0de55b3452daccff20
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 15:56:49 2018 +0200

    Fix typos

commit 15446fd62400c36c2a51f7e6f13725cc8adfd924
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 15:48:00 2018 +0200

    Fix typos

commit 76533b41986bbc5826070a1e644215a74757c1db
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 15:04:38 2018 +0200

    Fix typo

commit aea330c2b0bf76975ec69142a732288cc8b192bd
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 14:46:29 2018 +0200

    Fix typo

commit 8b1b1d0be1dc44f36c22c54d1a3d56d84d456b92
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 14:40:23 2018 +0200

    Fix typo

commit 46ea76785a26cf20a664ed211c8f3fb9a283e127
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 14:14:17 2018 +0200

    Fix typo

commit e0d7c5748545dd0975507ad603623072fcc6bdea
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 14:08:24 2018 +0200

    Fix typo

commit 604d5a244323b17ba596b12d245407e1cf63a375
Merge: 6c081ca 1c65b2b
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 09:03:23 2018 +0200

    Merge pull request #36 from rex4539/patch-36

    Fix typo

commit 6c081caf28b7cef9e62ed523284dff90e4add16d
Merge: 899e5d2 88fa2d9
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 09:02:49 2018 +0200

    Merge pull request #35 from rex4539/patch-35

    Fix typo

commit 899e5d2c343ac7ea5069b8548e5df86c8e963e21
Merge: 6380c7f 40e73e2
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 09:02:16 2018 +0200

    Merge pull request #34 from rex4539/patch-34

    Fix typo

commit 6380c7f740246474c69d8145bde61688551efe83
Merge: f592274 4567667
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 09:01:47 2018 +0200

    Merge pull request #33 from rex4539/patch-33

    Fix typos

commit f592274a713162da0083bd6d22fb47cb1afcdba9
Merge: d86ef7e 4aeaa3a
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 09:01:14 2018 +0200

    Merge pull request #32 from rex4539/patch-32

    Fix typo

commit d86ef7e5e4f7e9c2014358ec5b647d1815eb304d
Merge: fe0b432 5cdd1b2
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 09:00:41 2018 +0200

    Merge pull request #31 from rex4539/patch-31

    Fix typo

commit fe0b432ee125ae0b876af2c26139dfc979005a3b
Merge: 6fd6d0d 70130d0
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 09:00:12 2018 +0200

    Merge pull request #30 from rex4539/patch-30

    Fix typos

commit 6fd6d0dcf3714118a623c0d8d84aabb4578410a8
Merge: 389660f 3377426
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:59:42 2018 +0200

    Merge pull request #29 from rex4539/patch-29

    Fix typo

commit 389660f856cb60ff475a8757aad3873b99213cc0
Merge: a0b85ce 40643eb
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:59:15 2018 +0200

    Merge pull request #28 from rex4539/patch-28

    Fix typo

commit a0b85ce3b4d2e6596da0727e05c1fe15c289b1e7
Merge: 6f9a1c7 23ead80
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:58:42 2018 +0200

    Merge pull request #27 from rex4539/patch-27

    Fix typo

commit 6f9a1c71a680bb3ed1c249dd42bf0a54663d0af3
Merge: b880547 3612eab
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:58:06 2018 +0200

    Merge pull request #26 from rex4539/patch-26

    Patch 26

commit b880547415afeae36bd19867388e60a3040a15ca
Merge: a3b7da2 5c3177f
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:57:24 2018 +0200

    Merge pull request #25 from rex4539/patch-25

    Fix typo

commit a3b7da2c6d6691f38751292e1aea63498a325788
Merge: edd8586 60026ef
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:56:52 2018 +0200

    Merge pull request #24 from rex4539/patch-24

    Fix typo

commit edd8586fdf8c112f4c513804610c237d7e2e80ef
Merge: 0c28eb7 f979c00
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:56:12 2018 +0200

    Merge pull request #23 from rex4539/patch-23

    Fix typo

commit 0c28eb7717821b1d68016f40911d07f2a7231b4f
Merge: 775beb6 c900722
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:55:42 2018 +0200

    Merge pull request #22 from rex4539/patch-22

    Fix typo

commit 775beb625beb1fc5f72388c076b295de4b8ff039
Merge: a0cf889 1027543
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:55:16 2018 +0200

    Merge pull request #21 from rex4539/patch-21

    Fix typo

commit a0cf88971e756c37c406bab3066c11d6fc7f6d74
Merge: 4504b48 f3fa89b
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:54:44 2018 +0200

    Merge pull request #20 from rex4539/patch-20

    Fix typo

commit 4504b4824b3438e931ca8d24a56b1887657e87cd
Merge: dd0bcbf 2699eca
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:54:20 2018 +0200

    Merge pull request #19 from rex4539/patch-19

    Fix typo

commit dd0bcbfc89293e9760156d5534f3a558451e1f29
Merge: abfb65a f02ef2e
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:53:46 2018 +0200

    Merge pull request #18 from rex4539/patch-18

    Fix typos

commit abfb65afaed49c34b9875df79f6fe6eb2b7bf769
Merge: 68b46b7 6485c90
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:53:08 2018 +0200

    Merge pull request #17 from rex4539/patch-17

    Fix typo

commit 68b46b75d2e5b7ae97e83fc5541c46b4907a7899
Merge: a131e84 fcc0828
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:52:39 2018 +0200

    Merge pull request #16 from rex4539/patch-16

    Fix typo

commit a131e844652e58aff78fa8952e7547a9ba82b8a1
Merge: 8487c0e 8a688ff
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:51:54 2018 +0200

    Merge pull request #15 from rex4539/patch-15

    Fix typo

commit 8487c0e39092b74e977c7a60f4a07a27606756a8
Merge: bcc4cb4 bb60b83
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:51:28 2018 +0200

    Merge pull request #14 from rex4539/patch-14

    Fix typos

commit bcc4cb46130e789faa9adae9b159ca818f67ec52
Merge: 23e66e9 53539bb
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:51:00 2018 +0200

    Merge pull request #13 from rex4539/patch-13

    Fix typos

commit 23e66e956bff2d6935c7a4dd570d457294018a77
Merge: 56956cf 0808445
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:50:27 2018 +0200

    Merge pull request #12 from rex4539/patch-12

    Fix typo

commit 56956cf23ba1208aa39cb3ab1ef60375c6630263
Merge: 77007d4 7a4f064
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:49:59 2018 +0200

    Merge pull request #11 from rex4539/patch-11

    Fix typo

commit 77007d49fa1d8cb80aef02bea1dd15e522a47c90
Merge: e78ad0c 48c33fb
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:49:16 2018 +0200

    Merge pull request #10 from rex4539/patch-10

    Fix typo

commit e78ad0cf0d91955a848f5e953a042eabdcdac198
Merge: 38a3e08 809f01c
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:48:33 2018 +0200

    Merge pull request #9 from rex4539/patch-9

    Fix typo

commit 38a3e08699fe4c4ec715b1783dba18bff6b829fb
Merge: eee3c28 fec279c
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:48:05 2018 +0200

    Merge pull request #8 from rex4539/patch-8

    Fix typo

commit eee3c286eb84f994310142a9e7fdbd36a671e593
Merge: 702635b cf81b4e
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:47:33 2018 +0200

    Merge pull request #7 from rex4539/patch-7

    Fix typo

commit 702635bb34abb2f83ded27ae95deefd5b6e7df93
Merge: d7497ea 3bbcc3d
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:47:01 2018 +0200

    Merge pull request #6 from rex4539/patch-6

    Fix typo

commit d7497ea070e03380cf1d4f533b7dc4b881f724f8
Merge: bfcc1e8 f639727
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:45:33 2018 +0200

    Merge pull request #5 from rex4539/patch-5

    Fix typos

commit bfcc1e8ae2094ca4e9837f623999705f538aff04
Merge: f4440ec 55262fe
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:45:05 2018 +0200

    Merge pull request #4 from rex4539/patch-4

    Remove space for word "backup"

commit f4440ecd4a7367e6bc4a5f75bea112290017ed2b
Merge: f8b487f 61d5279
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:44:31 2018 +0200

    Merge pull request #3 from rex4539/patch-3

    Fix typos in zmq.md

commit f8b487f5699990fabc7fc383d02bc728db3cb9aa
Merge: 60104a7 f2ce50f
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:42:51 2018 +0200

    Merge pull request #2 from rex4539/patch-2

    Fix typo in security-warnings.md

commit 60104a7034f55284afb814e81a1430a8b2b0d8d1
Merge: be262f0 af7dfe0
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 08:41:48 2018 +0200

    Merge pull request #1 from rex4539/patch-1

    Fix typos

commit 1c65b2b
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 07:35:26 2018 +0200

    Fix typo

commit 88fa2d9
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 07:21:00 2018 +0200

    Fix typo

commit 40e73e2
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 07:14:21 2018 +0200

    Fix typo

commit 4567667
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 06:44:40 2018 +0200

    Fix typos

commit 4aeaa3a
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 05:55:25 2018 +0200

    Fix typo

commit 5cdd1b2
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 05:36:46 2018 +0200

    Fix typo

commit 70130d0
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 05:28:21 2018 +0200

    Fix typos

commit 3377426
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 05:00:56 2018 +0200

    Fix typo

commit 40643eb
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 04:51:57 2018 +0200

    Fix typo

commit 23ead80
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 04:29:53 2018 +0200

    Fix typo

commit 3612eab
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 04:19:36 2018 +0200

    Fix typos

commit 5c3177f
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 04:13:03 2018 +0200

    Fix typo

commit 60026ef
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 04:08:09 2018 +0200

    Fix typo

commit f979c00
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 04:01:44 2018 +0200

    Fix typo

commit c900722
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 03:52:33 2018 +0200

    Fix typo

commit 1027543
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 03:36:19 2018 +0200

    Fix typo

commit f3fa89b
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 03:34:37 2018 +0200

    Fix typo

commit 2699eca
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 03:30:29 2018 +0200

    Fix typo

commit f02ef2e
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 03:22:36 2018 +0200

    Fix typos

commit 6485c90
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 03:10:06 2018 +0200

    Fix typo

commit fcc0828
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 03:06:26 2018 +0200

    Fix typo

commit 8a688ff
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 03:02:50 2018 +0200

    Fix typo

commit bb60b83
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 02:59:25 2018 +0200

    Fix typos

commit 53539bb
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 02:50:55 2018 +0200

    Fix typos

commit 0808445
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 01:05:54 2018 +0200

    Fix typo

commit 7a4f064
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 00:16:31 2018 +0200

    Fix typo

commit 48c33fb
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 00:07:42 2018 +0200

    Fix typo

commit 809f01c
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Tue Feb 27 00:02:34 2018 +0200

    Fix typo

commit fec279c
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Mon Feb 26 23:55:27 2018 +0200

    Fix typo

commit cf81b4e
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Mon Feb 26 23:48:43 2018 +0200

    Fix typo

commit 3bbcc3d
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Mon Feb 26 23:28:52 2018 +0200

    Fix typo

commit f639727
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Mon Feb 26 23:13:12 2018 +0200

    Fix typos

commit 55262fe
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Mon Feb 26 22:46:52 2018 +0200

    Remove space for word "backup"

commit 61d5279
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Mon Feb 26 22:23:31 2018 +0200

    Fix typos in zmq.md

commit f2ce50f
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Mon Feb 26 22:12:58 2018 +0200

    Fix typo in security-warnings.md

commit af7dfe0
Author: Dimitris Apostolou <dimitris.apostolou@icloud.com>
Date:   Mon Feb 26 21:59:24 2018 +0200

    Fix typos

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
str4d pushed a commit that referenced this issue Sep 24, 2019
Move mempool SyncWithWallets call into its own thread
defuse added a commit to defuse/zcash that referenced this issue Aug 19, 2020
…rguments

Removed missing dictionary argument from streamStateFromFormat fuzzer.
zkbot pushed a commit that referenced this issue Sep 22, 2020
f545dfabf Merge #18: Use utf-8 to decode filename
f8e797a05 Use utf-8 to decode filename
2fc114812 Merge #14: Fixes to allow building with msvc.
d6eab9313 Fixes to allow building with msvc.

git-subtree-dir: src/leveldb
git-subtree-split: f545dfabff4c2e9836efed094dba99a34fbc6b88
str4d added a commit that referenced this issue Jul 16, 2022
f8ae182c1e Adds unicode support to Windows environment.
92ae82c78f Increase maximum read-only mmap()s used from 1000 to 4096 on 64-bit systems
d42e63d49d Do not crash if filesystem can't fsync
bf2c2090b7 Add filename to corruption errors
0c40829872 Remove redundant PROJECT_SOURCE_DIR usage from CMake config.
5abdf4c019 Fix installed target definition.
cf4d9ab23d Test CMake installation on Travis.
95d0ba1cb0 Renamed local variable in DBImpl::Write.
657ba51429 Added return in Version::Get::State::Match to quiet warning.
370d532a00 Using CMake's check_cxx_compiler_flag to check support for -Wthread-safety.
45ee61579c Update Travis CI configuration.
60db170a43 Fix tsan problem in env_test.
21304d41f7 Merge pull request #698 from neal-zhu:master
5e921896ee drop fileds in State that are duplicates of fileds in Saver and fix typo
53e280b568 Simplify unlocking in DeleteObsoleteFiles.
046216a7ca Add "leveldb" subdirectory to public include paths.
9ee91ac747 Ending sentences with periods in README.md.
e0d5f83a4f Align EnvPosix and EnvWindows.
69061b464a Disable exceptions and RTTI in CMake configuration.
107a75b62c cache Saver in State object
76ca116276 fix bug(uninitialized options pointer in State)
f668239bb2 remove TODO in Version::ForEachOverlapping
177cd08629 format
8fa7a937ee fix bug
6a90bb91ee use ForEachOverlapping to impl Get
4cb80b7ddc Merge pull request #386 from ivanabc:master
72a38ff7f2 Replace "> >" with ">>"
863f185970 unsigned char -> uint8_t
a3b71c1ff6 Use GCC 9 on Travis CI
ae49533210 Add explicit typecasts to avoid compiler warning.
63d5315e1c Merge branch 'master' into master
c00e177f36 Guard DBImpl::versions_ by mutex_.
1d0b101165 Converted two for-loops to while-loops.
28e6d238be Switch to using C++ 11 override specifier.
85cd40d108 Added unit test for InternalKey::DecodeFrom with empty string.
1aae5c9f29 Merge pull request #411 from proller:assert1
b7b86baec9 Using std::ostringstream in key DebugString.
3e6c000e18 Merge pull request #457 from jellor:patch-2
1d94fe2f4d Merge branch 'master' into patch-2
27dc99fb26 Fix EnvPosix tests on Travis CI.
9521545b06 Formatting changes for prior O_CLOEXEC fix.
900f7d37eb Merge pull request #624 from adam-azarchs:master
a7528a5d2b Clean up util/coding.{h,cc}.
142035edd4 Initialize Stats::start_ before first use in Stats::Start().
e22b1cec6e Merge pull request #365 from allangj:c-strict-prototypes
cd1ec032cd Add argument definition for void c functions.
4bd052d7e8 Consolidate benchmark code to benchmarks/.
506b1722ef Convert missed virtual -> override in db_test.cc.
24424a1ef2 Style cleanup.
9a56c49ed4 Merge pull request #679 from smartxworks:optimize-readseq
abf441b657 Merge pull request #278 from wankai:master
78b39d68c1 Bump the version number from 1.21 to 1.22.
9bd23c7676 Correct class/structure declaration order.
c784d63b93 Moved port/README to port/README.md.
297e66afc1 Format all files IAW the Google C++ Style Guide.
3724030179 Update Travis CI configuration.
d3d1c8a0f4 don't check current key in DBIter::Next()
3dc9202f78 [leveldb] Specifically export the WriteBatch::Handler inner class for Windows link
2ccb45c33a Check for possibly invalid offset in test.
7b11745190 Changed Windows specific highlighting from bash to cmd.
2f008ac19e Initialize class members to default values in constructors.
ffabb1ae86 Merge pull request #665 from cheng-chang:coding
7da571cf2b Merge pull request #669 from pavel-pimenov:fix-readme-windows-mkdir
df4a323aaf Merge pull request #472 from zhoudayang:patch-1
5a2a472741 Fixed missing std namespaces and make_unique.
08e771901f Simplify issue320_test.
65e86f75ea Fix formatting of recent snapshot compaction fix.
7711e76766 Merge pull request #339 from richcole-at-amazon:master
71ed7c401e Fixed typo in comment in version_set.h.
09fa8868db Align version/soversion CMake setup closer with other repositories.
20fb601aa9 Fix snapshot compaction bug
37300aa54b Restore soname versioning with CMake build
952be04df6 Fix mkdir (windows)
56178ddaf4 Update the version to 1.21 in preparation for a new release.
35619d248d Project import generated by Copybara.
416344de2f leveldb: Register in copybara whitelist.
da94ac67e9 leveldb: Minor cleanup in ports.
bd24b96306 leveldb: Silence unused argument warnings in MSVC.
6188a54ce9 leveldb: Add tests for empty keys and values.
cf1b5f4732 Remove unnecessary bit operation.
7035af5fc3 Two small fixes for the Windows implementation (#661)
6571279d6d fix a typo in the comment of skiplist_test.cc (#664)
15e2278966 Use override consistently in leveldb::test::ErrorEnv.
ea49b27d06 Switch corruption_test to use InMemEnv.
ce399ac28a Always copy bytes to scratch buffer when reading w/MemEnv.
201f77d137 Inline defaults in options.
9ce30510d4 Deleted dangling reference to deleted atomic_pointer.h.
7d8e41e49b leveldb: Replace AtomicPointer with std::atomic.
dd906262fd Make InMemoryEnv more consistent with filesystem based Env's.
cf1d1ab255 leveldb: Remove unused file port/win/stdint.h.
a20508dc6a Fix typo (#565)
04470825ac Add AppVeyor (Windows CI) badge to README.
ed76289b25 Align windows_logger with posix_logger.
808e59ec6a Improve CI configuration.
c69d33b0ec Added native support for Windows.
75fceae700 Add O_CLOEXEC to open calls.
fe4494804f leveldb: Make WriteBatch::ApproximateSize() const.
296de8d5b8 leveldb: Fix PosixWritableFile::Sync() on Apple systems.
b70493ca85 Fix fdatasync() feature detection in opensource build.
af7abf06ea Add back space to POSIX Logger.
58d70545af Update Travis CI configuration.
1cb3840881 Clean up env_posix.cc.
a7dc502e9f Rework once initialization in env_posix.cc.
c43565dd39 C++11 cleanup for util/mutexlock.h.
0145a94ab6 Update .gitignore.
73d5834ece Rework threading in env_posix.cc.
05709fb43e Remove InitOnce from the port API.
bb88f25115 Clean up PosixWritableFile in env_posix.cc.
7b945f2003 Clean up posix_logger.h.
89af27bde5 Remove ssize_t from code that is not POSIX-specific.
03064cbbb2 Simplify Limiter in env_posix.cc.
9b44da73d9 Clarify comments for leveldb::Env file reading methods.
0ef2310f67 Remove GCC on OSX from the Travis CI matrix.
16a2b8bb3a Expose WriteBatch::Append in the C API.
f7b0e1d901 Expose WriteBatch::Append().
6caf73ad9d Clean up Iterator.
6a6bdafcf1 Corrected typo in docs: "cache" to "block_cache".
1868398150 Clean up SnapshotImpl.
e7840de9f3 Fix documentation for log file growth.
bc23e00f95 Update default log file size in doc.
4de9594f6f Add move constructor to Status.
d177a0263c Replace port_posix with port_stdcxx.
14cce848e7 Fix sign mismatch warnings in GCC.
8046a51b21 Add forgotten <limits> header to util/logging.cc.
a0008deb67 Reimplement ConsumeDecimalNumber.
1f7dd5d5f6 Add tests for ConsumeDecimalNumber.
1cc8b10b82 Document the building process.
09217fd067 Replace NULL with nullptr in C++ files.
6a3b915166 Remove PLATFORM_IS_LITTLE_ENDIAN from port/posix.h.
260655b4c2 Define LEVELDB_HAS_PORT_CONFIG_H for old compilers.
6fa4566670 Rename CMake project / targets from Leveldb to leveldb.
0db30413a4 leveldb: Add more thread safety annotations.
04f39105c5 Take <atomic> for granted in port/atomic_pointer.h.
74f032ff6f leveldb: Require C++11.
8e75db8623 Remove build configuration for make.
df9a841a4f Add export.h to CMakeLists.txt
50fbc87e8c Replace SIZE_MAX with std::numeric_limits.
739c25100e Add CMake build support.
0fa5a4f7b1 Extend thread safety annotations.
8143c12f3f Fix includes in util/testharness.h.
aece2068d7 Remove extern from function declarations.
ddab751002 Add tests for {Old}InfoLogFileName().
7fd7c00721 Remove unused function ExtractValueType.
594cc987af Bypass OSMemoryBarrier() warning on Mac.
49f35d3fc9 leveldb: Update Travis CI configuration for open source build.
623d014a54 Expose Env::GetTempDirectory() for use in C test.
8c8024ea33 Switch HAVE_ library detection macros to 0/1.
41172a2401 Enable thread safety annotations in open source version.
47cb9e2a21 Add leveldb_options_set_max_file_size to the C API.
b5d4a22e64 Fixed style guide link in CONTRIBUTING.md
3da4d8b989 Deleted unused assignments in Reader.
0509414f85 leveldb::DestroyDB will now delete empty directories.
23162ca1c6 Fix typo (forgotten reference operator) in test.
5c39524f36 Replace SSE-optimized CRC32C in POSIX port with external library.
ca216e493f leveldb: Rename SNAPPY to HAVE_SNAPPY.
25767d066c leveldb: Remove *_unlocked feature detection from POSIX port.
4a7e7f50dc Add LEVELDB_EXPORT macro to export public symbols.
542590d2a8 leveldb: Include <algorithm> in util/env_test.cc.
8ae7998aab Fix FD leak in POSIX Env.
d9a9e02edf leveldb: Add tests for CL 170769101.
4447f9cace Remove handling for unused LRUHandle representation special case.
2372ac574f Fix file writing bug in CL 170738066.
1c75e88055 Fix use of uninitialized value in LRUHandle.
7e12c00ecf Fix issue 474: a race between the f*_unlocked() STDIO calls in env_posix.cc and concurrent application calls to fflush(NULL).
bcd9a8ea4a Use portable CRC32C from google/crc32c.
ea0a7586b8 Remove confusing and unnecessary if.
141e767135 Simplify Table::Open() flow and remove a delete call.
09a3c8e741 Switched variable type from int to uint64_t in ConsumeDecimalNumber.
2964b803b8 leveldb: Fix alignment code in SSE4.2-optimized CRC32C.
02f43c0fcd Remove dead code.
0b402e96a7 Use __APPLE__ instead of OS_MACOS. The former is compiler-provided.
8415f00eee leveldb: Report missing CURRENT manifest file as database corruption.
69e2bd224b LevelDB: Add WriteBatch::ApproximateSize().
471f0b84ec fix comment
5b817400a0 fix comment
7d060117fa broken db: fix assertion in leveldb::InternalKey::Encode, mark base as corrupt
2883fcd849 set const property
e5f0a51fa4 reduce lock's range in DeleteObsoleteFiles
dd598676cd block_builder header file dependency fixed
REVERT: f545dfabff Merge #18: Use utf-8 to decode filename
REVERT: f8e797a058 Use utf-8 to decode filename
REVERT: 2fc114812a Merge #14: Fixes to allow building with msvc.
REVERT: 524b7e36a8 Merge #19: Increase maximum read-only mmap()s used from 1000 to 4096 on 64-bit systems
REVERT: 4874cb8d3e Increase maximum number of read-only mmap()s used from 1000 to 4096 on 64 bit systems.
REVERT: 64052c76c5 Merge #15: Add filename to corruption errors
REVERT: 135ed0fb4e Add filename to corruption errors
REVERT: d6eab93138 Fixes to allow building with msvc.
REVERT: c521b3ac65 Merge #11: fixup define checks. Cleans up some oopses from #5.
REVERT: 8b1cd3753b fixup define checks. Cleans up some oopses from #5.
REVERT: 6b1508d6d5 Merge #6: Fixes typo
REVERT: fceb805426 Merge #10: Clean up compile-time warnings (gcc 7.1)
REVERT: 0ec2a343f3 Clean up compile-time warnings (gcc 7.1)
REVERT: d4c268a357 Merge #5: Move helper functions out of sse4.2 object
REVERT: 8d4eb08470 Add HasAcceleratedCRC32C to port_win.h
REVERT: 77cfbfd250 crc32: move helper functions out of port_posix_sse.cc
REVERT: 4c1e9e0168 silence compiler warnings about uninitialized variables
REVERT: 4953164851 Merge #2: Prefer std::atomic over MemoryBarrier
REVERT: 2953978ef8 Fixes typo
REVERT: f134284a1c Merge #1: Merge upstream LevelDB 1.20
REVERT: 196962ff01 Add AcceleratedCRC32C to port_win.h
REVERT: ba8a445fda Prefer std::atomic over MemoryBarrier
REVERT: 1bdf1c34c5 Merge upstream LevelDB v1.20
REVERT: d31721eb0a Merge #17: Fixed file sharing errors
REVERT: fecd449021 Fixed file sharing error in Win32Env::GetFileSize(), Win32SequentialFile::_Init(), Win32RandomAccessFile::_Init() Fixed error checking in Win32SequentialFile::_Init()
REVERT: 5b7510f1b7 Merge #14: Merge upstream LevelDB 1.19
REVERT: 0d969fd570 Merge #16: [LevelDB] Do no crash if filesystem can't fsync
REVERT: c8c029b5b5 [LevelDB] Do no crash if filesystem can't fsync
REVERT: a31c8aa408 Add NewAppendableFile for win32 environment
REVERT: d40bc3fa5a Merge #13: Typo
REVERT: ebbd772d33 Typo
REVERT: 1913d718ef Merge upstream LevelDB 1.19
REVERT: 20ca81f08f Merge pull request #9
REVERT: 7aa105e1a3 leveldb: Win32WritableFile without memory mapping
REVERT: 7d41e6f89f Merge upstream LevelDB 1.18
REVERT: 42dcc7edfc Merge upstream LevelDB 1.17.
REVERT: e991315d7f Merge upstream LevelDB 1.15.
REVERT: 02ac9f170b Merge upstream LevelDB 1.14.
REVERT: 936b4613ea Merge upstream LevelDB 1.13.
REVERT: be1b0ff1fc On Mac OS X fsync does not guarantee write to disk. Use fcntl F_FULLFSYNC instead.
REVERT: a02ddf9b14 Added GNU/kFreeBSD kernel name (TARGET_OS)
REVERT: 848746862c CondVar::SignalAll was broken, leading to deadlocks on Windows builds. http://code.google.com/p/leveldb/issues/detail?id=149
REVERT: f6d84d1baf Allow files to be opened for reading multiple times
REVERT: cb8e3f7adf Checking whether closing succeeds
REVERT: d5317e8eda Print actual Win32 error that occurred on file creation failure.
REVERT: 907f308499 Port leveldb to MinGW32
REVERT: 9def2bfbf1 Mingw support for Windows LevelDB port
REVERT: 0a7b0748c7 Pre-Vista leveldb::port::InitOnce implementation
REVERT: 31a2b09985 Native Windows LevelDB port
REVERT: 058a0357cd Remove Snappy support

git-subtree-dir: src/leveldb
git-subtree-split: f8ae182c1e5176d12e816fb2217ae33a5472fdd7
buck54321 pushed a commit to buck54321/zcash that referenced this issue Sep 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-wallet Area: Wallet C-upstream-port Category: Changes that are ported from the Bitcoin Core codebase. D-forward-secrecy-vs-recoverability Design issue: Forward secrecy vs recoverability I-SECURITY Problems and improvements related to security. M-requires-zip This change would need to be specified in a ZIP. maybe in 2.0 not in 1.0 S-needs-clearer-scope Status: Needs clearer scope special to Zooko usability
Projects
None yet
Development

No branches or pull requests

9 participants