Merge remote-tracking branch 'upstream/ripple/smart-escrow' into xrplf/smart-contracts

This commit is contained in:
Mayukha Vadari
2026-08-10 11:43:13 -04:00
691 changed files with 33001 additions and 23630 deletions

View File

@@ -236,7 +236,7 @@ class Delegate_test : public beast::unit_test::Suite
env(delegate::set(gw, Account("unknown"), {"Payment"}), Ter(tecNO_TARGET));
}
// Delegating to a pseudo-account is not allowed, should return tecNO_PERMISSION
// Delegating to a pseudo-account is not allowed, should return tecPSEUDO_ACCOUNT
{
Vault const vault{env};
auto [tx, keylet] = vault.create({.owner = gw, .asset = xrpIssue()});
@@ -246,7 +246,7 @@ class Delegate_test : public beast::unit_test::Suite
auto const sleVault = env.le(keylet);
BEAST_EXPECT(sleVault);
Account const vaultPseudo{"vault", sleVault->at(sfAccount)};
env(delegate::set(gw, vaultPseudo, {"Payment"}), Ter(tecNO_PERMISSION));
env(delegate::set(gw, vaultPseudo, {"Payment"}), Ter(tecPSEUDO_ACCOUNT));
}
// non-delegable transaction
@@ -2167,11 +2167,12 @@ class Delegate_test : public beast::unit_test::Suite
env(delegate::set(alice, bob, {"MPTokenIssuanceLock"}));
env.close();
// Field is not permitted, permitted fields for delegation is defined in
// permissions.macro.
// tfMPTSetCanLock is a valid MPTokenIssuanceSet flag but is not
// covered by the MPTokenIssuanceLock granular permission, so a
// delegate holding only that permission cannot set it.
mpt.set(
{.account = alice,
.mutableFlags = 2,
.flags = tfMPTSetCanLock,
.delegate = bob,
.err = terNO_DELEGATE_PERMISSION});
@@ -2823,15 +2824,15 @@ class Delegate_test : public beast::unit_test::Suite
auto [createTx, keylet] = vault.create({.owner = alice, .asset = xrpIssue()});
env(createTx);
env(loanBroker::set(alice, keylet.key), delegate::As(bob), Ter(temINVALID));
env(loanBroker::del(alice, keylet.key), delegate::As(bob), Ter(temINVALID));
env(loanBroker::coverDeposit(alice, keylet.key, XRP(1)),
env(loan_broker::set(alice, keylet.key), delegate::As(bob), Ter(temINVALID));
env(loan_broker::del(alice, keylet.key), delegate::As(bob), Ter(temINVALID));
env(loan_broker::coverDeposit(alice, keylet.key, XRP(1)),
delegate::As(bob),
Ter(temINVALID));
env(loanBroker::coverWithdraw(alice, keylet.key, XRP(1)),
env(loan_broker::coverWithdraw(alice, keylet.key, XRP(1)),
delegate::As(bob),
Ter(temINVALID));
env(loanBroker::coverClawback(alice), delegate::As(bob), Ter(temINVALID));
env(loan_broker::coverClawback(alice), delegate::As(bob), Ter(temINVALID));
env(loan::set(alice, keylet.key, Number(100)), delegate::As(bob), Ter(temINVALID));
env(loan::manage(alice, keylet.key, 0), delegate::As(bob), Ter(temINVALID));