3#include <test/jtx/Env.h> 
    5#include <xrpld/app/tx/apply.h> 
    7#include <xrpl/basics/StringUtilities.h> 
    8#include <xrpl/protocol/Feature.h> 
   18        testcase(
"Require Fully Canonicial Signature");
 
 
   27            "12000022000000002400000001201B00497D9C6140000000000F6950684000000" 
   28            "00000000C732103767C7B2C13AD90050A4263745E4BAB2B975417FA22E87780E1" 
   29            "506DDAF21139BE74483046022100E95670988A34C4DB0FA73A8BFD6383872AF43" 
   30            "8C147A62BC8387406298C3EADC1022100A7DC80508ED5A4750705C702A81CBF9D" 
   31            "2C2DC3AFEDBED37BBCCD97BC8C40E08F8114E25A26437D923EEF4D6D815DF9336" 
   32            "8B62E6440848314BB85996936E4F595287774684DC2AC6266024BEF";
 
   34        auto ret = 
strUnHex(non_fully_canonical_tx);
 
   42                    featureRequireFullyCanonicalSig);
 
   47                                 no_fully_canonical.
current()->rules(),
 
   52                fail(
"Non-Fully canoncial signature was not permitted");
 
   62                                 fully_canonical.
current()->rules(),
 
   66                fail(
"Non-Fully canoncial signature was permitted");
 
 
 
   73BEAST_DEFINE_TESTSUITE(Apply, tx, 
ripple);
 
void pass()
Record a successful test condition.
 
testcase_t testcase
Memberspace for declaring test cases.
 
void fail(String const &reason, char const *file, int line)
Record a failure.
 
virtual Config & config()=0
 
virtual HashRouter & getHashRouter()=0
 
void testFullyCanonicalSigs()
 
void run() override
Runs the suite.
 
A transaction testing environment.
 
std::shared_ptr< OpenView const > current() const
Returns the current ledger.
 
TER valid(STTx const &tx, ReadView const &view, AccountID const &src, beast::Journal j)
 
FeatureBitset testable_amendments()
 
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
 
std::optional< Blob > strUnHex(std::size_t strSize, Iterator begin, Iterator end)
 
std::enable_if_t< std::is_same< T, char >::value||std::is_same< T, unsigned char >::value, Slice > makeSlice(std::array< T, N > const &a)
 
Validity
Describes the pre-processing validity of a transaction.
 
@ Valid
Signature and local checks are good / passed.
 
std::pair< Validity, std::string > checkValidity(HashRouter &router, STTx const &tx, Rules const &rules, Config const &config)
Checks transaction signature and local checks.