Introduce Credentials support (XLS-70d): (#5103)

Amendment:
    - Credentials

    New Transactions:
    - CredentialCreate
    - CredentialAccept
    - CredentialDelete

    Modified Transactions:
    - DepositPreauth
    - Payment
    - EscrowFinish
    - PaymentChannelClaim
    - AccountDelete

    New Object:
    - Credential

    Modified Object:
    - DepositPreauth

    API updates:
    - ledger_entry
    - account_objects
    - ledger_data
    - deposit_authorized

    Read full spec: https://github.com/XRPLF/XRPL-Standards/tree/master/XLS-0070d-credentials
This commit is contained in:
Olek
2024-11-06 17:05:03 -05:00
committed by tequ
parent c3cc6494dd
commit d8a3e65d78
62 changed files with 5485 additions and 218 deletions

View File

@@ -30,6 +30,7 @@
#include <xrpl/protocol/Serializer.h>
#include <xrpl/protocol/UintTypes.h>
#include <xrpl/protocol/jss.h>
#include <cstdint>
namespace ripple {
@@ -214,6 +215,11 @@ check(uint256 const& key) noexcept
Keylet
depositPreauth(AccountID const& owner, AccountID const& preauthorized) noexcept;
Keylet
depositPreauth(
AccountID const& owner,
std::set<std::pair<AccountID, Slice>> const& authCreds) noexcept;
inline Keylet
depositPreauth(uint256 const& key) noexcept
{
@@ -321,6 +327,18 @@ did(AccountID const& account) noexcept;
Keylet
oracle(AccountID const& account, std::uint32_t const& documentID) noexcept;
Keylet
credential(
AccountID const& subject,
AccountID const& issuer,
Slice const& credType) noexcept;
inline Keylet
credential(uint256 const& key) noexcept
{
return {ltCREDENTIAL, key};
}
Keylet
mptIssuance(std::uint32_t seq, AccountID const& issuer) noexcept;