mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-05-23 07:16:47 +00:00

* '' * '' * '' * Changes genesis block version to 0. * a * a * All tests are done. * All tests passed for changed block version from int32 to uint16 * Adds validation of rejecting blocks with unknown versions. * Changes txn version from int32 to uint16. * . * Adds comments to exported functions. * Change functions name from ConvertFromRpcScriptPubKeyToRPCScriptPubKey to ConvertFromAppMsgRPCScriptPubKeyToRPCScriptPubKey and from ConvertFromRPCScriptPubKeyToRpcScriptPubKey to ConvertFromRPCScriptPubKeyToAppMsgRPCScriptPubKey * change comment to "ScriptPublicKey represents a Kaspad ScriptPublicKey" * delete part (tx.Version < 0) that cannot be exist on the if statement. * Revert protobuf version. * Fix a comment. * Fix a comment. * Rename a variable. * Rename a variable. * Remove a const. * Rename a type. * Rename a field. * Rename a field. * Remove commented-out code. * Remove dangerous nil case in DomainTransactionOutput.Clone(). * Remove a constant. * Fix a string. * Fix wrong totalScriptPubKeySize in transactionMassStandalonePart. * Remove a constant. * Remove an unused error. * Fix a serialization error. * Specify version types to be uint16 explicitly. * Use constants.ScriptPublicKeyVersion. * Fix a bad test. * Remove some whitespace. * Add a case to utxoEntry.Equal(). * Rename scriptPubKey to scriptPublicKey. * Remove a TODO. * Rename constants. * Rename a variable. * Add version to parseShortForm. Co-authored-by: tal <tal@daglabs.com> Co-authored-by: stasatdaglabs <stas@daglabs.com>
47 lines
1.7 KiB
Go
47 lines
1.7 KiB
Go
package constants
|
|
|
|
import "math"
|
|
|
|
const (
|
|
// MaxBlockVersion represents the current version of blocks mined and the maximum block version
|
|
// this node is able to validate
|
|
MaxBlockVersion uint16 = 0
|
|
|
|
// MaxTransactionVersion is the current latest supported transaction version.
|
|
MaxTransactionVersion uint16 = 0
|
|
|
|
// MaxScriptPublicKeyVersion is the current latest supported public key script version.
|
|
MaxScriptPublicKeyVersion uint16 = 0
|
|
|
|
// SompiPerKaspa is the number of sompi in one kaspa (1 KAS).
|
|
SompiPerKaspa = 100_000_000
|
|
|
|
// MaxSompi is the maximum transaction amount allowed in sompi.
|
|
MaxSompi = 21_000_000 * SompiPerKaspa
|
|
|
|
// MaxTxInSequenceNum is the maximum sequence number the sequence field
|
|
// of a transaction input can be.
|
|
MaxTxInSequenceNum uint64 = math.MaxUint64
|
|
|
|
// SequenceLockTimeDisabled is a flag that if set on a transaction
|
|
// input's sequence number, the sequence number will not be interpreted
|
|
// as a relative locktime.
|
|
SequenceLockTimeDisabled = 1 << 31
|
|
|
|
// SequenceLockTimeIsSeconds is a flag that if set on a transaction
|
|
// input's sequence number, the relative locktime has units of 512
|
|
// seconds.
|
|
SequenceLockTimeIsSeconds = 1 << 22
|
|
|
|
// SequenceLockTimeMask is a mask that extracts the relative locktime
|
|
// when masked against the transaction input sequence number.
|
|
SequenceLockTimeMask = 0x0000ffff
|
|
|
|
// SequenceLockTimeGranularity is the defined time based granularity
|
|
// for milliseconds-based relative time locks. When converting from milliseconds
|
|
// to a sequence number, the value is right shifted by this amount,
|
|
// therefore the granularity of relative time locks in 524288 or 2^19
|
|
// seconds. Enforced relative lock times are multiples of 524288 milliseconds.
|
|
SequenceLockTimeGranularity = 19
|
|
)
|