diff --git a/eth/backend.go b/eth/backend.go index 2d5993277a03f590675bc5336c76bbe127638e3d..694d4c35db32256925275331370ed97ceabf5a58 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -473,6 +473,14 @@ func (s *Ethereum) StartMining(threads int) error { } clique.Authorize(eb, wallet.SignData) } + if bor, ok := s.engine.(*bor.Bor); ok { + wallet, err := s.accountManager.Find(accounts.Account{Address: eb}) + if wallet == nil || err != nil { + log.Error("Etherbase account unavailable locally", "err", err) + return fmt.Errorf("signer missing: %v", err) + } + bor.Authorize(eb, wallet.SignData) + } // If mining is started, we can disable the transaction rejection mechanism // introduced to speed sync times. atomic.StoreUint32(&s.protocolManager.acceptTxs, 1) diff --git a/params/config.go b/params/config.go index d998c94918fda876dac66706c3f4b7768d24a42f..e3924df144b972ac1a3c305a8fd05439e1d8e860 100644 --- a/params/config.go +++ b/params/config.go @@ -371,6 +371,8 @@ func (c *ChainConfig) String() string { engine = c.Ethash case c.Clique != nil: engine = c.Clique + case c.Bor != nil: + engine = c.Bor default: engine = "unknown" } diff --git a/signer/core/signed_data.go b/signer/core/signed_data.go index 19377a521b13ca0369f0d7e014243cc75f6b2416..9811178cc78e8133699bfa216171ce31da066716 100644 --- a/signer/core/signed_data.go +++ b/signer/core/signed_data.go @@ -58,6 +58,10 @@ var ( accounts.MimetypeClique, 0x02, } + ApplicationBor = SigFormat{ + accounts.MimetypeBor, + 0x10, + } TextPlain = SigFormat{ accounts.MimetypeTextPlain, 0x45,