Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
Ensure_Unused_Addresses_Result
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 2
6
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 get_unused_addresses
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2/**
3 * Result object for ensuring unused addresses are available.
4 *
5 * Contains the objects in their final state and a record of the changes.
6 *
7 * @package brianhenryie/bh-wp-bitcoin-gateway
8 */
9
10namespace BrianHenryIE\WP_Bitcoin_Gateway\API\Model\Results;
11
12use BrianHenryIE\WP_Bitcoin_Gateway\API\Model\Wallet\Bitcoin_Address;
13use BrianHenryIE\WP_Bitcoin_Gateway\API\Model\Wallet\Bitcoin_Wallet;
14
15/**
16 * @used-by API::ensure_unused_addresses()
17 */
18readonly class Ensure_Unused_Addresses_Result {
19
20    /**
21     * Constructor
22     *
23     * @param Bitcoin_Wallet    $wallet The wallet that the new addresses were generated for.
24     * @param Bitcoin_Address[] $assumed_existing_unused_addresses Wallet's addresses that were saved as unused.
25     * @param Bitcoin_Address[] $actual_existing_unused_addresses The assumed addresses that were correctly marked as unused.
26     * @param Bitcoin_Address[] $unexpectedly_used_addresses_by_wallet Addresses that had been marked unused but which did have transactions.
27     * @param Bitcoin_Address[] $new_unused_addresses The newly generated unused addresses.
28     */
29    public function __construct(
30        public Bitcoin_Wallet $wallet,
31        public array $assumed_existing_unused_addresses,
32        public array $actual_existing_unused_addresses,
33        public array $unexpectedly_used_addresses_by_wallet,
34        public array $new_unused_addresses,
35    ) {
36    }
37
38    /**
39     * @return Bitcoin_Address[]
40     */
41    public function get_unused_addresses(): array {
42        return array_merge(
43            $this->actual_existing_unused_addresses,
44            $this->new_unused_addresses
45        );
46    }
47}