solana/programs
Kristofer Peterson b7a32f01c0
Multi-version snapshot support (#9980)
* Multi-version snapshot support

* rustfmt

* Remove CLI options and runtime support for selection output snapshot version.
Address some clippy complaints.

* Muzzle clippy type complexity warning.

Despite clippy's suggestion, it is not currently possible to create type aliases
for traits and so everything within the 'Box<...>' cannot be type aliased.

This then leaves creating full blown traits, and either implementing
said traits by closure (somehow) or moving the closures into new structs
implementing said traits which seems a bit of a palaver.

Alternatively it is possible to define and use the type alias 'type ResultBox<T> = Result<Box<T>>'
which does seems rather pointless and not a great reduction in complexity but is enough to keep clippy happy.

In the end I simply went with squelching the clippy warning.

* Remove now unused Serialize/Deserialize trait implementations for AccountStorageEntry and AppendVec

* refactor versioned de/serialisers

* rename serde_utils to serde_snapshot

* move call to accounts_db.generate_index() back down to context_accountsdb_from_stream()

* update version 1.1.1 to 1.2.0
remove nested use of serialize_bytes

* cleanups

* Add back measurement of account storage entry serialization.
Remove construction of Vec and HashMap temporaries during serialization.

* consolidate serialisation test cases into serde_snapshot.
clean up leakage of implementation details in serde_snapshot.

* move short term / legacy snapshot code into child module

* add serialize_iter_as_tuple

* preliminary integration of following commit

commit 6d58b73c47294bfb93465d5a83cd2175660b6e6d
Author: Ryo Onodera <ryoqun@gmail.com>
Date:   Wed May 20 14:02:02 2020 +0900

    Confine snapshot 1.1 relic to versioned codepath

* refactored serde_snapshot, rustfmt
legacy accounts_db format now "owns" both leading u64s, legacy bank_rc format has none

* reduce type complexity (clippy)
2020-05-23 02:54:24 +09:00
..
bpf Multi-version snapshot support (#9980) 2020-05-23 02:54:24 +09:00
bpf_loader Support cross-program invocation to native programs (#10136) 2020-05-20 09:24:57 -07:00
btc_spv 9951 clippy errors in the test suite (#10030) 2020-05-15 09:35:43 -07:00
btc_spv_bin Bump clap from 2.33.0 to 2.33.1 (#9978) 2020-05-11 14:32:50 -07:00
budget move builtin programs out of bank (#10132) 2020-05-19 19:45:30 -07:00
config Rename program_id to owner in system instructions (#10069) 2020-05-18 12:55:41 -07:00
exchange move builtin programs out of bank (#10132) 2020-05-19 19:45:30 -07:00
failure Make default programs static (#9717) 2020-04-27 21:05:12 -07:00
librapay Bump thiserror from 1.0.18 to 1.0.19 (#10180) 2020-05-21 23:36:04 -07:00
move_loader Bump thiserror from 1.0.18 to 1.0.19 (#10180) 2020-05-21 23:36:04 -07:00
noop Only build x86_64-unknown-linux-gnu on docs.rs 2020-04-16 19:06:17 -07:00
ownable move builtin programs out of bank (#10132) 2020-05-19 19:45:30 -07:00
stake 9951 clippy errors in the test suite (#10030) 2020-05-15 09:35:43 -07:00
vest move builtin programs out of bank (#10132) 2020-05-19 19:45:30 -07:00
vote 9951 clippy errors in the test suite (#10030) 2020-05-15 09:35:43 -07:00