Skip to content

Commit

Permalink
Merge pull request #53 from sacherjj/casper-1.5.3
Browse files Browse the repository at this point in the history
Casper 1.5.3 release
  • Loading branch information
sacherjj authored Oct 6, 2023
2 parents 95d135c + 3ccd3f8 commit 609d783
Show file tree
Hide file tree
Showing 6 changed files with 113 additions and 101 deletions.
2 changes: 1 addition & 1 deletion casper-node_release
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.5.2-86b7013
1.5.3-7aa53e8
24 changes: 24 additions & 0 deletions config/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,30 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
[comment]: <> (Fixed: any bug fixes)
[comment]: <> (Security: in case of vulnerabilities)

## 1.5.3 - 11081
### casper-node 1.5.3-7aa53e8

## Removed
* config-example.toml
* block_synchronizer
* stall_limit

## Added
* chainspec.toml
* deploys
* max_timestamp_leeway
* block_validator
* max_completed_entries
* deploy_acceptor
* timestamp_leeway

## Changed
* Reformating of multiple time based values
* chainspec.toml
* protocol
* version
* activation_point

## 1.5.2 - 10553
### casper-node 1.5.2-86b7013

Expand Down
16 changes: 9 additions & 7 deletions config/chainspec.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[protocol]
# Protocol version.
version = '1.5.2'
version = '1.5.3'
# Whether we need to clear latest blocks back to the switch block just before the activation point or not.
hard_reset = true
# This protocol version becomes active at this point.
Expand All @@ -11,7 +11,7 @@ hard_reset = true
# in contract-runtime for computing genesis post-state hash.
#
# If it is an integer, it represents an era ID, meaning the protocol version becomes active at the start of this era.
activation_point = 10553
activation_point = 11081

[network]
# Human readable name for convenience; the genesis_hash is the true identifier. The name influences the genesis hash by
Expand All @@ -24,12 +24,12 @@ maximum_net_message_size = 25_165_824

[core]
# Era duration.
era_duration = '120min'
era_duration = '120 minutes'
# Minimum number of blocks per era. An era will take longer than `era_duration` if that is necessary to reach the
# minimum height.
minimum_era_height = 20
# Minimum difference between a block's and its child's timestamp.
minimum_block_time = '32768ms'
minimum_block_time = '32768 ms'
# Number of slots available in validator auction.
validator_slots = 100
# A number between 0 and 1 representing the fault tolerance threshold as a fraction, used by the internal finalizer.
Expand All @@ -48,7 +48,7 @@ legacy_required_finality = 'Any'
# you will be a validator in era N + auction_delay + 1.
auction_delay = 1
# The period after genesis during which a genesis validator's bid is locked.
locked_funds_period = '90days'
locked_funds_period = '90 days'
# The period in which genesis validator's bid is released over time after it's unlocked.
vesting_schedule_period = '13 weeks'
# Default number of eras that need to pass to be able to withdraw unbonded funds.
Expand Down Expand Up @@ -83,7 +83,7 @@ max_delegators_per_validator = 1200

[highway]
# Highway dynamically chooses its round length, between minimum_block_time and maximum_round_length.
maximum_round_length = '132seconds'
maximum_round_length = '132 seconds'
# The factor by which rewards for a round are multiplied if the greatest summit has ≤50% quorum, i.e. no finality.
# Expressed as a fraction (1/5 by default).
reduced_reward_multiplier = [1, 5]
Expand All @@ -92,7 +92,7 @@ reduced_reward_multiplier = [1, 5]
# The maximum number of Motes allowed to be spent during payment. 0 means unlimited.
max_payment_cost = '0'
# The duration after the deploy timestamp that it can be included in a block.
max_ttl = '18hours'
max_ttl = '18 hours'
# The maximum number of other deploys a deploy can depend on (require to have been executed before it can execute).
max_dependencies = 10
# Maximum block size in bytes including deploys contained by the block. 0 means unlimited.
Expand All @@ -113,6 +113,8 @@ payment_args_max_length = 1024
session_args_max_length = 1024
# The minimum amount in motes for a valid native transfer.
native_transfer_minimum_motes = 2_500_000_000
# The maximum value to which `deploy_acceptor.timestamp_leeway` can be set in the config.toml file.
max_timestamp_leeway = '5 seconds'

[wasm]
# Amount of free memory (in 64kB pages) each contract can use for stack.
Expand Down
101 changes: 62 additions & 39 deletions config/config-example.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,23 @@
sync_to_genesis = true

# Idle time after which the syncing process is considered stalled.
idle_tolerance = '20min'
idle_tolerance = '20 minutes'

