code: func MakeSigner(config *params.ChainConfig, blockNumber *big.Int) Signer {
  	var signer Signer
  	switch {
  	case config.IsEIP155(blockNumber):
  		signer = NewEIP155Signer(config.ChainID)
  	case config.IsHomestead(blockNumber):
  		signer = HomesteadSigner{}
  	default:
  		signer = FrontierSigner{}
  	}
  	return signer
  }
docs: // MakeSigner returns a Signer based on the given chain config and block number.