scripted-diff: Rename wallet database classes #11851

pull ryanofsky wants to merge 3 commits into bitcoin:master from ryanofsky:pr/wren changing 14 files +338 −338
  1. ryanofsky commented at 12:07 pm on December 8, 2017: member

    Scripted diff to rename some wallet classes. Motivated by discussion in #11687 (review)

    Current New
    CDBEnv BerkeleyEnvironment
    CDB BerkeleyBatch
    CWalletDBWrapper WalletDatabase
    CWalletDB WalletBatch

    Berkeley* classes are intended to contain BDB specific code, while Wallet* classes are intended to be more backend-agnostic.

    Also renamed associated variables:

    Current New
    dbw database
    pwalletdb batch
    pwalletdbEncryption encrypted_batch
  2. jnewbery commented at 1:23 pm on December 8, 2017: member

    Concept ACK. The current naming is very confusing. There’s even a comment in walletdb.h to say so:

     0/**
     1 * Overview of wallet database classes:
     2 *
     3 * - CDBEnv is an environment in which the database exists (has no analog in dbwrapper.h)
     4 * - CWalletDBWrapper represents a wallet database (similar to CDBWrapper in dbwrapper.h)
     5 * - CDB is a low-level database transaction (similar to CDBBatch in dbwrapper.h)
     6 * - CWalletDB is a modifier object for the wallet, and encapsulates a database
     7 *   transaction as well as methods to act on the database (no analog in
     8 *   dbwrapper.h)
     9 *
    10 * The latter two are named confusingly, in contrast to what the names CDB
    11 * and CWalletDB suggest they are transient transaction objects and don't
    12 * represent the database itself.
    13 */
    

    This should probably go in just before branching v0.16, since rebasing on top of this will be a pain.

    Other changes you could consider:

    • manually update that overview comment (and perhaps move to wallet.h?)
    • rename the wallet/db and wallet/walletdb files to be more descriptive. Perhaps wallet/berkeley_db and wallet/db_checkpoint, but I’m sure we could do better than that.

    I think your suggested class names are good (‘checkpoint’ is certainly better than ’transaction’!). I can’t currently think of anything better.

  3. ryanofsky commented at 3:56 pm on December 8, 2017: member

    manually update that overview comment (and perhaps move to wallet.h?)

    Added commit to fix the overview comment: 51eaec47ccb61de2d791c86b785ee4cf111c3b05. I didn’t move it into wallet.h for now because it sounds from #11687 (review) like a goal is to pull database reading and writing code out of main wallet class, which would make wallet.h not the right place for it.

    rename the wallet/db and wallet/walletdb files to be more descriptive. Perhaps wallet/berkeley_db and wallet/db_checkpoint, but I’m sure we could do better than that.

    I’d be inclined to rename wallet/db.h to wallet/db-berkeley.h, leaving room for other implementations like wallet/db-dummy.h, wallet/db-sqlite.h, wallet/db-log.h (#5686), etc.

    I’d be inclined to rename wallet/walletdb.h something like wallet/serialize.h, wallet/schema.h, wallet/kvschema.h, wallet/db.h, or wallet/db-keyvalue.h since it’s mainly responsible for key value serialization and mostly not tied to the berkeleydb backend. This would make more sense with the CWalletDB -> CDB dependency removed or reversed, though.


    Added 1 commits 003b6190e5a3d870a5eca3195e2381ee4b93de4d -> 51eaec47ccb61de2d791c86b785ee4cf111c3b05 (pr/wren.1 -> pr/wren.2, compare)

  4. TheBlueMatt commented at 3:58 pm on December 8, 2017: member
    Nice! I find the “WalletCheckpoint” name kinda confusing, it is a DB batch/transaction, so I’d kinda prefer we stick with “normal” nomenclature there. I’m really not sure that “BerkeleyCheckpoint” makes all that much sense for CDB, either. I kinda wish we’d split it out into an interface and implementation, though not sure if its required for this PR, but its already essentially a pretty clean interface towards a wallet DB backend.
  5. ryanofsky commented at 4:04 pm on December 8, 2017: member

    I find the “WalletCheckpoint” name kinda confusing

    Yeah, actually checkpoint is a bad name. I just chose it because I saw a txn_checkpoint call in CDB::Flush and assumed “checkpoint” was some kind of BDB synonym for transaction. But it’s really not. It would be good to avoid the word transaction so maybe the best thing to call this is something like Batch or Update or Commit.

  6. fanquake added the label Refactoring on Dec 8, 2017
  7. fanquake added the label Wallet on Dec 8, 2017
  8. jnewbery commented at 5:23 pm on December 8, 2017: member

    Can you push your latest branch onto pr/wren so it shows up here?

    ACK changing Checkpoint to Batch or Commit. Please just not transaction!

    ACK your suggested filename changes. My preferences would be:

    • wallet/db.h -> wallet/db-berkeley.h
    • wallet/walletdb.h -> wallet/schema.h

    I’ve reviewed your commit changing the overview comment. I think it could be improved further by removing the ‘analogous to x in dbwrapper.h’ parts, and perhaps changing the ordering and wording, eg:

     0/**
     1 * Overview of wallet database classes:
     2 *
     3 * - WalletBatch is an abstract modifier object for the wallet database, and encapsulates a database
     4 *   batch update as well as methods to act on the database. It should be agnostic to the database implementation.
     5 *
     6 * The following classes are implementation specific:
     7 * - BerkeleyEnvironment is an environment in which the database exists.
     8 * - BerkeleyDatabase represents a wallet database.
     9 * - BerkeleyBatch is a low-level database batch update.
    10 */
    
  9. TheBlueMatt commented at 5:28 pm on December 8, 2017: member

    It would be good to avoid the word transaction so maybe the best thing to call this is something like Batch or Update or Commit.

    Good point. We use the term “Batch” in the context of LevelDB/CCoin stuff, so I’d vote for that.

  10. ryanofsky force-pushed on Dec 8, 2017
  11. ryanofsky referenced this in commit 4299018f8f on Dec 8, 2017
  12. ryanofsky commented at 7:05 pm on December 8, 2017: member

    Updated 51eaec47ccb61de2d791c86b785ee4cf111c3b05 -> 4299018f8f1f2b952c93f79b82073bcaa96807f6 (pr/wren.2 -> pr/wren.3), switching from checkpoint to batch, dropping the CWallet->Wallet rename (because it isn’t really related and makes the change bigger), adding some variable renames for consistency, and adding John’s comment.

    The only thing I didn’t do yet is rename files. There might be other suggestions for names, and file renames could also happen in a separate PR.

  13. jnewbery commented at 7:23 pm on December 8, 2017: member
    I’m going to hold off reviewing until we’re closer to a major release (since I think this only makes sense going in right before branching). Russ - let me know if you disagree and think we should be reviewing/merging sooner. If this does get merged just before a branch, then I think there’s no issue with doing s/CWallet/Wallet at the same time.
  14. ryanofsky commented at 7:30 pm on December 8, 2017: member
    Sounds good to me. It would also make things slightly easier for me if this were merged after #11687, rather than before.
  15. TheBlueMatt commented at 8:50 pm on December 8, 2017: member
    I’m not sure I’d call BerkeleyBatch so low-level or recommend it be BDB-specific. Its public interface is pretty DB-agnostic - Read/Write/Verify/PeriodicFlush.
  16. ryanofsky commented at 9:40 pm on December 8, 2017: member

    I’m not sure I’d call BerkeleyBatch so low-level or recommend it be BDB-specific. Its public interface is pretty DB-agnostic - Read/Write/Verify/PeriodicFlush.

    Yeah, that code could be pulled out into WalletBatch or a new key-value store generic class. But I think John’s comment is basically right. WalletBatch code should be agnostic to berkeley db details and potentially able to work with another key-value backend, while BerkeleyBatch should contain more berkeley specific stuff. This is mostly true right now, and could be made more true with some refactoring, which I can follow up with. You should talk to John though about whether you prefer this comment or the previous comment, or want to combine them somehow.

  17. practicalswift commented at 10:53 am on December 10, 2017: contributor
    Concept ACK
  18. laanwj commented at 5:19 pm on December 11, 2017: member

    Agree on the naming and using Batch.

    However I agree with this as well:

    I’m not sure I’d call BerkeleyBatch so low-level or recommend it be BDB-specific. Its public interface is pretty DB-agnostic - Read/Write/Verify/PeriodicFlush.

    I tend to agree. I have a local patch set that ports the wallet functions to LevelDB. I don’t think the interface should hardcode the database implementation name.

    If you do want to do this, add a typedef so the non-database-specific code can stay without explicit Berkeley* references. e.g.:

    0typedef BerkeleyEnvironment WalletDBEnvironment; 
    1typedef BerkeleyDatabase WalletDatabase;
    2typedef BerkeleyBatch WalletDatabaseBatch;
    

    (this keeps it contained; after all we don’t want to have to do another batch rename every time the database changes)

  19. ryanofsky commented at 7:23 pm on December 11, 2017: member

    @laanwj, is there a link to your leveldb patch? I’m surprised there’s much code in these classes that’s reusable for leveldb. BerkeleyEnvironment and BerkeleyDatabase in particular seem pretty tied to Berkeley, though BerkeleyBatch is more independent.

    I’m thinking perhaps I should move the independent parts of BerkeleyBatch out into WalletBatch along with this renaming to avoid creating new confusion.

    after all we don’t want to have to do another batch rename every time the database changes

    I can clean this up more too, but after #11687 this might not be as much of as problem as you would think. #11687 eliminates most references to the BerkeleyEnvironment, BerkeleyBatch, and BerkeleyDatabase outside of the db files.

    Anyway, I think I will mark this WIP for now because there are other improvements I can make to go along with the renaming, and I think reviewer time would be better spent on #11687 anyway.

  20. ryanofsky renamed this:
    scripted-diff: Rename wallet database classes
    WIP: scripted-diff: Rename wallet database classes
    on Dec 11, 2017
  21. ryanofsky commented at 7:27 pm on December 11, 2017: member
    I think I found the leveldb wallet branch, it is https://github.com/laanwj/bitcoin/commits/20170310_experiment_leveldb_wallet and #9951. #5686 is also similar.
  22. laanwj commented at 9:16 am on December 12, 2017: member

    @laanwj, is there a link to your leveldb patch? I’m surprised there’s much code in these classes that’s reusable for leveldb.

    Right - the patch replaces pretty much all the code inside the classes. My only comment is about the exterior. So wallet.cpp etc should not be referring to Berkeley anything as class name, it doesn’t have to leak through in the class naming used by the client code what database is used.

  23. ryanofsky commented at 12:08 pm on December 12, 2017: member

    My only comment is about the exterior. So wallet.cpp etc should not be referring to Berkeley anything as class name

    Ah, I see. Your concern was narrower than I thought and can be addressed by a typedef like you suggested. Will fix and have the PR ready again soon. I still might want to merge this after #11687, though since #11687 touches a lot of the same code and this being a scripted-diff is easier to rebase

  24. PierreRochard commented at 2:57 pm on December 12, 2017: contributor
    Concept ACK. Was changing dbw to database in the src/test/dbwrapper_tests.cpp file intentional? That would seem to increase the scope of this PR beyond the wallet code
  25. ryanofsky commented at 3:32 pm on December 12, 2017: member

    PSA: Everybody commenting here please stop reviewing this work in progress PR and look at #11687 instead :)

    Was changing dbw to database in the src/test/dbwrapper_tests.cpp file intentional? That would seem to increase the scope of this PR beyond the wallet code

    This was unintentional but seemed harmless so I just left it in. I can try to tweak the scripted-diff to prevent it.

  26. laanwj commented at 5:50 am on December 13, 2017: member

    Will fix and have the PR ready again soon.

    Thanks. Sorry for being unclear at first.

  27. ryanofsky force-pushed on Dec 15, 2017
  28. ryanofsky referenced this in commit 387b3c142b on Dec 15, 2017
  29. ryanofsky renamed this:
    WIP: scripted-diff: Rename wallet database classes
    scripted-diff: Rename wallet database classes
    on Dec 15, 2017
  30. sipa commented at 9:16 pm on December 15, 2017: member
    Pieter was here.
  31. ryanofsky force-pushed on Jan 11, 2018
  32. ryanofsky referenced this in commit a1949208e1 on Jan 11, 2018
  33. ryanofsky force-pushed on Jan 11, 2018
  34. ryanofsky referenced this in commit cd2d49e6d9 on Jan 11, 2018
  35. ryanofsky force-pushed on Jan 17, 2018
  36. ryanofsky referenced this in commit 9681199110 on Jan 17, 2018
  37. ryanofsky force-pushed on Mar 2, 2018
  38. ryanofsky referenced this in commit 91277ee1cf on Mar 2, 2018
  39. ryanofsky force-pushed on Mar 3, 2018
  40. ryanofsky referenced this in commit dea0941ad8 on Mar 3, 2018
  41. ryanofsky force-pushed on Mar 7, 2018
  42. ryanofsky referenced this in commit e0ad11506a on Mar 7, 2018
  43. MarcoFalke commented at 3:21 pm on March 8, 2018: member
    Needs rebase to fix travis (sorry)
  44. ryanofsky force-pushed on Mar 12, 2018
  45. ryanofsky referenced this in commit 333ede1b54 on Mar 12, 2018
  46. ryanofsky commented at 6:53 pm on March 12, 2018: member

    Needs rebase to fix travis (sorry)

    Rebased e0ad11506a62c7ad28411ba67abad68131058bf5 -> 333ede1b54f00b063a311cf8bf7d70c711fa234f (pr/wren.10 -> pr/wren.11) for #12607.

  47. PierreRochard commented at 8:32 am on March 13, 2018: contributor

    Opening comment could be updated to include WalletDatabase/BerkeleyDatabase distinction as well as the variable renames:

    Current New
    dbw database
    m_dbw m_database
    pwalletdb batch
    pwalletdbIn batch_in
    walletdb batch

    Should pwalletdbEncryption be renamed as well?

  48. ryanofsky force-pushed on Mar 13, 2018
  49. ryanofsky referenced this in commit e2ce4c00c1 on Mar 13, 2018
  50. ryanofsky commented at 8:36 pm on March 13, 2018: member

    Opening comment could be updated to include WalletDatabase/BerkeleyDatabase distinction as well as the variable renames:

    Thanks, updated to note the distinction and variable renames.

    Should pwalletdbEncryption be renamed as well?

    Good catch. Added ren pwalletdbEncryption encrypted_batch line to the script.

    Updated 333ede1b54f00b063a311cf8bf7d70c711fa234f -> e2ce4c00c141275fbbf733dc0abef1bb4d986065 (pr/wren.11 -> pr/wren.12) with just the change to the scripted-diff.

  51. PierreRochard commented at 8:20 am on March 14, 2018: contributor

    Tested ACK e2ce4c00c141275fbbf733dc0abef1bb4d986065

    FYI in your scripted diff there’s ren wallet/batch.h wallet/walletdb.h which doesn’t do anything because it’s in the wrong order.

  52. ryanofsky force-pushed on Mar 14, 2018
  53. ryanofsky referenced this in commit b21912d455 on Mar 14, 2018
  54. ryanofsky commented at 7:47 pm on March 15, 2018: member

    Rebased e2ce4c00c141275fbbf733dc0abef1bb4d986065 -> b21912d455f225740fc5d4356cb4b31379c077d2 (pr/wren.12 -> pr/wren.13) because of merge conflict with #10637 in wallet_tests.cpp.

    FYI in your scripted diff there’s ren wallet/batch.h wallet/walletdb.h which doesn’t do anything because it’s in the wrong order.

    I don’t think this is true. That line is needed to prevent the earlier ren walletdb from mangling #includes. I think it’s possible you were seeing an error from the ren dbw_in line, which is now removed because it is no longer applicable after #11687.

  55. PierreRochard commented at 10:38 pm on March 17, 2018: contributor

    That line is needed to prevent the earlier ren walletdb from mangling #includes.

    Ah I see, I didn’t think that through.

    Tested ACK b21912d455f225740fc5d4356cb4b31379c077d2

  56. meshcollider commented at 10:49 pm on March 17, 2018: contributor
  57. ryanofsky force-pushed on Mar 19, 2018
  58. ryanofsky referenced this in commit 294442d56d on Mar 19, 2018
  59. ryanofsky commented at 4:52 pm on March 19, 2018: member
    Rebased b21912d455f225740fc5d4356cb4b31379c077d2 -> 294442d56d0aff5571756980ee0e0f700656428e (pr/wren.13 -> pr/wren.14) due to merge conflict with #12408.
  60. in src/wallet/walletdb.h:247 in 294442d56d outdated
    243@@ -244,8 +244,8 @@ class CWalletDB
    244     //! Write wallet version
    245     bool WriteVersion(int nVersion);
    246 private:
    247-    CDB batch;
    248-    CWalletDBWrapper& m_dbw;
    249+    BerkeleyBatch batch;
    


    jnewbery commented at 6:04 pm on March 19, 2018:
    You could rename this to m_batch in this PR, although that may be out of scope.

    ryanofsky commented at 6:50 pm on March 20, 2018:

    #11851 (review)

    You could rename this to m_batch in this PR, although that may be out of scope.

    Done in c4719633496d6be338d3c2ee3d64be613200ae82

  61. jnewbery commented at 6:04 pm on March 19, 2018: member
    Tested ACK 294442d56d0aff5571756980ee0e0f700656428e. One nit inline, which could easily be addressed in a future PR.
  62. ryanofsky commented at 6:51 pm on March 20, 2018: member
    Added 1 commits 294442d56d0aff5571756980ee0e0f700656428e -> c4719633496d6be338d3c2ee3d64be613200ae82 (pr/wren.14 -> pr/wren.15, compare)
  63. jnewbery commented at 9:46 pm on March 20, 2018: member
    reACK c4719633496d6be338d3c2ee3d64be613200ae82 . Can confirm that the batch -> m_batch renaming is the only change.
  64. MarcoFalke commented at 10:36 pm on March 22, 2018: member
    Needs rebase
  65. ryanofsky force-pushed on Mar 22, 2018
  66. ryanofsky referenced this in commit f4b99eecb5 on Mar 22, 2018
  67. ryanofsky commented at 10:57 pm on March 22, 2018: member

    Needs rebase

    Rebased c4719633496d6be338d3c2ee3d64be613200ae82 -> 6db9ee94fa91d3ebc864f63567314a2cce437bdd (pr/wren.15 -> pr/wren.16) due to conflicts with #11536 and #12694. Rebased 6db9ee94fa91d3ebc864f63567314a2cce437bdd -> 4dff15cd3e4cdda37b614b57278cbf4b06b26e2b (pr/wren.16 -> pr/wren.17) due to conflict with #10742.

  68. ryanofsky force-pushed on Mar 23, 2018
  69. ryanofsky referenced this in commit 441d11f4b5 on Mar 23, 2018
  70. ryanofsky force-pushed on Mar 27, 2018
  71. ryanofsky referenced this in commit 269ac8b366 on Mar 27, 2018
  72. Sjors commented at 11:18 am on March 29, 2018: member
    Concept ACK on more clear variable names. No opinion on the chosen names, but they seem like an improvement. 4dff15c compiles for me on macOS and my wallets still work.
  73. ryanofsky force-pushed on Apr 6, 2018
  74. ryanofsky referenced this in commit f2a26a8c72 on Apr 6, 2018
  75. ryanofsky commented at 6:21 pm on April 6, 2018: member
    Rebased 4dff15cd3e4cdda37b614b57278cbf4b06b26e2b -> 70caf7f7538efe1f859ce849967b7b40bbb8ae6f (pr/wren.17 -> pr/wren.18) due to conflicts with #12718 and #12853
  76. PierreRochard commented at 11:46 am on April 7, 2018: contributor
    I should have caught this sooner, this comment https://github.com/ryanofsky/bitcoin/blob/70caf7f7538efe1f859ce849967b7b40bbb8ae6f/src/wallet/walletdb.h#L137 (walletdb.h line 137) should be updated to reflect the renaming that happpened.
  77. scripted-diff: Rename wallet database classes
    -BEGIN VERIFY SCRIPT-
    
    sed -i 's/\<CWalletDBWrapper\>/BerkeleyDatabase/g' src/wallet/db.h src/wallet/db.cpp
    sed -i '/statuses/i/** Backend-agnostic database type. */\nusing WalletDatabase = BerkeleyDatabase\;\n' src/wallet/walletdb.h
    ren() { git grep -l "\<$1\>" 'src/*.cpp' 'src/*.h' ':(exclude)*dbwrapper*' test | xargs sed -i "s:\<$1\>:$2:g"; }
    ren CDBEnv           BerkeleyEnvironment
    ren CDB              BerkeleyBatch
    ren CWalletDBWrapper WalletDatabase
    ren CWalletDB        WalletBatch
    ren dbw              database
    ren m_dbw            m_database
    ren walletdb         batch
    ren pwalletdb        batch
    ren pwalletdbIn      batch_in
    ren wallet/batch.h   wallet/walletdb.h
    ren pwalletdbEncryption encrypted_batch
    
    -END VERIFY SCRIPT-
    ea23945dbc
  78. Update walletdb comment after renaming.
    Text from https://github.com/bitcoin/bitcoin/pull/11851#issuecomment-350320608
    by John Newbery <john@johnnewbery.com>.
    398c6f0f9d
  79. Add m_ prefix to WalletBatch::m_batch 9b0f0c5513
  80. ryanofsky force-pushed on Apr 7, 2018
  81. ryanofsky commented at 5:23 pm on April 7, 2018: member

    I should have caught this sooner, this comment https://github.com/ryanofsky/bitcoin/blob/70caf7f7538efe1f859ce849967b7b40bbb8ae6f/src/wallet/walletdb.h#L137 (walletdb.h line 137) should be updated to reflect the renaming that happpened.

    Thanks, updated coment in 3b205a89eaff2ae2b87557e6406e550e6656c4ef.


    Rebased 70caf7f7538efe1f859ce849967b7b40bbb8ae6f -> 59cf1f2377f8f6315200a9fc32bbc68e2bc7184c (pr/wren.18 -> pr/wren.19) due to conflict with #12785 Added 1 commits 59cf1f2377f8f6315200a9fc32bbc68e2bc7184c -> 3b205a89eaff2ae2b87557e6406e550e6656c4ef (pr/wren.19 -> pr/wren.20, compare) Squashed 3b205a89eaff2ae2b87557e6406e550e6656c4ef -> 9b0f0c5513f74825b06a728ab9bb2fd0e4224c9f (pr/wren.20 -> pr/wren.21)

  82. PierreRochard commented at 8:07 pm on April 7, 2018: contributor
    Tested ACK 9b0f0c5513f74825b06a728ab9bb2fd0e4224c9f
  83. jnewbery commented at 2:50 pm on April 9, 2018: member

    Tested ACK 9b0f0c5513f74825b06a728ab9bb2fd0e4224c9f.

    This is a conflict-heavy PR. It’d be great to get this merged soon to avoid repeated rebases.

  84. laanwj merged this on Apr 9, 2018
  85. laanwj closed this on Apr 9, 2018

  86. laanwj referenced this in commit 0700b6f778 on Apr 9, 2018
  87. stamhe referenced this in commit abad93f6d7 on Jun 27, 2018
  88. HashUnlimited referenced this in commit 752b45da59 on Sep 5, 2018
  89. lionello referenced this in commit 83487780c5 on Nov 7, 2018
  90. joemphilips referenced this in commit 2a6fd29e94 on Nov 9, 2018
  91. schancel referenced this in commit 7efaaeb4c1 on Jul 18, 2019
  92. PastaPastaPasta referenced this in commit 9abd867bb6 on Apr 14, 2020
  93. PastaPastaPasta referenced this in commit 29d9709d62 on Apr 14, 2020
  94. PastaPastaPasta referenced this in commit fc20bd4a1e on Apr 14, 2020
  95. PastaPastaPasta referenced this in commit ad1aa7873f on Apr 14, 2020
  96. PastaPastaPasta referenced this in commit bebdd59b89 on Apr 14, 2020
  97. PastaPastaPasta referenced this in commit 75303d81fd on Apr 14, 2020
  98. PastaPastaPasta referenced this in commit 43ac90d5c7 on Apr 14, 2020
  99. PastaPastaPasta referenced this in commit 9d63fc3921 on Apr 15, 2020
  100. PastaPastaPasta referenced this in commit 8f4a739c0e on Apr 15, 2020
  101. PastaPastaPasta referenced this in commit 0274e0881f on Apr 15, 2020
  102. PastaPastaPasta referenced this in commit f0c08c44fe on Apr 15, 2020
  103. PastaPastaPasta referenced this in commit 4290fe8b87 on Apr 15, 2020
  104. PastaPastaPasta referenced this in commit c06e228319 on Apr 15, 2020
  105. PastaPastaPasta referenced this in commit 6f81801f11 on Apr 15, 2020
  106. PastaPastaPasta referenced this in commit c19c6cba52 on Apr 15, 2020
  107. PastaPastaPasta referenced this in commit e43108c80a on Apr 15, 2020
  108. PastaPastaPasta referenced this in commit 7ec22175d0 on Apr 15, 2020
  109. PastaPastaPasta referenced this in commit deaae20f5f on Apr 15, 2020
  110. PastaPastaPasta referenced this in commit bf54771441 on Apr 15, 2020
  111. PastaPastaPasta referenced this in commit 4ef21fd999 on Apr 15, 2020
  112. PastaPastaPasta referenced this in commit 4fb6a8d3d0 on Apr 15, 2020
  113. PastaPastaPasta referenced this in commit 36cbfd6572 on Apr 15, 2020
  114. PastaPastaPasta referenced this in commit ccce128360 on Apr 15, 2020
  115. PastaPastaPasta referenced this in commit 72d5f102bf on Apr 15, 2020
  116. PastaPastaPasta referenced this in commit 919f88ceeb on Apr 15, 2020
  117. PastaPastaPasta referenced this in commit 1f279d3032 on Apr 15, 2020
  118. PastaPastaPasta referenced this in commit c62d1f9910 on Apr 15, 2020
  119. PastaPastaPasta referenced this in commit 5765b6b3db on Apr 15, 2020
  120. PastaPastaPasta referenced this in commit 68868b1d9e on Apr 15, 2020
  121. PastaPastaPasta referenced this in commit b99bba9365 on Apr 15, 2020
  122. PastaPastaPasta referenced this in commit d115d6d6bb on Apr 15, 2020
  123. PastaPastaPasta referenced this in commit baa7b5d137 on Apr 16, 2020
  124. PastaPastaPasta referenced this in commit b7a041fe90 on Apr 16, 2020
  125. PastaPastaPasta referenced this in commit f3739b1fd5 on Apr 16, 2020
  126. PastaPastaPasta referenced this in commit e39229fa51 on Apr 16, 2020
  127. PastaPastaPasta referenced this in commit 4532647d61 on Apr 16, 2020
  128. PastaPastaPasta referenced this in commit 282eab6056 on Apr 16, 2020
  129. PastaPastaPasta referenced this in commit ae1ce5487c on Apr 26, 2020
  130. PastaPastaPasta referenced this in commit 7330d68d6b on Apr 26, 2020
  131. PastaPastaPasta referenced this in commit fb4b489385 on Apr 26, 2020
  132. PastaPastaPasta referenced this in commit 7770a7da95 on Apr 26, 2020
  133. PastaPastaPasta referenced this in commit d6faa9a2de on Apr 26, 2020
  134. PastaPastaPasta referenced this in commit c6758e0f2c on Apr 26, 2020
  135. PastaPastaPasta referenced this in commit 5d3f578b1e on May 10, 2020
  136. PastaPastaPasta referenced this in commit 3b5d2d0334 on May 10, 2020
  137. PastaPastaPasta referenced this in commit 0bcd9f1d53 on May 10, 2020
  138. PastaPastaPasta referenced this in commit 47dab42299 on May 10, 2020
  139. PastaPastaPasta referenced this in commit 45d8d1090d on May 10, 2020
  140. PastaPastaPasta referenced this in commit 0036a7c358 on May 10, 2020
  141. PastaPastaPasta referenced this in commit 00b57aad0d on May 10, 2020
  142. PastaPastaPasta referenced this in commit 6e9454d467 on May 10, 2020
  143. PastaPastaPasta referenced this in commit 010f7e6693 on May 10, 2020
  144. PastaPastaPasta referenced this in commit b1c8875579 on May 10, 2020
  145. PastaPastaPasta referenced this in commit 1cf961182f on May 10, 2020
  146. PastaPastaPasta referenced this in commit b0c1406bee on May 10, 2020
  147. ckti referenced this in commit 2db976ac8b on Mar 28, 2021
  148. ckti referenced this in commit 0a80c1ef3c on Mar 28, 2021
  149. ckti referenced this in commit 2b4ccc7626 on Mar 28, 2021
  150. furszy referenced this in commit dc82c52706 on Aug 27, 2021
  151. furszy referenced this in commit ffddd51f86 on Aug 27, 2021
  152. furszy referenced this in commit 8cc0ebbd08 on Aug 27, 2021
  153. furszy referenced this in commit 4d0fe84365 on Aug 28, 2021
  154. furszy referenced this in commit d7fe695520 on Sep 1, 2021
  155. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-07-03 10:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me