# When the syncing process is considered stalled, it'll be retried up to `max_attempts` times.
max_attempts = 3

# Default delay for the control events that have no dedicated delay requirements.
control_logic_default_delay = '1sec'
control_logic_default_delay = '1 second'

# Flag which forces the node to resync all of the blocks.
force_resync = false

# A timeout for the ShutdownForUpgrade state, after which the node will upgrade even if not all
# conditions are satisfied.
shutdown_for_upgrade_timeout = '2min'
shutdown_for_upgrade_timeout = '2 minutes'

# Maximum time a node will wait for an upgrade to commit.
upgrade_timeout = '30sec'
upgrade_timeout = '30 seconds'


# =================================
Expand Down Expand Up @@ -64,16 +64,16 @@ max_execution_delay = 3
[consensus.zug]

# Request the latest protocol state from a random peer periodically, with this interval.
# '0sec' means it is disabled and we never request the protocol state from a peer.
sync_state_interval = '1sec'
# '0 seconds' means it is disabled and we never request the protocol state from a peer.
sync_state_interval = '1 second'

# Log inactive or faulty validators periodically, with this interval.
# '0sec' means it is disabled and we never print the log message.
log_participation_interval = '1min'
# '0 seconds' means it is disabled and we never print the log message.
log_participation_interval = '1 minute'

# The minimal proposal timeout. Validators wait this long for a proposal to receive a quorum of
# echo messages, before they vote to make the round skippable and move on to the next proposer.
proposal_timeout = '10sec'
proposal_timeout = '10 seconds'

# The additional proposal delay that is still considered fast enough, in percent. This should
# take into account variables like empty vs. full blocks, network traffic etc.
Expand All @@ -88,7 +88,7 @@ proposal_timeout_inertia = 10

# The maximum difference between validators' clocks we expect. Incoming proposals whose timestamp
# lies in the future by more than that are rejected.
clock_tolerance = '1sec'
clock_tolerance = '1 second'


# ===========================================
Expand All @@ -97,19 +97,19 @@ clock_tolerance = '1sec'
[consensus.highway]

# The duration for which incoming vertices with missing dependencies should be kept in a queue.
pending_vertex_timeout = '30min'
pending_vertex_timeout = '30 minutes'

# Request the latest protocol state from a random peer periodically, with this interval.
# '0sec' means it is disabled and we never request the protocol state from a peer.
request_state_interval = '20sec'
# '0 seconds' means it is disabled and we never request the protocol state from a peer.
request_state_interval = '20 seconds'

# Log inactive or faulty validators periodically, with this interval.
# '0sec' means it is disabled and we never print the log message.
log_participation_interval = '1min'
# '0 seconds' means it is disabled and we never print the log message.
log_participation_interval = '1 minute'

# Log the synchronizer state periodically, with this interval.
# '0sec' means it is disabled and we never print the log message.
log_synchronizer_interval = '5sec'
# '0 seconds' means it is disabled and we never print the log message.
log_synchronizer_interval = '5 seconds'

