grin/api/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
..
client.rs Improved receive error handling 2018-01-06 23:27:21 +00:00
handlers.rs Merkle Proofs (#716) 2018-03-02 15:47:27 -05:00
lib.rs API endpoints to browse blocks (#416) 2017-12-05 18:55:32 +00:00
rest.rs Cleanup HTTP APIs, update ports to avoid gap, rustfmt 2017-10-31 19:42:56 -04:00
types.rs Merkle Proofs (#716) 2018-03-02 15:47:27 -05:00