1 | <?php |
||
20 | class Signer |
||
21 | { |
||
22 | /** |
||
23 | * @var EcAdapterInterface |
||
24 | */ |
||
25 | private $ecAdapter; |
||
26 | |||
27 | /** |
||
28 | * @var TransactionInterface |
||
29 | */ |
||
30 | private $tx; |
||
31 | |||
32 | /** |
||
33 | * @var TransactionSignatureSerializer |
||
34 | */ |
||
35 | private $sigSerializer; |
||
36 | |||
37 | /** |
||
38 | * @var PublicKeySerializerInterface |
||
39 | */ |
||
40 | private $pubKeySerializer; |
||
41 | |||
42 | /** |
||
43 | * @var bool |
||
44 | */ |
||
45 | private $tolerateInvalidPublicKey = false; |
||
46 | |||
47 | /** |
||
48 | * @var InputSignerInterface[] |
||
49 | */ |
||
50 | private $signatureCreator = []; |
||
51 | |||
52 | /** |
||
53 | * @var CheckerCreatorBase |
||
54 | */ |
||
55 | private $checkerCreator; |
||
56 | |||
57 | /** |
||
58 | * TxWitnessSigner constructor. |
||
59 | * @param TransactionInterface $tx |
||
60 | * @param EcAdapterInterface $ecAdapter |
||
61 | */ |
||
62 | 61 | public function __construct(TransactionInterface $tx, EcAdapterInterface $ecAdapter = null) |
|
70 | |||
71 | /** |
||
72 | * @param CheckerCreatorBase $checkerCreator |
||
73 | * @return $this |
||
74 | * @throws SignerException |
||
75 | */ |
||
76 | public function setCheckerCreator(CheckerCreatorBase $checkerCreator) |
||
77 | { |
||
78 | if (empty($this->signatureCreator)) { |
||
79 | $this->checkerCreator = $checkerCreator; |
||
80 | return $this; |
||
81 | } |
||
82 | |||
83 | throw new SignerException("Cannot change CheckerCreator after inputs have been parsed"); |
||
84 | } |
||
85 | |||
86 | /** |
||
87 | * @param bool $setting |
||
88 | * @return $this |
||
89 | */ |
||
90 | 1 | public function tolerateInvalidPublicKey($setting) |
|
100 | |||
101 | /** |
||
102 | * @param int $nIn |
||
103 | * @param PrivateKeyInterface $key |
||
104 | * @param TransactionOutputInterface $txOut |
||
105 | * @param SignData $signData |
||
106 | * @param int $sigHashType |
||
107 | * @return $this |
||
108 | */ |
||
109 | 50 | public function sign($nIn, PrivateKeyInterface $key, TransactionOutputInterface $txOut, SignData $signData = null, $sigHashType = SigHash::ALL) |
|
117 | |||
118 | /** |
||
119 | * @param int $nIn |
||
120 | * @param TransactionOutputInterface $txOut |
||
121 | * @param SignData|null $signData |
||
122 | * @return InputSignerInterface |
||
123 | */ |
||
124 | 60 | public function input($nIn, TransactionOutputInterface $txOut, SignData $signData = null) |
|
141 | |||
142 | /** |
||
143 | * @return TransactionInterface |
||
144 | */ |
||
145 | 51 | public function get() |
|
164 | } |
||
165 |