grin/core/src
Antioch Peverell cc12798d7a
Merkle Proofs (#716)
* family_branch() to recursively call family() up the branch
todo
  - we hit a peak, then we need to get to the root somehow
  - actually get the hashes to build the proof

* wip

* some additional testing around merkle tree branches

* track left/right branch for each sibling as we build the merkle path up

* MerkleProof and basic (incomplete) verify fn

* I think a MerkleProof verifies correctly now
need to test on test case with multiple peaks

* basic pmmr merkle proof working

* MerkleProof now serializable/deserializable

* coinbase maturity via merkle proof basically working

* ser/deser merkle proof into hex in api and wallet.dat

* cleanup

* wip - temporarily saving merkle proofs to the commit index

* assert merkle proof in store matches the rewound version
there are cases where it does not...

* commit

* commit

* can successfully rewind the output PMMR and generate a Merkle proof
need to fix the tests up now
and cleanup the code
and add docs for functions etc.

* core tests passing

* fixup chain tests using merkle proofs

* pool tests working with merkle proofs

* api tests working with merkle proof

* fix the broken comapct block hashing behavior
made nonce for short_ids explicit to help with this

* cleanup and comment as necessary

* cleanup variety of TODOs
2018-03-02 15:47:27 -05:00
..
core Merkle Proofs (#716) 2018-03-02 15:47:27 -05:00
consensus.rs Revert "add block validation consensus rule for block coinbase output" (#691) 2018-02-07 12:23:48 -05:00
genesis.rs [WIP] Difficulty Adjustment Updates (#651) 2018-01-27 07:48:53 +00:00
global.rs [WIP] Abridged sync (#440) 2018-02-09 22:32:16 +00:00
lib.rs ShortId implementation (and CompactBlock) (#637) 2018-01-19 17:43:02 -05:00
macros.rs Aggsig Serialization (#618) 2018-01-15 20:45:26 +00:00
ser.rs Bulletproof messages (#730) 2018-02-27 21:11:55 +00:00