# give/4.16.9/src/DonationSpam/ServiceProvider.php

GiveWP – Donation Plugin and Fundraising Platform, version 4.16.9. 49 lines.

- Page: https://pluginprobe.com/plugins/give/4.16.9/code/src/DonationSpam/ServiceProvider.php
- Raw: https://pluginprobe.com/plugins/give/4.16.9/raw/src/DonationSpam/ServiceProvider.php
- Modified: 2026-06-24T16:23:26+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/give/4.16.9/code/src/DonationSpam/ServiceProvider.php#L10-L20`.

```php
<?php

namespace Give\DonationSpam;

use Give\DonationSpam\Akismet\Actions\ValidateDonationOnFinalSubmission;
use Give\Helpers\Hooks;
use Give\ServiceProviders\ServiceProvider as ServiceProviderInterface;

/**
 * @since 3.15.0
 */
class ServiceProvider implements ServiceProviderInterface
{
    /**
     * @since 3.15.0
     * @inheritDoc
     */
    public function register(): void
    {
        /**
         * @since 3.15.1 Case filtered value as an array to enforce type.
         * @since 3.15.0
         */
        give()->singleton(EmailAddressWhiteList::class, function () {
            return new EmailAddressWhiteList(
                (array)apply_filters('give_akismet_whitelist_emails', give_akismet_get_whitelisted_emails())
            );
        });
    }

    /**
     * @since 4.16.0 register an invokable action that gates the Akismet check to the final submission
     * @since 3.22.0 updated Akismet validation to use new givewp_donation_form_fields_validated action
     * @since 3.15.0
     *
     * @inheritDoc
     */
    public function boot(): void
    {
        Hooks::addAction(
            'givewp_donation_form_fields_validated',
            ValidateDonationOnFinalSubmission::class,
            '__invoke',
            10,
            2
        );
    }
}

```
