fix and unit-test

This commit is contained in:
Valentin Balaschenko
2025-12-09 16:02:53 +00:00
parent 5224636794
commit 71e9d78c1b
2 changed files with 15 additions and 1 deletions

View File

@@ -1189,6 +1189,19 @@ class LoanBroker_test : public beast::unit_test::suite
return mpt;
},
CoverClawback);
// MPTIssue:
// MPTCanClawback is set but MPTCanLock is not set
testLoanBroker(
[&](Env& env, Account const& issuer, Account const& alice) -> MPT {
MPTTester mpt{env, issuer, mptInitNoFund};
mpt.create({.flags = tfMPTCanClawback | tfMPTCanTransfer});
env.close();
mpt.authorize({.account = alice});
env.close();
return mpt;
},
CoverClawback);
}
void

View File

@@ -192,7 +192,8 @@ preclaimHelper<MPTIssue>(
if (!sleIssuance)
return tecOBJECT_NOT_FOUND;
if (!sleIssuance->isFlag(lsfMPTCanClawback))
if (!sleIssuance->isFlag(lsfMPTCanClawback) ||
!sleIssuance->isFlag(lsfMPTCanLock))
return tecNO_PERMISSION;
// With all the checking already done, this should be impossible