Add a new method Invariant.full_validation() that accepts the standard inspectors parameter of dry run execution results, but also the new parameter identities which is a sequence of inspectors used to assert equivalence with inspectors
Also allow the pre-existing method Invariant.validates() to accept the identities parameter
Add a new class PredicateKind to better signal which kind of predicate is being supplied to an Invariant
The value PredicateKind.IdenticalPair acts as a sentinel for asserting that two dry-run execution scenarios are identical
Testing
C.I.
Also, C.I. in PyTeal PR #605 provides additional coverage.
Test one teal program against another, with the optionality of using ABI
New functionality
The best place to see the new capabilities is in identical_test.py
Invariant.full_validation()
that accepts the standardinspectors
parameter of dry run execution results, but also the new parameteridentities
which is a sequence of inspectors used to assert equivalence withinspectors
Invariant.validates()
to accept theidentities
parameterPredicateKind
to better signal which kind of predicate is being supplied to anInvariant
PredicateKind.IdenticalPair
acts as a sentinel for asserting that two dry-run execution scenarios are identicalTesting
C.I.
Also, C.I. in PyTeal PR #605 provides additional coverage.