# Log the size of every incoming and outgoing serialized unit.
log_unit_sizes = false
Expand Down Expand Up @@ -174,19 +174,19 @@ known_addresses = ['34.192.231.34:35000','168.119.137.143:35000','46.101.61.107:
min_peers_for_initialization = 3

# The interval between each fresh round of gossiping the node's public address.
gossip_interval = '120sec'
gossip_interval = '120 seconds'

# Initial delay for starting address gossipping after the network starts. This should be slightly
# more than the expected time required for initial connections to complete.
initial_gossip_delay = '5sec'
initial_gossip_delay = '5 seconds'

# How long a connection is allowed to be stuck as pending before it is abandoned.
max_addr_pending_time = '1min'
max_addr_pending_time = '1 minute'

# Maximum time allowed for a connection handshake between two nodes to be completed. Connections
# exceeding this threshold are considered unlikely to be healthy or even malicious and thus
# terminated.
handshake_timeout = '20sec'
handshake_timeout = '20 seconds'

# Maximum number of incoming connections per unique peer allowed. If the limit is hit, additional
# connections will be rejected. A value of `0` means unlimited.
Expand Down Expand Up @@ -216,7 +216,7 @@ max_in_flight_demands = 50
tarpit_version_threshold = '1.2.1'

# How long to hold connections to trapped legacy nodes.
tarpit_duration = '10min'
tarpit_duration = '10 minutes'

# The probability [0.0, 1.0] of this node trapping a legacy node.
#
Expand All @@ -227,7 +227,7 @@ tarpit_duration = '10min'
tarpit_chance = 0.2

# How long peers remain blocked after they get blocklisted.
blocklist_retain_duration = '10min'
blocklist_retain_duration = '10 minutes'

# Identity of a node
#
Expand Down Expand Up @@ -449,20 +449,20 @@ saturation_limit_percent = 80
#
# The longer they are retained, the lower the likelihood of re-gossiping a piece of data. However,
# the longer they are retained, the larger the list of finished entries can grow.
finished_entry_duration = '1min'
finished_entry_duration = '1 minute'

# The timeout duration for a single gossip request, i.e. for a single gossip message
# sent from this node, it will be considered timed out if the expected response from that peer is
# not received within this specified duration.
gossip_request_timeout = '30sec'
gossip_request_timeout = '30 seconds'

# The timeout duration for retrieving the remaining part(s) of newly-discovered data
# from a peer which gossiped information about that data to this node.
get_remainder_timeout = '5sec'
get_remainder_timeout = '5 seconds'

# The timeout duration for a newly-received, gossiped item to be validated and stored by another
# component before the gossiper abandons waiting to gossip the item onwards.
validate_and_store_timeout = '1min'
validate_and_store_timeout = '1 minute'


# ===============================================
Expand All @@ -474,10 +474,10 @@ validate_and_store_timeout = '1min'
attempt_execution_threshold = 3

# Accepted time interval for inactivity in block accumulator.
dead_air_interval = '3min'
dead_air_interval = '3 minutes'

# Time after which the block acceptors are considered old and can be purged.
purge_interval = '1min'
purge_interval = '1 minute'


# ================================================
Expand All @@ -489,20 +489,28 @@ purge_interval = '1min'
max_parallel_trie_fetches = 5000

# Time interval for the node to ask for refreshed peers.
peer_refresh_interval = '90sec'
peer_refresh_interval = '90 seconds'

# Time interval for the node to check what the block synchronizer needs to acquire next.
need_next_interval = '1sec'
need_next_interval = '1 second'

# Time interval for recurring disconnection of dishonest peers.
disconnect_dishonest_peers_interval = '10sec'
disconnect_dishonest_peers_interval = '10 seconds'

# Time interval for resetting the latch in block builders.
latch_reset_interval = '5sec'
latch_reset_interval = '5 seconds'

# Time interval after which synchronization is considered stalled if no successful sync
# activity happened.
stall_limit = '120sec'

# =============================================
# Configuration options for the block validator
# =============================================
[block_validator]

# Maximum number of completed entries to retain.
#
# A higher value can avoid creating needless validation work on an already-validated proposed
# block, but comes at the cost of increased memory consumption.
max_completed_entries = 3


# ==================================
Expand All @@ -513,7 +521,7 @@ stall_limit = '120sec'
# The timeout duration for a single fetcher request, i.e. for a single fetcher message
# sent from this node to another node, it will be considered timed out if the expected response from that peer is
# not received within this specified duration.
get_from_peer_timeout = '10sec'
get_from_peer_timeout = '10 seconds'


# ========================================================
Expand All @@ -539,13 +547,28 @@ max_global_state_size = 2_089_072_132_096
#enable_manual_sync = true


# =============================================
# Configuration options for the deploy acceptor
# =============================================
[deploy_acceptor]

# The leeway allowed when considering whether a deploy is future-dated or not.
#
# To accommodate minor clock drift, deploys whose timestamps are within `timestamp_leeway` in the
# future are still acceptable.
#
# The maximum value to which `timestamp_leeway` can be set is defined by the chainspec setting
# `deploys.max_timestamp_leeway`.
timestamp_leeway = '2 seconds'


# ===========================================
# Configuration options for the deploy buffer
# ===========================================
[deploy_buffer]

# The interval of checking for expired deploys.
expiry_check_interval = '1min'
expiry_check_interval = '1 minute'


# ==============================================
Expand All @@ -571,4 +594,4 @@ socket_umask = 0o077
[upgrade_watcher]

# How often to scan file system for available upgrades.
upgrade_check_interval = '30sec'
upgrade_check_interval = '30 seconds'
19 changes: 2 additions & 17 deletions protocol_versions
Original file line number Diff line number Diff line change
@@ -1,17 +1,2 @@
1_0_0
1_1_0
1_1_2
1_2_0
1_2_1
1_3_2
1_3_4
1_4_1
1_4_3
1_4_4
1_4_5
1_4_6
1_4_8
1_4_9
1_4_13
1_4_15
1_5_2
1_5_2
1_5_3
Loading

0 comments on commit 609d783

Please sign in to comment.