Module language_e2e_tests::account_universe[][src]

Expand description

A model to test properties of common Diem transactions.

The structs and functions in this module together form a simplified model of how common Diem transactions should behave. This model is then used as an oracle for property-based tests – the results of executing transactions through the VM should match the results computed using this model.

For examples of property-based tests written against this model, see the tests/account_universe directory.

Structs

Represents the current state of account in a universe, possibly after its state has been updated by running transactions against the universe.

Mutable references to a pair of distinct accounts picked from a universe.

Allows pairs of accounts to be uniformly randomly selected from an account universe.

A set of accounts that has been set up and can now be used to conduct transactions on.

A set of accounts which can be used to construct an initial state.

Represents a create-account transaction performed in the account universe.

Represents a create-account transaction in the account universe where the destination already exists.

Represents a insufficient balance transaction

Represents a authkey mismatch transaction

Represents a peer-to-peer transaction performed in the account universe.

Represents a rotate-key transaction performed in the account universe.

Represents a sequence number mismatch transaction

Enums

Determines the sampling algorithm used to pick accounts from the universe.

Traits

Represents any sort of transaction that can be done in an account universe.

Functions

A strategy that returns a random transaction.

Verify that the account information in the universe matches the information in the executor.

The number of accounts to run universe-based proptests with. Set with the UNIVERSE_SIZE environment variable.

The number of transactions to run universe-based proptests with. Set with the UNIVERSE_SIZE environment variable (this function will return twice that).

Returns a [Strategy] that provides a variety of balances (or transfer amounts) over a roughly logarithmic distribution.

Run these transactions and make sure that they all cost the same amount of gas.

Run these transactions and verify the expected output.

Computes the result for running a transfer out of one account. Also updates the account to reflect this transaction.