| 1 |
Ledger::Ledger (create_genesis_t, Config const& config, std::vector<uint256> const& amendments, Family& family) : mImmutable (false), txMap_ (std::make_shared <SHAMap> (SHAMapType::TRANSACTION, family, SHAMap::version{1})), stateMap_ (std::make_shared <SHAMap> (SHAMapType::STATE, family, SHAMap::version{1})), rules_{config.features} { info_.seq = 1; info_.drops = SYSTEM_CURRENCY_START; info_.closeTimeResolution = ledgerDefaultTimeResolution; static auto const id = calcAccountID(generateKeyPair(KeyType::secp256k1, generateSeed("masterpassphrase")).first); auto const sle = std::make_shared<SLE>(keylet::account(id)); sle->setFieldU32 (sfSequence, 1); sle->setAccountID (sfAccount, id); sle->setFieldAmount (sfBalance, info_.drops); rawInsert(sle); if (! amendments.empty()) { auto const sle = std::make_shared<SLE>(keylet::amendments()); sle->setFieldV256 (sfAmendments, STVector256{amendments}); rawInsert(sle); } stateMap_->flushDirty (hotACCOUNT_NODE, info_.seq); setImmutable(config); } |
Комментарии