C# Class BitSharp.Core.Rules.CoreRules

Inheritance: ICoreRules
Show file Open project: pmlyon/BitSharp Class Usage Examples

Public Methods

Method Description
CoreRules ( IChainParams chainParams ) : BitSharp.Common
GetRequiredNextBits ( BitSharp.Core.Domain.Chain chain ) : uint
PostValidateBlock ( BitSharp.Core.Domain.Chain newChain, object finalTally ) : void
PreValidateBlock ( BitSharp.Core.Domain.Chain newChain ) : void
TallyTransaction ( BitSharp.Core.Domain.Chain newChain, ValidatableTx validatableTx, object &runningTally ) : void
ValidateTransaction ( BitSharp.Core.Domain.Chain newChain, ValidatableTx validatableTx ) : void
ValidationTransactionScript ( BitSharp.Core.Domain.Chain newChain, BlockTx tx, BitSharp.Core.Domain.TxInput txInput, int txInputIndex, PrevTxOutput prevTxOutput ) : void

Private Methods

Method Description
CountLegacySigOps ( ImmutableArray script, bool accurate ) : int
CountP2SHSigOps ( ValidatableTx validatableTx ) : int
CountP2SHSigOps ( ValidatableTx validatableTx, int inputIndex ) : int
GetMedianPrevHeaderTime ( BitSharp.Core.Domain.Chain chain, int height ) : DateTimeOffset
GetOp ( ImmutableArray script, int &index, ScriptOp &op ) : bool
GetOp ( ImmutableArray script, int &index, ScriptOp &op, ImmutableArray &data ) : bool
GetOp ( ImmutableArray script, int &index, ScriptOp &op, ImmutableArray &data, bool readData ) : bool
GetPushInt64Script ( long value ) : ImmutableArray
IsFinal ( BitSharp.Core.Domain.Transaction tx, int blockHeight, long blockTime ) : bool
IsFinal ( BitSharp.Core.Domain.TxInput input ) : bool
IsSuperMajority ( int minVersion, BitSharp.Core.Domain.Chain newChain, int requiredCount ) : bool
SerializeScriptValue ( long value ) : byte[]

Method Details

CoreRules() public method

public CoreRules ( IChainParams chainParams ) : BitSharp.Common
chainParams IChainParams
return BitSharp.Common

GetRequiredNextBits() public method

public GetRequiredNextBits ( BitSharp.Core.Domain.Chain chain ) : uint
chain BitSharp.Core.Domain.Chain
return uint

PostValidateBlock() public method

public PostValidateBlock ( BitSharp.Core.Domain.Chain newChain, object finalTally ) : void
newChain BitSharp.Core.Domain.Chain
finalTally object
return void

PreValidateBlock() public method

public PreValidateBlock ( BitSharp.Core.Domain.Chain newChain ) : void
newChain BitSharp.Core.Domain.Chain
return void

TallyTransaction() public method

public TallyTransaction ( BitSharp.Core.Domain.Chain newChain, ValidatableTx validatableTx, object &runningTally ) : void
newChain BitSharp.Core.Domain.Chain
validatableTx BitSharp.Core.Domain.ValidatableTx
runningTally object
return void

ValidateTransaction() public method

public ValidateTransaction ( BitSharp.Core.Domain.Chain newChain, ValidatableTx validatableTx ) : void
newChain BitSharp.Core.Domain.Chain
validatableTx BitSharp.Core.Domain.ValidatableTx
return void

ValidationTransactionScript() public method

public ValidationTransactionScript ( BitSharp.Core.Domain.Chain newChain, BlockTx tx, BitSharp.Core.Domain.TxInput txInput, int txInputIndex, PrevTxOutput prevTxOutput ) : void
newChain BitSharp.Core.Domain.Chain
tx BitSharp.Core.Domain.BlockTx
txInput BitSharp.Core.Domain.TxInput
txInputIndex int
prevTxOutput BitSharp.Core.Domain.PrevTxOutput
return void