/*
Package neotest contains a framework for automated contract testing.
It can be used to implement unit-tests for contracts in Go using regular Go
conventions.

Usually it's used like this:

  - an instance of the blockchain is created using chain subpackage
  - the target contract is compiled using one of Compile* functions
  - and Executor is created for the blockchain
  - it's used to deploy a contract with DeployContract
  - CommitteeInvoker and/or ValidatorInvoker are then created to perform test invocations
  - if needed, NewAccount is used to create an appropriate number of accounts for the test

Higher-order methods provided in Executor and ContractInvoker hide the details
of transaction creation for the most part, but there are lower-level methods as
well that can be used for specific tasks.
*/
package neotest