[#1208] innerring: Fix race condition between handling new epoch and block
Before resetting the timer, ensure the block tick is processed. Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
parent
4770cb8bf6
commit
e8bf18c0b4
5 changed files with 59 additions and 3 deletions
|
@ -341,6 +341,18 @@ func (c *Client) TxHalt(h util.Uint256) (res bool, err error) {
|
|||
return len(aer.Executions) > 0 && aer.Executions[0].VMState.HasFlag(vm.HaltState), nil
|
||||
}
|
||||
|
||||
// TxHeight returns true if transaction has been successfully executed and persisted.
|
||||
func (c *Client) TxHeight(h util.Uint256) (res uint32, err error) {
|
||||
if c.multiClient != nil {
|
||||
return res, c.multiClient.iterateClients(func(c *Client) error {
|
||||
res, err = c.TxHeight(h)
|
||||
return err
|
||||
})
|
||||
}
|
||||
|
||||
return c.client.GetTransactionHeight(h)
|
||||
}
|
||||
|
||||
// NeoFSAlphabetList returns keys that stored in NeoFS Alphabet role. Main chain
|
||||
// stores alphabet node keys of inner ring there, however side chain stores both
|
||||
// alphabet and non alphabet node keys of inner ring.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue