• Nipunn Koorapati's avatar
    Make the block header struct's internals private (#2000) · 4389742c
    Nipunn Koorapati authored and Arkadiy Paronyan's avatar Arkadiy Paronyan committed
    * Make the block header struct's internals private
    
    Currently, this involves a lot of explicit cloning, but we
    could migrate the return types of the get_* functions to
    be copies rather than references since they are mostly copy
    types anyway.
    
    I opted to eliminate the constructor in favor of using
    Default::default() plus calling a bunch of setters. This
    is similar to the model that a Google Protobuf client uses
    and I think it looks fine.
    
    * Drop some unnecessary cloning by comparing references
    
    * Fix compiler errors from callsites in tests.
    4389742c