File "P2wshScriptDecorator.php"
Full Path: /home/digidjwy/public_html/wp-content/plugins/mycryptocheckout/vendor/bitwasp/bitcoin/src/Key/KeyToScript/Decorator/P2wshScriptDecorator.php
File size: 1.04 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace BitWasp\Bitcoin\Key\KeyToScript\Decorator;
use BitWasp\Bitcoin\Crypto\EcAdapter\Key\KeyInterface;
use BitWasp\Bitcoin\Key\KeyToScript\ScriptAndSignData;
use BitWasp\Bitcoin\Script\ScriptType;
use BitWasp\Bitcoin\Script\WitnessScript;
use BitWasp\Bitcoin\Transaction\Factory\SignData;
class P2wshScriptDecorator extends ScriptHashDecorator
{
/**
* @var array
*/
protected $allowedScriptTypes = [
ScriptType::P2PKH,
ScriptType::P2PK,
];
/**
* @var string
*/
protected $decorateType = ScriptType::P2WSH;
/**
* @param KeyInterface $key
* @return ScriptAndSignData
* @throws \BitWasp\Bitcoin\Exceptions\WitnessScriptException
*/
public function convertKey(KeyInterface $key)
{
$witnessScript = new WitnessScript($this->scriptDataFactory->convertKey($key)->getScriptPubKey());
return new ScriptAndSignData(
$witnessScript->getOutputScript(),
(new SignData())
->p2wsh($witnessScript)
);
}
}