FeeFilter   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 6
dl 0
loc 40
ccs 9
cts 9
cp 1
rs 10
c 0
b 0
f 0
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getFeeRate() 0 3 1
A __construct() 0 3 1
A getNetworkCommand() 0 3 1
A getBuffer() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace BitWasp\Bitcoin\Networking\Messages;
6
7
use BitWasp\Bitcoin\Networking\Message;
8
use BitWasp\Bitcoin\Networking\NetworkSerializable;
9
use BitWasp\Bitcoin\Networking\Serializer\Message\FeeFilterSerializer;
10
use BitWasp\Buffertools\BufferInterface;
11
12
class FeeFilter extends NetworkSerializable
13
{
14
    /**
15
     * Fee rate per 1000 bytes
16
     * @var int
17
     */
18
    protected $feeRate;
19
20 3
    /**
21
     * FeeFilter constructor.
22 3
     * @param int $feeRate
23 3
     */
24
    public function __construct(int $feeRate)
25
    {
26
        $this->feeRate = $feeRate;
27
    }
28 3
29
    /**
30 3
     * @return int
31
     */
32
    public function getFeeRate(): int
33
    {
34
        return $this->feeRate;
35
    }
36 3
37
    /**
38 3
     * @return string
39
     * @see https://en.bitcoin.it/wiki/Protocol_documentation#filterload.2C_filteradd.2C_filterclear.2C_merkleblock
40
     */
41
    public function getNetworkCommand(): string
42
    {
43
        return Message::FEEFILTER;
44 3
    }
45
46 3
    /**
47
     * @return \BitWasp\Buffertools\BufferInterface
48
     */
49
    public function getBuffer(): BufferInterface
50
    {
51
        return (new FeeFilterSerializer())->serialize($this);
52
    }
53
}
54