void WalletSerializerV1::load(const Crypto::chacha8_key& key, Common::IInputStream& source) { CryptoNote::BinaryInputStreamSerializer s(source); s.beginObject("wallet"); uint32_t version = loadVersion(source); if (version > SERIALIZATION_VERSION) { throw std::system_error(make_error_code(error::WRONG_VERSION)); } else if (version != 1) { loadWallet(source, key, version); } else { loadWalletV1(source, key); } s.endObject(); }
void WalletSerializer::load(const std::string& password, Common::IInputStream& source) { CryptoNote::BinaryInputStreamSerializer s(source); s.beginObject("wallet"); uint32_t version = loadVersion(source); if (version == SERIALIZATION_VERSION) { loadCurrentVersion(source, password); } else if (version == 1) { loadWalletV1(source, password); } else { throw std::system_error(make_error_code(error::WRONG_VERSION)); } s.endObject(); }