Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
3 / 3
CRAP
100.00% covered (success)
100.00%
1 / 1
Account
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
3 / 3
4
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
2
 getPublicKey
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getSecretKey
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace Attestto\SolanaPhpSdk;
4
5use Attestto\SolanaPhpSdk\Util\Buffer;
6use Attestto\SolanaPhpSdk\Util\HasPublicKey;
7use Attestto\SolanaPhpSdk\Util\HasSecretKey;
8
9class Account implements HasPublicKey, HasSecretKey
10{
11    protected Keypair $keypair;
12
13    /**
14     * @param  $secretKey
15     */
16    public function __construct($secretKey = null)
17    {
18        if ($secretKey) {
19            $secretKeyString = Buffer::from($secretKey)->toString();
20
21            $this->keypair = Keypair::fromSecretKey($secretKeyString);
22        } else {
23            $this->keypair = Keypair::generate();
24        }
25    }
26
27    /**
28     * @return PublicKey
29     */
30    public function getPublicKey(): PublicKey
31    {
32        return $this->keypair->getPublicKey();
33    }
34
35    /**
36     * @return Buffer
37     */
38    public function getSecretKey(): Buffer
39    {
40        return $this->keypair->getSecretKey();
41    }
42
43
44}