pub struct ReadWriteSetAnalysis<'a, R: ModuleResolver> { /* private fields */ }

Implementations

Create a Aptos transaction read/write set analysis from a generic Move module read/write set analysis and a view of the current blockchain for module fetching and access concretization.

Returns an overapproximation of the ResourceKey’s in global storage that will be written by tx

Returns an overapproximation of the ResourceKey’s in global storage that will be read by tx

Returns an overapproximation of the ResourceKey’s in global storage that will be read by tx. Secondary indexes will be fully resolved by using the global state at self.blockchain_view.

Return value will be a tuple where the first item is the read set and the second item is the write set of this transaction.

Note: this will return both writes performed by the transaction prologue/epilogue and by its embedded payload.

Returns an overapproximation of the ResourceKey’s in global storage that will be read by tx. Only formals and type arguments will be binded and secondary indexes will remain to be unresolved for better speed performance.

Note: this will return both writes performed by the transaction prologue/epilogue and by its embedded payload.

Methods from Deref<Target = NormalizedReadWriteSetAnalysis>

Trim the analysis result by dropping all the results in the trie. This should not affect the correctness for those non secondary index access as all relevant info should be stored in the root node already. Trimming the result will yield a higher inference speed at runtime.

Returns an overapproximation of the ResourceKey’s in global storage that will be written by module::fun if called with arguments signers, actuals, type_actuals in state blockchain_view.

Returns an overapproximation of the ResourceKey’s in global storage that will be read by module::fun if called with arguments signers, actuals, type_actuals in state blockchain_view.

Returns an overapproximation of the ResourceKey’s in global storage that will be accesses by module::funif called with argumentssigners, actuals, type_actualsin stateblockchain_view. If is_write` is true, only ResourceKey’s written will be returned; otherwise, only ResourceKey’s read will be returned.

Returns an overapproximation of the access paths in global storage that will be read/written by module::fun if called with arguments signers, actuals, type_actuals in state blockchain_view.

Returns the access paths in global storage that will be read/written by module::fun if called with arguments signers, actuals, type_actuals. This will be an overapproximation if module::fun contains no secondary indexes; otherwise it is neither an overapproximation nor an underapproximation by module::fun if called with arguments signers, actuals, type_actuals.

We say “partially concretized” because the summary may contain secondary indexes that require reads from the current blockchain state to be concretized. If desired, the caller can concretized them using be resolved or not.

Return true if module::fun may read an address from the blockchain state and subsequently read/write a resource stored at that address. Return false if the function will not do this in any possible concrete execution. Return an error if module::fun does not exist.

Trait Implementations

The resulting type after dereferencing.

Dereferences the value.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more