feat: Account permission support (#2145)

Fixes: #1975.
Also switch to libxrpl 2.5.0-b1. Fixes: #2139, #2140.
This commit is contained in:
Sergey Kuznetsov
2025-05-20 13:40:38 +01:00
committed by GitHub
parent 670eaaa51d
commit b3da9adb03
8 changed files with 198 additions and 4 deletions

View File

@@ -1516,6 +1516,31 @@ createPermissionedDomainObject(
return object;
}
ripple::STObject
createDelegateObject(
std::string_view accountId,
std::string_view authorize,
std::string_view ledgerIndex,
uint64_t ownerNode,
ripple::uint256 previousTxId,
uint32_t previousTxSeq
)
{
ripple::STObject object(ripple::sfLedgerEntry);
object.setFieldH256(ripple::sfLedgerIndex, ripple::uint256(ledgerIndex));
object.setFieldU16(ripple::sfLedgerEntryType, ripple::ltDELEGATE);
object.setAccountID(ripple::sfAccount, getAccountIdWithString(accountId));
object.setAccountID(ripple::sfAuthorize, getAccountIdWithString(authorize));
object.setFieldArray(ripple::sfPermissions, ripple::STArray{});
object.setFieldU64(ripple::sfOwnerNode, ownerNode);
object.setFieldH256(ripple::sfPreviousTxnID, previousTxId);
object.setFieldU32(ripple::sfPreviousTxnLgrSeq, previousTxSeq);
object.setFieldU32(ripple::sfFlags, 0);
return object;
}
ripple::STObject
createOraclePriceData(
uint64_t assetPrice,