[][src]Module solana_libra_language_e2e_tests::account_universe

A model to test properties of common Libra transactions.

The structs and functions in this module together form a simplified model of how common Libra 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

AccountCurrent

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

AccountPair

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

AccountPairGen

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

AccountPairMut

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

AccountUniverse

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

AccountUniverseGen

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

CreateAccountGen

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

CreateExistingAccountGen

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

P2PTransferGen

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

P2PNewReceiverGen

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

RotateKeyGen

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

Traits

AUTransactionGen

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

Functions

log_balance_strategy

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

txn_one_account_result

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