From fcbda00f8a3847b93c129bda929778ee2b315a99 Mon Sep 17 00:00:00 2001 From: Roman Khimov Date: Fri, 22 Jul 2022 22:18:55 +0300 Subject: [PATCH] blockchainer/services: drop this package It doesn't add any value. --- pkg/core/blockchain.go | 5 ++--- pkg/core/blockchainer/services/notary.go | 8 -------- pkg/core/blockchainer/services/oracle.go | 23 ----------------------- pkg/core/native/designate.go | 5 ++--- pkg/core/native/notary.go | 5 +++++ pkg/core/native/oracle.go | 21 ++++++++++++++++++--- 6 files changed, 27 insertions(+), 40 deletions(-) delete mode 100644 pkg/core/blockchainer/services/notary.go delete mode 100644 pkg/core/blockchainer/services/oracle.go diff --git a/pkg/core/blockchain.go b/pkg/core/blockchain.go index 0ad95d083..4d3ec192a 100644 --- a/pkg/core/blockchain.go +++ b/pkg/core/blockchain.go @@ -16,7 +16,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/config/limits" "github.com/nspcc-dev/neo-go/pkg/core/block" "github.com/nspcc-dev/neo-go/pkg/core/blockchainer" - "github.com/nspcc-dev/neo-go/pkg/core/blockchainer/services" "github.com/nspcc-dev/neo-go/pkg/core/dao" "github.com/nspcc-dev/neo-go/pkg/core/interop" "github.com/nspcc-dev/neo-go/pkg/core/interop/contract" @@ -291,7 +290,7 @@ func NewBlockchain(s storage.Store, cfg config.ProtocolConfiguration, log *zap.L // SetOracle sets oracle module. It doesn't protected by mutex and // must be called before `bc.Run()` to avoid data race. -func (bc *Blockchain) SetOracle(mod services.Oracle) { +func (bc *Blockchain) SetOracle(mod native.OracleService) { orc := bc.contracts.Oracle md, ok := orc.GetMethod(manifest.MethodVerify, -1) if !ok { @@ -305,7 +304,7 @@ func (bc *Blockchain) SetOracle(mod services.Oracle) { // SetNotary sets notary module. It doesn't protected by mutex and // must be called before `bc.Run()` to avoid data race. -func (bc *Blockchain) SetNotary(mod services.Notary) { +func (bc *Blockchain) SetNotary(mod native.NotaryService) { bc.contracts.Designate.NotaryService.Store(mod) } diff --git a/pkg/core/blockchainer/services/notary.go b/pkg/core/blockchainer/services/notary.go deleted file mode 100644 index 76ccd8a7d..000000000 --- a/pkg/core/blockchainer/services/notary.go +++ /dev/null @@ -1,8 +0,0 @@ -package services - -import "github.com/nspcc-dev/neo-go/pkg/crypto/keys" - -// Notary is a Notary module interface. -type Notary interface { - UpdateNotaryNodes(pubs keys.PublicKeys) -} diff --git a/pkg/core/blockchainer/services/oracle.go b/pkg/core/blockchainer/services/oracle.go deleted file mode 100644 index 426e03967..000000000 --- a/pkg/core/blockchainer/services/oracle.go +++ /dev/null @@ -1,23 +0,0 @@ -package services - -import ( - "github.com/nspcc-dev/neo-go/pkg/core/state" - "github.com/nspcc-dev/neo-go/pkg/crypto/keys" - "github.com/nspcc-dev/neo-go/pkg/util" -) - -// Oracle specifies oracle service interface. -type Oracle interface { - // AddRequests processes new requests. - AddRequests(map[uint64]*state.OracleRequest) - // RemoveRequests removes already processed requests. - RemoveRequests([]uint64) - // UpdateOracleNodes updates oracle nodes. - UpdateOracleNodes(keys.PublicKeys) - // UpdateNativeContract updates oracle contract native script and hash. - UpdateNativeContract([]byte, []byte, util.Uint160, int) - // Start runs oracle module. - Start() - // Shutdown shutdowns oracle module. - Shutdown() -} diff --git a/pkg/core/native/designate.go b/pkg/core/native/designate.go index e843031ef..492e8849f 100644 --- a/pkg/core/native/designate.go +++ b/pkg/core/native/designate.go @@ -9,7 +9,6 @@ import ( "sort" "sync/atomic" - "github.com/nspcc-dev/neo-go/pkg/core/blockchainer/services" "github.com/nspcc-dev/neo-go/pkg/core/dao" "github.com/nspcc-dev/neo-go/pkg/core/interop" "github.com/nspcc-dev/neo-go/pkg/core/interop/runtime" @@ -239,11 +238,11 @@ func (s *Designate) updateCachedRoleData(cache *DesignationCache, d *dao.Simple, func (s *Designate) notifyRoleChanged(v *roleData, r noderoles.Role) { switch r { case noderoles.Oracle: - if orc, _ := s.OracleService.Load().(services.Oracle); orc != nil { + if orc, _ := s.OracleService.Load().(OracleService); orc != nil { orc.UpdateOracleNodes(v.nodes.Copy()) } case noderoles.P2PNotary: - if ntr, _ := s.NotaryService.Load().(services.Notary); ntr != nil { + if ntr, _ := s.NotaryService.Load().(NotaryService); ntr != nil { ntr.UpdateNotaryNodes(v.nodes.Copy()) } case noderoles.StateValidator: diff --git a/pkg/core/native/notary.go b/pkg/core/native/notary.go index d965f6310..6943fbf4c 100644 --- a/pkg/core/native/notary.go +++ b/pkg/core/native/notary.go @@ -38,6 +38,11 @@ type NotaryCache struct { notaryServiceFeePerKey int64 } +// NotaryService is a Notary module interface. +type NotaryService interface { + UpdateNotaryNodes(pubs keys.PublicKeys) +} + const ( notaryContractID = -10 // prefixDeposit is a prefix for storing Notary deposits. diff --git a/pkg/core/native/oracle.go b/pkg/core/native/oracle.go index 505a2680c..8f99fd936 100644 --- a/pkg/core/native/oracle.go +++ b/pkg/core/native/oracle.go @@ -9,7 +9,6 @@ import ( "strings" "sync/atomic" - "github.com/nspcc-dev/neo-go/pkg/core/blockchainer/services" "github.com/nspcc-dev/neo-go/pkg/core/dao" "github.com/nspcc-dev/neo-go/pkg/core/interop" "github.com/nspcc-dev/neo-go/pkg/core/interop/contract" @@ -50,6 +49,22 @@ type OracleCache struct { requestPrice int64 } +// OracleService specifies oracle module interface. +type OracleService interface { + // AddRequests processes new requests. + AddRequests(map[uint64]*state.OracleRequest) + // RemoveRequests removes already processed requests. + RemoveRequests([]uint64) + // UpdateOracleNodes updates oracle nodes. + UpdateOracleNodes(keys.PublicKeys) + // UpdateNativeContract updates oracle contract native script and hash. + UpdateNativeContract([]byte, []byte, util.Uint160, int) + // Start runs oracle module. + Start() + // Shutdown shutdowns oracle module. + Shutdown() +} + const ( oracleContractID = -9 maxURLLength = 256 @@ -164,7 +179,7 @@ func (o *Oracle) PostPersist(ic *interop.Context) error { single := big.NewInt(p) var removedIDs []uint64 - orc, _ := o.Module.Load().(services.Oracle) + orc, _ := o.Module.Load().(OracleService) for _, tx := range ic.Block.Transactions { resp := getResponse(tx) if resp == nil { @@ -521,7 +536,7 @@ func (o *Oracle) getConvertibleFromDAO(d *dao.Simple, key []byte, item stackitem // updateCache updates cached Oracle values if they've been changed. func (o *Oracle) updateCache(d *dao.Simple) error { - orc, _ := o.Module.Load().(services.Oracle) + orc, _ := o.Module.Load().(OracleService) if orc == nil { return nil }