Copyright | No rights reserved |
---|---|
License | MIT |
Maintainer | jprupp@protonmail.ch |
Stability | experimental |
Portability | POSIX |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Synopsis
- newtype TestCoin = TestCoin {}
- arbitraryTxHash :: Gen TxHash
- arbitrarySatoshi :: Network -> Gen TestCoin
- arbitraryOutPoint :: Gen OutPoint
- arbitraryTxOut :: Network -> Ctx -> Gen TxOut
- arbitraryTxIn :: Network -> Ctx -> Gen TxIn
- arbitraryTx :: Network -> Ctx -> Gen Tx
- arbitraryLegacyTx :: Network -> Ctx -> Gen Tx
- arbitraryWitnessTx :: Network -> Ctx -> Gen Tx
- arbitraryWLTx :: Network -> Ctx -> Bool -> Gen Tx
- arbitraryAddrOnlyTx :: Network -> Ctx -> Gen Tx
- arbitraryAddrOnlyTxFull :: Network -> Ctx -> Gen Tx
- arbitraryAddrOnlyTxIn :: Network -> Ctx -> Gen TxIn
- arbitraryAddrOnlyTxInFull :: Network -> Ctx -> Gen TxIn
- arbitraryAddrOnlyTxOut :: Network -> Ctx -> Gen TxOut
- arbitrarySigInput :: Network -> Ctx -> Gen (SigInput, [PrivateKey])
- arbitraryPKSigInput :: Network -> Ctx -> Gen (SigInput, PrivateKey)
- arbitraryPKHashSigInput :: Network -> Ctx -> Gen (SigInput, PrivateKey)
- arbitraryAnyInput :: Network -> Ctx -> Bool -> Gen (SigInput, PrivateKey)
- arbitraryInputStuff :: Network -> Gen (Word64, OutPoint, SigHash)
- arbitraryMSSigInput :: Network -> Ctx -> Gen (SigInput, [PrivateKey])
- arbitrarySHSigInput :: Network -> Ctx -> Gen (SigInput, [PrivateKey])
- arbitraryWPKHSigInput :: Network -> Ctx -> Gen (SigInput, PrivateKey)
- arbitraryWSHSigInput :: Network -> Ctx -> Gen (SigInput, [PrivateKey])
- arbitrarySigningData :: Network -> Ctx -> Gen (Tx, [SigInput], [PrivateKey])
- arbitraryEmptyTx :: Network -> Ctx -> Gen Tx
- arbitraryPartialTxs :: Network -> Ctx -> Gen ([Tx], [(ScriptOutput, Word64, OutPoint, Int, Int)])
- wrapKey :: (SigInput, PrivateKey) -> (SigInput, [PrivateKey])
Documentation
Wrapped coin value for testing.
arbitraryTxHash :: Gen TxHash Source #
Arbitrary transaction hash (for non-existent transaction).
arbitrarySatoshi :: Network -> Gen TestCoin Source #
Arbitrary amount of Satoshi as Word64
(Between 1 and 21e14)
arbitraryTx :: Network -> Ctx -> Gen Tx Source #
Arbitrary transaction. Can be regular or with witnesses.
arbitraryWitnessTx :: Network -> Ctx -> Gen Tx Source #
Arbitrary witness transaction (witness data is fake).
arbitraryAddrOnlyTx :: Network -> Ctx -> Gen Tx Source #
Arbitrary transaction containing only inputs of type SpendPKHash
,
SpendScriptHash
(multisig) and outputs of type PayPKHash
and PaySH
.
Only compressed public keys are used.
arbitraryAddrOnlyTxFull :: Network -> Ctx -> Gen Tx Source #
Like arbitraryAddrOnlyTx
without empty signatures in the inputs.
arbitraryAddrOnlyTxIn :: Network -> Ctx -> Gen TxIn Source #
Arbitrary TxIn that can only be of type SpendPKHash
or SpendScriptHash
(multisig). Only compressed public keys are used.
arbitraryAddrOnlyTxInFull :: Network -> Ctx -> Gen TxIn Source #
like arbitraryAddrOnlyTxIn
with no empty signatures.
arbitrarySigInput :: Network -> Ctx -> Gen (SigInput, [PrivateKey]) Source #
Arbitrary SigInput
with the corresponding private keys used
to generate the ScriptOutput
or RedeemScript
.
arbitraryPKSigInput :: Network -> Ctx -> Gen (SigInput, PrivateKey) Source #
Arbitrary SigInput
with a ScriptOutput
of type PayPK
.
arbitraryPKHashSigInput :: Network -> Ctx -> Gen (SigInput, PrivateKey) Source #
Arbitrary SigInput
with a ScriptOutput
of type PayPKHash
.
arbitraryAnyInput :: Network -> Ctx -> Bool -> Gen (SigInput, PrivateKey) Source #
Arbitrary SigInput
.
arbitraryInputStuff :: Network -> Gen (Word64, OutPoint, SigHash) Source #
Arbitrary value, out point and sighash for an input.
arbitraryMSSigInput :: Network -> Ctx -> Gen (SigInput, [PrivateKey]) Source #
Arbitrary SigInput
with a ScriptOutput
of type PayMulSig
.
arbitrarySHSigInput :: Network -> Ctx -> Gen (SigInput, [PrivateKey]) Source #
Arbitrary SigInput
with ScriptOutput
of type PaySH
and a
RedeemScript
.
arbitraryWPKHSigInput :: Network -> Ctx -> Gen (SigInput, PrivateKey) Source #
arbitraryWSHSigInput :: Network -> Ctx -> Gen (SigInput, [PrivateKey]) Source #
arbitrarySigningData :: Network -> Ctx -> Gen (Tx, [SigInput], [PrivateKey]) Source #
arbitraryPartialTxs :: Network -> Ctx -> Gen ([Tx], [(ScriptOutput, Word64, OutPoint, Int, Int)]) Source #
Arbitrary partially-signed transactions.
wrapKey :: (SigInput, PrivateKey) -> (SigInput, [PrivateKey]) Source #