-
Notifications
You must be signed in to change notification settings - Fork 421
Factory Classes
There are a number of factory classes to help create & parse objects.
An example of a globally set dependency is the Network; if not explicitly provided in a function call, the globally set default will be used.
Bitcoin::getMath()
- Returns a Math
instance
Bitcoin::getGenerator()
- Returns a GeneratorPoint
instance
Bitcoin::getEcAdapter()
- Returns an EcAdapterInterface
instance
Bitcoin::getNetwork()
- Returns the default, or explicitly set NetworkInterface
Bitcoin::setNetwork(NetworkInterface $network)
- Sets $network as the default network
BlockFactory::fromHex($data)
- Attempts to parse a block from a hex string or Buffer.
BlockHeaderFactory::fromHex()
- Parse a header from a hex string or Buffer
Private key factory is an instance, which wraps an EcAdapterInterface (optional constructor arg)
PrivateKeyFactory::fromHexCompressed($hexString)
- Parses PrivateKeyInterface
from hex string
PrivateKeyFactory::fromHexUncompressed($hexString)
- Parses PrivateKeyInterface
from hex string
PrivateKeyFactory::fromBufferCompressed($data)
- Parses PrivateKeyInterface
from a Buffer
PrivateKeyFactory::fromBufferUncompressed($data)
- Parses PrivateKeyInterface
from a Buffer
PrivateKeyFactory::generateCompressed(new Random())
- Generates a new compressed private key using the RNG
PrivateKeyFactory::generateUncompressed(new Random())
- Generates a new uncompressed private key using the RNG
PrivateKeyFactory::fromWif($wif)
- Parses a base58 encoded private key.
Public key factory is an instance, which wraps an EcAdapterInterface (optional constructor arg)
PublicKeyFactory::fromHex($data)
- Parses PublicKeyInterface
from hex string or Buffer
HierarchicalKeyFactory is an instance. It can be initialized with a special Base58ExtendedKeySerializer with knowledge about SLIP132 prefixes to work with zpubs/etc
HierarchicalKeyFactory::fromExtended($extendedKey)
- Parses a HierarchicalKey
from a base58 encoded string. Takes an optional second parameter, the Network object containing bip32 network prefixes. Set this explicitly, or override the default with Bitcoin::setNetwork()
HierarchicalKeyFactory::generateMasterKey($random)
- Creates a new master HierarchicalKey
. Takes an optional second parameter, the ScriptDataFactory responsible for producing addresses
HierarchicalKeyFactory::fromEntropy(Buffer $entropy)
- Creates a master HierarchicalKey
from provided entropy. Takes an optional second parameter, the ScriptDataFactory responsible for producing addresses
HierarchicalKeyFactory::multisig($scriptDataFactory, ...$extendedKeys)
- Creates a multisignature HD account from the HD keys
ScriptFactory::fromHex($data)
- Parses ScriptInterface
from hex string or Buffer
ScriptFactory::create([$startScript])
- Returns a ScriptCreator
instance, used to generate scripts.
ScriptFactory::sequence($sequenceArray)
- Generates a script given an array consisting of opcodes and Buffers.
ScriptFactory::scriptPubKey()
- Returns an OutputScriptFactory
instance, used to safely generate output scripts.
ScriptFactory::p2sh()
- Returns an P2shScriptFactory
- an OutputScriptFactory
augmented to return P2shScript
instances.
ScriptFactory::consensus([$flags])
- Returns a ConsensusInterface
used to validate bitcoin scripts.
This class is used for raw script generation. It's methods mutate the script, which is obtained by
calling getScript()
when complete.
ScriptCreator::sequence()
- Adds a list of opcodes and Buffer pushes into the script.
ScriptCreator::op($opName)
- Adds opcode $opName to the script
ScriptCreator::int()
- Adds an integer value-push into the script
ScriptCreator::push(Buffer $buffer)
- Adds a value-push of $buffer into the script
ScriptCreator::concat(ScriptInterface $script)
- Concatenates another ScriptInterface
to $this
ScriptCreator::pushSerializable(SerializableInterface $serializable)
- Adds a value-push of a serializable object into the script
ScriptCreator::pushSerializableArray($serializableArr)
- Adds a vector of serialiable objects
ScriptCreator::getScript()
- Returns a ScriptInterface
of the composed script
This class is intended contains methods to safely generate commonly used output scripts.
OutputScriptFactory::payToPubKey(PublicKeyInterface $publicKey)
- Returns pay-to-pubkey output script for $publicKey.
OutputScriptFactory::payToPubKeyHash(PublicKeyInterface $publicKey)
- Returns pay-to-pubkey-hash script for $publicKey
OutputScriptFactory::payToScriptHash(ScriptInterface $p2shScript)
- Returns a pay-to-script-hash script for $p2shScript
Returns a P2shScript instance, for the payToPubKey, payToPubKeyHash, and multisig cases.
SignatureFactory::fromHex($data)
- Parses a SignatureInterface
from a DER signature
TransactionSignatureFactory::fromHex()
- Parses a TransactionSignatureInterface
given a hex string or Buffer. This is the form with the SigHash byte appended.
TransactionFactory::build()
- Returns a TxBuilder
instance
TransactionFactory::mutate(TransactionInterface $tx)
- Returns a TxMutator
instance, used to mutate transactions.
TransactionFactory::sign(TransactionInterface $tx)
- Returns a Signer
instance, used to sign transactions.