diff --git a/pkg/core/blockchain.go b/pkg/core/blockchain.go index d5e090044..3e7984aa7 100644 --- a/pkg/core/blockchain.go +++ b/pkg/core/blockchain.go @@ -3017,12 +3017,7 @@ func (bc *Blockchain) verifyTxWitnesses(t *transaction.Transaction, block *block // verifyHeaderWitnesses is a block-specific implementation of VerifyWitnesses logic. func (bc *Blockchain) verifyHeaderWitnesses(currHeader, prevHeader *block.Header) error { - var hash util.Uint160 - if prevHeader == nil && currHeader.PrevHash.Equals(util.Uint256{}) { - hash = currHeader.Script.ScriptHash() - } else { - hash = prevHeader.NextConsensus - } + hash := prevHeader.NextConsensus _, err := bc.VerifyWitness(hash, currHeader, &currHeader.Script, HeaderVerificationGasLimit) return err } diff --git a/pkg/services/oracle/request.go b/pkg/services/oracle/request.go index 6267f55d0..1607fa56a 100644 --- a/pkg/services/oracle/request.go +++ b/pkg/services/oracle/request.go @@ -157,6 +157,11 @@ func (o *Oracle) processRequest(priv *keys.PrivateKey, req request) error { resp.Code = transaction.Error } case neofs.URIScheme: + if len(o.MainCfg.NeoFS.Nodes) == 0 { + o.Log.Warn("no NeoFS nodes configured", zap.String("url", req.Req.URL)) + resp.Code = transaction.Error + break + } ctx, cancel := context.WithTimeout(context.Background(), o.MainCfg.NeoFS.Timeout) defer cancel() index := (int(req.ID) + incTx.attempts) % len(o.MainCfg.NeoFS.Nodes)