20 #include <ripple/basics/contract.h>
21 #include <ripple/conditions/Condition.h>
22 #include <ripple/conditions/Fulfillment.h>
23 #include <ripple/conditions/impl/PreimageSha256.h>
24 #include <ripple/conditions/impl/utils.h>
25 #include <boost/regex.hpp>
30 namespace cryptoconditions {
77 auto p = parsePreamble(s, ec);
82 if (!isPrimitive(p) || !isContextSpecific(p))
105 p = parsePreamble(s, ec);
110 if (!isPrimitive(p) || !isContextSpecific(p))
122 auto cost = parseInteger<std::uint32_t>(s, p.
length, ec);
147 return std::make_unique<Condition>(type, cost, std::move(b));
173 auto const p = parsePreamble(s, ec);
179 if (!isConstructed(p) || !isContextSpecific(p))
185 if (p.length > s.
size())
191 if (s.
size() > maxSerializedCondition)