Documentation ¶
Index ¶
- Variables
- func GetAccount[T protocol.Account](sim *Simulator, accountUrl *url.URL) T
- func InitFromSnapshot(t TB, db *database.Database, exec *Executor, filename string)
- func NormalizeEnvelope(t TB, envelope *protocol.Envelope) []*chain.Delivery
- func Query(t TB, db *database.Database, exec *Executor, req query.Request, prove bool) interface{}
- type ExecEntry
- type Simulator
- func (s *Simulator) CreateAccount(account protocol.Account)
- func (s *Simulator) CreateIdentity(identityUrl *url.URL, pubKey ...[]byte)
- func (s *Simulator) CreateKeyBook(bookUrl *url.URL, pubKey ...[]byte)
- func (s *Simulator) CreateKeyPage(bookUrl *url.URL, pubKey ...[]byte)
- func (s *Simulator) CreateLiteTokenAccount(key []byte, token *url.URL, credits, tokens uint64) *url.URL
- func (t Simulator) Errorf(format string, args ...interface{})
- func (s *Simulator) ExecuteBlock(statusChan chan<- *protocol.TransactionStatus)
- func (s *Simulator) ExecuteBlocks(n int)
- func (t Simulator) Fatalf(format string, args ...interface{})
- func (s *Simulator) InitFromGenesis()
- func (s *Simulator) InitFromGenesisWith(values *core.GlobalValues)
- func (s *Simulator) InitFromSnapshot(filename func(string) string)
- func (t Simulator) Logf(format string, args ...interface{})
- func (s *Simulator) MustSubmitAndExecuteBlock(envelopes ...*protocol.Envelope) []*protocol.Envelope
- func (s *Simulator) NewServer() http.Handler
- func (s *Simulator) Partition(id string) *ExecEntry
- func (s *Simulator) PartitionFor(url *url.URL) *ExecEntry
- func (s *Simulator) Query(url *url.URL, req query.Request, prove bool) interface{}
- func (s *Simulator) Router() routing.Router
- func (s *Simulator) SetRouteFor(account *url.URL, partition string)
- func (sim *Simulator) Setup(opts SimulatorOptions)
- func (s *Simulator) Submit(envelopes ...*protocol.Envelope) ([]*protocol.Envelope, error)
- func (s *Simulator) SubmitAndExecuteBlock(envelopes ...*protocol.Envelope) ([]*protocol.TransactionStatus, error)
- func (s *Simulator) UpdateAccount(accountUrl *url.URL, fn func(account protocol.Account))
- func (s *Simulator) WaitForTransaction(statusCheck func(*protocol.TransactionStatus) bool, txnHash []byte, n int) (*protocol.Transaction, *protocol.TransactionStatus, []*url.TxID)
- func (s *Simulator) WaitForTransactionFlow(statusCheck func(*protocol.TransactionStatus) bool, txnHash []byte) ([]*protocol.TransactionStatus, []*protocol.Transaction)
- func (s *Simulator) WaitForTransactions(status func(*protocol.TransactionStatus) bool, envelopes ...*protocol.Envelope) ([]*protocol.TransactionStatus, []*protocol.Transaction)
- type SimulatorOptions
- type TB
Constants ¶
This section is empty.
Variables ¶
View Source
var GenesisTime = time.Date(2022, 7, 1, 0, 0, 0, 0, time.UTC)
Functions ¶
func GetAccount ¶ added in v1.0.0
func InitFromSnapshot ¶ added in v1.0.0
func NormalizeEnvelope ¶
Types ¶
type ExecEntry ¶
type ExecEntry struct { BlockIndex uint64 Partition *config.Partition Database *database.Database Executor *block.Executor API *client.Client Validators [][]byte // SubmitHook can be used to control how envelopes are submitted to the // partition. It is not safe to change SubmitHook concurrently with calls to // Submit. SubmitHook func([]*chain.Delivery) ([]*chain.Delivery, bool) // contains filtered or unexported fields }
func (ExecEntry) Errorf ¶ added in v1.0.0
func (t ExecEntry) Errorf(format string, args ...interface{})
func (ExecEntry) Fatalf ¶ added in v1.0.0
func (t ExecEntry) Fatalf(format string, args ...interface{})
type Simulator ¶
type Simulator struct { Logger log.Logger Partitions []config.Partition Executors map[string]*ExecEntry // contains filtered or unexported fields }
func NewWith ¶ added in v1.0.0
func NewWith(t TB, opts SimulatorOptions) *Simulator
func (*Simulator) CreateAccount ¶
func (*Simulator) CreateIdentity ¶
func (*Simulator) CreateKeyBook ¶
func (*Simulator) CreateKeyPage ¶
func (*Simulator) CreateLiteTokenAccount ¶ added in v1.0.0
func (*Simulator) ExecuteBlock ¶
func (s *Simulator) ExecuteBlock(statusChan chan<- *protocol.TransactionStatus)
ExecuteBlock executes a block after submitting envelopes. If a status channel is provided, statuses will be sent to the channel as transactions are executed. Once the block is complete, the status channel will be closed (if provided).
func (*Simulator) ExecuteBlocks ¶
ExecuteBlocks executes a number of blocks. This is useful for things like waiting for a block to be anchored.
func (*Simulator) InitFromGenesis ¶ added in v1.0.0
func (s *Simulator) InitFromGenesis()
func (*Simulator) InitFromGenesisWith ¶ added in v1.0.0
func (s *Simulator) InitFromGenesisWith(values *core.GlobalValues)
func (*Simulator) InitFromSnapshot ¶ added in v1.0.0
func (*Simulator) MustSubmitAndExecuteBlock ¶
MustSubmitAndExecuteBlock executes a block with the envelopes and fails the test if any envelope fails.
func (*Simulator) PartitionFor ¶ added in v1.0.0
func (*Simulator) Setup ¶ added in v1.0.0
func (sim *Simulator) Setup(opts SimulatorOptions)
func (*Simulator) SubmitAndExecuteBlock ¶
func (s *Simulator) SubmitAndExecuteBlock(envelopes ...*protocol.Envelope) ([]*protocol.TransactionStatus, error)
SubmitAndExecuteBlock executes a block with the envelopes.
func (*Simulator) UpdateAccount ¶
func (*Simulator) WaitForTransaction ¶ added in v1.0.0
func (s *Simulator) WaitForTransaction(statusCheck func(*protocol.TransactionStatus) bool, txnHash []byte, n int) (*protocol.Transaction, *protocol.TransactionStatus, []*url.TxID)
func (*Simulator) WaitForTransactionFlow ¶
func (s *Simulator) WaitForTransactionFlow(statusCheck func(*protocol.TransactionStatus) bool, txnHash []byte) ([]*protocol.TransactionStatus, []*protocol.Transaction)
func (*Simulator) WaitForTransactions ¶
func (s *Simulator) WaitForTransactions(status func(*protocol.TransactionStatus) bool, envelopes ...*protocol.Envelope) ([]*protocol.TransactionStatus, []*protocol.Transaction)
type SimulatorOptions ¶ added in v1.0.0
Click to show internal directories.
Click to hide internal directories.