Completed
Pull Request — master (#12)
by thomas
18:29 queued 51s
created

Message::ping()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 5
ccs 3
cts 3
cp 1
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 3
nc 1
nop 1
crap 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace BitWasp\Trezor\Device;
6
7
use BitWasp\TrezorProto\ButtonAck;
8
use BitWasp\TrezorProto\ClearSession;
9
use BitWasp\TrezorProto\GetAddress;
10
use BitWasp\TrezorProto\GetEntropy;
11
use BitWasp\TrezorProto\GetPublicKey;
12
use BitWasp\TrezorProto\Initialize;
13
use BitWasp\TrezorProto\LoadDevice;
14
use BitWasp\TrezorProto\MessageType;
15
use BitWasp\TrezorProto\PassphraseAck;
16
use BitWasp\TrezorProto\Ping;
17
use BitWasp\TrezorProto\PinMatrixAck;
18
use BitWasp\TrezorProto\SignMessage;
19
use BitWasp\TrezorProto\VerifyMessage;
20
21
class Message extends MessageBase
22
{
23
    public static function getPublicKey(GetPublicKey $getPublicKey): self
24
    {
25
        return new self(
26
            MessageType::MessageType_GetPublicKey(),
27
            $getPublicKey
28
        );
29
    }
30
31
    public static function getAddress(GetAddress $getAddress): self
32 42
    {
33
        return new self(
34 42
            MessageType::MessageType_GetAddress(),
35 42
            $getAddress
36 42
        );
37
    }
38 41
39
    public static function getEntropy(GetEntropy $getEntropy): self
40 41
    {
41
        return new self(
42
            MessageType::MessageType_GetEntropy(),
43 41
            $getEntropy
44
        );
45 41
    }
46
47
    public static function pinMatrixAck(PinMatrixAck $pinAck): self
48 5
    {
49
        return new self(
50 5
            MessageType::MessageType_PinMatrixAck(),
51 5
            $pinAck
52 5
        );
53
    }
54
55
    public static function passphraseAck(PassphraseAck $passphraseAck): self
56 7
    {
57
        return new self(
58 7
            MessageType::MessageType_PassphraseAck(),
59 7
            $passphraseAck
60 7
        );
61
    }
62
63
    public static function initialize(Initialize $initialize): self
64 3
    {
65
        return new self(
66 3
            MessageType::MessageType_Initialize(),
67 3
            $initialize
68 3
        );
69
    }
70
71
    public static function buttonAck(ButtonAck $ack): self
72 7
    {
73
        return new self(
74 7
            MessageType::MessageType_ButtonAck(),
75 7
            $ack
76 7
        );
77
    }
78
79
    public static function signMessage(SignMessage $signMessage): self
80 2
    {
81
        return new self(
82 2
            MessageType::MessageType_SignMessage(),
83 2
            $signMessage
84 2
        );
85
    }
86
87
    public static function verifyMessage(VerifyMessage $verifyMsg): self
88 3
    {
89
        return new self(
90 3
            MessageType::MessageType_VerifyMessage(),
91 3
            $verifyMsg
92 3
        );
93
    }
94
95
    public static function ping(Ping $ping): self
96 7
    {
97
        return new self(
98 7
            MessageType::MessageType_Ping(),
99 7
            $ping
100 7
        );
101
    }
102
103
    public static function clearSession(ClearSession $clear): self
104 3
    {
105
        return new self(
106 3
            MessageType::MessageType_ClearSession(),
107 3
            $clear
108 3
        );
109
    }
110
111
    public static function loadDevice(LoadDevice $clear): self
112 3
    {
113
        return new self(
114 3
            MessageType::MessageType_LoadDevice(),
115 3
            $clear
116 3
        );
117
    }
118
}
119