Struct read_write_set::ReadWriteSetAnalysis
source · pub struct ReadWriteSetAnalysis { /* private fields */ }
Implementations§
source§impl ReadWriteSetAnalysis
impl ReadWriteSetAnalysis
sourcepub fn get_summary(
&self,
module: &ModuleId,
fun: &IdentStr
) -> Option<&ReadWriteSetState>
pub fn get_summary( &self, module: &ModuleId, fun: &IdentStr ) -> Option<&ReadWriteSetState>
Return an overapproximation access paths read/written by module
::fun
.
Returns None
if the function or module does not exist.
sourcepub fn get_concretized_summary(
&self,
module: &ModuleId,
fun: &IdentStr,
signers: &[AccountAddress],
actuals: &[Vec<u8>],
type_actuals: &[TypeTag],
blockchain_view: &impl MoveResolver
) -> Result<ConcretizedSecondaryIndexes>
pub fn get_concretized_summary( &self, module: &ModuleId, fun: &IdentStr, signers: &[AccountAddress], actuals: &[Vec<u8>], type_actuals: &[TypeTag], blockchain_view: &impl MoveResolver ) -> Result<ConcretizedSecondaryIndexes>
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
.
sourcepub fn may_have_secondary_indexes(
&self,
module: &ModuleId,
fun: &IdentStr
) -> Result<bool>
pub fn may_have_secondary_indexes( &self, module: &ModuleId, fun: &IdentStr ) -> Result<bool>
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.
sourcepub fn get_keys_written(
&self,
module: &ModuleId,
fun: &IdentStr,
signers: &[AccountAddress],
actuals: &[Vec<u8>],
type_actuals: &[TypeTag],
blockchain_view: &impl MoveResolver
) -> Result<Vec<ResourceKey>>
pub fn get_keys_written( &self, module: &ModuleId, fun: &IdentStr, signers: &[AccountAddress], actuals: &[Vec<u8>], type_actuals: &[TypeTag], blockchain_view: &impl MoveResolver ) -> Result<Vec<ResourceKey>>
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
.
sourcepub fn get_keys_read(
&self,
module: &ModuleId,
fun: &IdentStr,
signers: &[AccountAddress],
actuals: &[Vec<u8>],
type_actuals: &[TypeTag],
blockchain_view: &impl MoveResolver
) -> Result<Vec<ResourceKey>>
pub fn get_keys_read( &self, module: &ModuleId, fun: &IdentStr, signers: &[AccountAddress], actuals: &[Vec<u8>], type_actuals: &[TypeTag], blockchain_view: &impl MoveResolver ) -> Result<Vec<ResourceKey>>
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
.
sourcepub fn get_concretized_keys(
&self,
module: &ModuleId,
fun: &IdentStr,
signers: &[AccountAddress],
actuals: &[Vec<u8>],
type_actuals: &[TypeTag],
blockchain_view: &impl MoveResolver,
is_write: bool
) -> Result<Vec<ResourceKey>>
pub fn get_concretized_keys( &self, module: &ModuleId, fun: &IdentStr, signers: &[AccountAddress], actuals: &[Vec<u8>], type_actuals: &[TypeTag], blockchain_view: &impl MoveResolver, is_write: bool ) -> Result<Vec<ResourceKey>>
Returns an overapproximation of the ResourceKey
’s in global storage that will be accesses
by module::funif called with arguments
signers,
actuals,
type_actualsin state
blockchain_view. If
is_write` is true, only ResourceKey’s written will be returned; otherwise, only
ResourceKey’s read will be returned.
sourcepub fn get_function_env(
&self,
module: &ModuleId,
fun: &IdentStr
) -> Option<FunctionEnv<'_>>
pub fn get_function_env( &self, module: &ModuleId, fun: &IdentStr ) -> Option<FunctionEnv<'_>>
Returns the FunctionEnv for module
::fun
Returns None
if this function does not exist