• keorn's avatar
    Blocks and snapshot compression (#1687) · 02cf4868
    keorn authored
    * new Compressible rlp trait
    
    * new Compressible rlp trait
    
    * make compressed rlp iterable
    
    * make compressed rlp iterable
    
    * invalid rlp slice swapper
    
    * switch compress to swapper, add reverse swapper test case
    
    * add basic account compression test
    
    * add new rlp trait
    
    * new Compressible rlp trait
    
    * make compressed rlp iterable
    
    * invalid rlp slice swapper
    
    * invalid rlp slice swapper
    
    * switch compress to swapper, add reverse swapper test case
    
    * switch compress to swapper, add reverse swapper test case
    
    * add account compress/ decompress test
    
    * make compressor cleaner, use hashmaps for swapper
    
    * improve compression tests
    
    * add a DecompressingDecoder, change Decoder to take refernce
    
    * separate rlp compression related stuff
    
    * new Compressible rlp trait
    
    * new Compressible rlp trait
    
    * new Compressible rlp trait
    
    * make compressed rlp iterable
    
    * make compressed rlp iterable
    
    * make compressed rlp iterable
    
    * invalid rlp slice swapper
    
    * invalid rlp slice swapper
    
    * invalid rlp slice swapper
    
    * switch compress to swapper, add reverse swapper test case
    
    * switch compress to swapper, add reverse swapper test case
    
    * switch compress to swapper, add reverse swapper test case
    
    * add basic account compression test
    
    * add new rlp trait
    
    * add account compress/ decompress test
    
    * make compressor cleaner, use hashmaps for swapper
    
    * improve compression tests
    
    * add a DecompressingDecoder, change Decoder to take refernce
    
    * separate rlp compression related stuff
    
    * DecompressingDecoder test
    
    * initial compressing HashDB wrapper
    
    * remove unused test
    
    * change CompressedDB to struct wrapper with overlay
    
    * simplify compressor
    
    * failed RefCell attempt
    
    * use denote to return reference
    
    * compiled compresseddb
    
    * compressdb test, add overlay emplace
    
    * fix overlay reference count handling
    
    * add immutable compresseddb, make account use hashdb
    
    * simplify using trait objects
    
    * enable hashdb for account
    
    * initial state compression attempt
    
    * wrap state db
    
    * add tests for analyzing db
    
    * add account predicate
    
    * try to compress data fields as rlp too
    
    * remove compression for storage trie
    
    * add a compressing migration
    
    * more compression stats tests
    
    * fix migration import
    
    * nested encoding compression test
    
    * fix decompression, move db stats tests to rlpcompression
    
    * added malformed rlp tests, cover a few edge cases
    
    * new CompressingEncoder struct
    
    * extend migrations to state
    
    * first version working on the whole db
    
    * clean up Compressible impl
    
    * tests cleanup
    
    * add a testing migration
    
    * refactor deep compression using option, add simple compression
    
    * put tests in a module
    
    * fix compressed overlay loading
    
    * simple compression for snapshots
    
    * remove unused DecompressingDecoder
    
    * add a general compressing migration
    
    * add more common rlps to compress
    
    * use static slices for swapper
    
    * add precomputed hashes and invalid rlps
    
    * make decoder private again
    
    * cover more cases with tests
    
    * style
    
    * fix weird indentation
    
    * remove possible panic in payload_info
    
    * make prefix checking safe
    
    * fix db existence check
    
    * remove db dir from test
    
    * pass usize by value [ci skip]
    
    * Improve comment on panic removal.
    
    * add common blocks db rlps
    
    * add compression to blockchain db
    
    * add blocks db migration
    
    * fix the migrations
    
    * remove state compression
    
    * add a separate snapshot swapper
    
    * ability to use different swappers and traversal
    
    * update tests to new interface
    
    * clean up code ordering
    
    * update usage
    
    * fix compilation
    
    * remove unnecessary changes
    
    * move methods to functions to reduce interface
    
    * move test to module
    
    * update common rlps to blocks db
    
    * move tests to tests modules
    
    * remove redundant &
    02cf4868