mirror of
https://github.com/XRPLF/rippled.git
synced 2026-10-11 06:08:02 +00:00
Compare commits
6 Commits
nb-baseuin
...
mvadari/re
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
51c9c663e9 | ||
|
|
d4cec6fabe | ||
|
|
b911bcdba2 | ||
|
|
070d3534a1 | ||
|
|
78633d33fa | ||
|
|
e637027207 |
@@ -4,6 +4,7 @@
|
||||
#include <xrpl/core/ServiceRegistry.h>
|
||||
#include <xrpl/ledger/ApplyView.h>
|
||||
#include <xrpl/ledger/ReadView.h>
|
||||
#include <xrpl/ledger/entries/SignerListEntry.h>
|
||||
#include <xrpl/protocol/AccountID.h>
|
||||
#include <xrpl/protocol/Rules.h>
|
||||
#include <xrpl/protocol/STTx.h>
|
||||
@@ -87,7 +88,7 @@ private:
|
||||
destroySignerList();
|
||||
|
||||
void
|
||||
writeSignersToSLE(SLE::pointer const& ledgerEntry, std::uint32_t flags) const;
|
||||
writeSignersToSLE(SignerListEntryW& ledgerEntry, std::uint32_t flags) const;
|
||||
};
|
||||
|
||||
} // namespace xrpl
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include <xrpl/beast/utility/instrumentation.h>
|
||||
#include <xrpl/ledger/ApplyView.h>
|
||||
#include <xrpl/ledger/ReadView.h>
|
||||
#include <xrpl/ledger/entries/SignerListEntry.h>
|
||||
#include <xrpl/ledger/helpers/AccountRootHelpers.h>
|
||||
#include <xrpl/ledger/helpers/OracleHelpers.h>
|
||||
#include <xrpl/ledger/helpers/ProposalHelpers.h>
|
||||
@@ -230,10 +231,10 @@ isLedgerEntryOwner(ReadView const& view, SLE const& sle, AccountID const& accoun
|
||||
case ltMPTOKEN_ISSUANCE:
|
||||
return sle.getAccountID(sfIssuer) == account;
|
||||
case ltSIGNER_LIST: {
|
||||
auto const signerList = view.read(keylet::signerList(account));
|
||||
SignerListEntryR const signerList(account, view);
|
||||
if (!signerList)
|
||||
return false;
|
||||
return signerList->key() == sle.key();
|
||||
return signerList.key() == sle.key();
|
||||
}
|
||||
case ltCREDENTIAL: {
|
||||
auto const& ownerField = sle.isFlag(lsfAccepted) ? sfSubject : sfIssuer;
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <xrpl/json/to_string.h> // IWYU pragma: keep
|
||||
#include <xrpl/ledger/ApplyView.h>
|
||||
#include <xrpl/ledger/ReadView.h>
|
||||
#include <xrpl/ledger/entries/SignerListEntry.h>
|
||||
#include <xrpl/ledger/helpers/AccountRootHelpers.h>
|
||||
#include <xrpl/ledger/helpers/CredentialHelpers.h>
|
||||
#include <xrpl/ledger/helpers/DelegateHelpers.h>
|
||||
@@ -1056,7 +1057,7 @@ Transactor::checkMultiSign(
|
||||
beast::Journal const j)
|
||||
{
|
||||
// Get id's SignerList and Quorum.
|
||||
STLedgerEntry::const_pointer const sleAccountSigners = view.read(keylet::signerList(id));
|
||||
SignerListEntryR const sleAccountSigners(id, view);
|
||||
// If the signer list doesn't exist the account is not multi-signing.
|
||||
if (!sleAccountSigners)
|
||||
{
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <xrpl/basics/base_uint.h>
|
||||
#include <xrpl/ledger/ApplyView.h>
|
||||
#include <xrpl/ledger/ReadView.h>
|
||||
#include <xrpl/ledger/entries/SignerListEntry.h>
|
||||
#include <xrpl/ledger/helpers/DirectoryHelpers.h>
|
||||
#include <xrpl/protocol/Feature.h>
|
||||
#include <xrpl/protocol/Indexes.h>
|
||||
@@ -312,7 +313,7 @@ AccountSet::doApply()
|
||||
return tecNEED_MASTER_KEY;
|
||||
}
|
||||
|
||||
if ((!sle->isFieldPresent(sfRegularKey)) && (!view().peek(keylet::signerList(accountID_))))
|
||||
if ((!sle->isFieldPresent(sfRegularKey)) && (!SignerListEntryW(accountID_, view())))
|
||||
{
|
||||
// Account has no regular key or multi-signer signer list.
|
||||
return tecNO_ALTERNATIVE_KEY;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include <xrpl/basics/Slice.h>
|
||||
#include <xrpl/beast/utility/Journal.h>
|
||||
#include <xrpl/ledger/ReadView.h>
|
||||
#include <xrpl/ledger/entries/SignerListEntry.h>
|
||||
#include <xrpl/protocol/Indexes.h>
|
||||
#include <xrpl/protocol/LedgerFormats.h>
|
||||
#include <xrpl/protocol/PublicKey.h>
|
||||
@@ -67,7 +68,7 @@ SetRegularKey::doApply()
|
||||
else
|
||||
{
|
||||
// Account has disabled master key and no multi-signer signer list.
|
||||
if (sle->isFlag(lsfDisableMaster) && !view().peek(keylet::signerList(accountID_)))
|
||||
if (sle->isFlag(lsfDisableMaster) && !SignerListEntryW(accountID_, view()))
|
||||
return tecNO_ALTERNATIVE_KEY;
|
||||
|
||||
sle->makeFieldAbsent(sfRegularKey);
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <xrpl/core/ServiceRegistry.h>
|
||||
#include <xrpl/ledger/ApplyView.h>
|
||||
#include <xrpl/ledger/ReadView.h>
|
||||
#include <xrpl/ledger/entries/SignerListEntry.h>
|
||||
#include <xrpl/ledger/helpers/AccountRootHelpers.h>
|
||||
#include <xrpl/ledger/helpers/DirectoryHelpers.h>
|
||||
#include <xrpl/ledger/helpers/SponsorHelpers.h>
|
||||
@@ -28,7 +29,6 @@
|
||||
#include <algorithm>
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <tuple>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
@@ -186,7 +186,7 @@ removeSignersFromLedger(
|
||||
{
|
||||
// We have to examine the current SignerList so we know how much to
|
||||
// reduce the OwnerCount.
|
||||
SLE::pointer const signers = view.peek(signerListKeylet);
|
||||
SignerListEntryW signers(signerListKeylet, view, j);
|
||||
|
||||
// If the signer list doesn't exist we've already succeeded in deleting it.
|
||||
if (!signers)
|
||||
@@ -214,9 +214,13 @@ removeSignersFromLedger(
|
||||
}
|
||||
|
||||
decreaseOwnerCountForObject(
|
||||
view, view.peek(accountKeylet), signers, removeFromOwnerCount, registry.getJournal("View"));
|
||||
view,
|
||||
view.peek(accountKeylet),
|
||||
signers.mutableRawSle(),
|
||||
removeFromOwnerCount,
|
||||
registry.getJournal("View"));
|
||||
|
||||
view.erase(signers);
|
||||
signers.erase();
|
||||
|
||||
return tesSUCCESS;
|
||||
}
|
||||
@@ -329,8 +333,9 @@ SignerListSet::replaceSignerList()
|
||||
return ret;
|
||||
|
||||
// Everything's ducky. Add the ltSIGNER_LIST to the ledger.
|
||||
auto signerList = std::make_shared<SLE>(signerListKeylet);
|
||||
view().insert(signerList);
|
||||
SignerListEntryW signerList(signerListKeylet, view(), j_);
|
||||
signerList.newSLE();
|
||||
signerList.insert();
|
||||
writeSignersToSLE(signerList, flags);
|
||||
|
||||
auto viewJ = ctx_.registry.get().getJournal("View");
|
||||
@@ -349,7 +354,7 @@ SignerListSet::replaceSignerList()
|
||||
// If we succeeded, the new entry counts against the
|
||||
// creator's reserve.
|
||||
increaseOwnerCount(ctx_.getApplyViewContext(), sle, kAddedOwnerCount, viewJ);
|
||||
addSponsorToLedgerEntry(ctx_.getApplyViewContext(), signerList);
|
||||
addSponsorToLedgerEntry(ctx_.getApplyViewContext(), signerList.mutableRawSle());
|
||||
return tesSUCCESS;
|
||||
}
|
||||
|
||||
@@ -373,7 +378,7 @@ SignerListSet::destroySignerList()
|
||||
}
|
||||
|
||||
void
|
||||
SignerListSet::writeSignersToSLE(SLE::pointer const& ledgerEntry, std::uint32_t flags) const
|
||||
SignerListSet::writeSignersToSLE(SignerListEntryW& ledgerEntry, std::uint32_t flags) const
|
||||
{
|
||||
// Assign the quorum, default SignerListID, and flags.
|
||||
if (ctx_.view().rules().enabled(fixIncludeKeyletFields))
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include <xrpl/core/ServiceRegistry.h>
|
||||
#include <xrpl/ledger/ApplyView.h>
|
||||
#include <xrpl/ledger/View.h>
|
||||
#include <xrpl/ledger/entries/SignerListEntry.h>
|
||||
#include <xrpl/ledger/helpers/AccountRootHelpers.h>
|
||||
#include <xrpl/ledger/helpers/DirectoryHelpers.h>
|
||||
#include <xrpl/ledger/helpers/ProposalHelpers.h>
|
||||
@@ -185,7 +186,7 @@ TransactionProposalCreate::preclaim(PreclaimContext const& ctx)
|
||||
if (proposer == account)
|
||||
return true;
|
||||
|
||||
auto const sleSigners = ctx.view.read(keylet::signerList(account));
|
||||
SignerListEntryR const sleSigners(account, ctx.view);
|
||||
if (!sleSigners)
|
||||
return false;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user