void SetSignerList::writeSignersToSLE (SLE::pointer const& ledgerEntry) const { // Assign the quorum. ledgerEntry->setFieldU32 (sfSignerQuorum, quorum_); // For now, assign the default SignerListID. ledgerEntry->setFieldU32 (sfSignerListID, defaultSignerListID_); // Create the SignerListArray one SignerEntry at a time. STArray toLedger (signers_.size ()); for (auto const& entry : signers_) { toLedger.emplace_back(sfSignerEntry); STObject& obj = toLedger.back(); obj.reserve (2); obj.setAccountID (sfAccount, entry.account); obj.setFieldU16 (sfSignerWeight, entry.weight); } // Assign the SignerEntries. ledgerEntry->setFieldArray (sfSignerEntries, toLedger); }