Skip to content

Commit

Permalink
1.5.5
Browse files Browse the repository at this point in the history
  • Loading branch information
KillianH committed Dec 18, 2023
1 parent 7294b2a commit e82fcbb
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 19 deletions.
2 changes: 1 addition & 1 deletion casper-nctl.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM ubuntu:focal

ARG GITBRANCH=release-1.5.2
ARG GITBRANCH=release-1.5.5

# DEBIAN_FRONTEND required for tzdata dependency install
RUN apt-get update \
Expand Down
79 changes: 61 additions & 18 deletions chainspec.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Protocol version.
version = '1.0.0'
# Whether we need to clear latest blocks back to the switch block just before the activation point or not.
hard_reset = false
hard_reset = true
# This protocol version becomes active at this point.
#
# If it is a timestamp string, it represents the timestamp for the genesis block. This is the beginning of era 0. By
Expand Down Expand Up @@ -43,20 +43,27 @@ start_protocol_version_with_strict_finality_signatures_required = '1.5.0'
# Used to determine finality sufficiency for new joiners syncing blocks created
# in a protocol version before
# `start_protocol_version_with_strict_finality_signatures_required`.
legacy_required_finality = 'Strict'
legacy_required_finality = 'Any'
# Number of eras before an auction actually defines the set of validators. If you bond with a sufficient bid in era N,
# 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 = '0days'
locked_funds_period = '0 days'
# The period in which genesis validator's bid is released over time after it's unlocked.
vesting_schedule_period = '13 weeks'
vesting_schedule_period = '0 weeks'
# Default number of eras that need to pass to be able to withdraw unbonded funds.
unbonding_delay = 7
# Round seigniorage rate represented as a fraction of the total supply.
#
# A rate that makes the rewards roughly 0.05% of the initial stake per block under default NCTL settings.
round_seigniorage_rate = [1, 4_200_000_000_000_000_000]
# Annual issuance: 0.25%
# Minimum round exponent: 14
# Ticks per year: 31536000000
#
# (1+0.0025)^((2^14)/31536000000)-1 is expressed as a fractional number below
# Python:
# from fractions import Fraction
# Fraction((1 + 0.0025)**((2**14)/31536000000) - 1).limit_denominator(1000000000)
round_seigniorage_rate = [1, 770883818]
# Maximum number of associated keys for a single account.
max_associated_keys = 100
# Maximum height of contract runtime call stack.
Expand All @@ -72,40 +79,75 @@ simultaneous_peer_requests = 5
# The consensus protocol to use. Options are "Zug" and "Highway".
consensus_protocol = 'Highway'
# The maximum amount of delegators per validator. if the value is 0, there is no maximum capacity.
max_delegators_per_validator = 0
max_delegators_per_validator = 1200
# Allows peer to peer transfers between users.
#
# Setting this to false makes sense only for private chains.
allow_unrestricted_transfers = true
# Enables the auction entry points 'delegate' and 'add_bid'.
#
# Setting this to false makes sense only for private chains which don't need to auction new validator slots. These
# auction entry points will return an error if called when this option is set to false.
allow_auction_bids = true
# If set to false, then consensus doesn't compute rewards and always uses 0.
compute_rewards = true
# Defines how refunds of the unused portion of payment amounts are calculated and handled.
#
# Valid options are:
# 'refund': this causes excess payment amounts to be sent to either a pre-defined purse, or back to the sender.
# the refunded amount is calculated as the given ratio of the payment amount minus the execution costs.
# 'burn': similar to what refund does; except the refund amount is burned.
refund_handling = { type = 'refund', refund_ratio = [99, 100] }
# Defines how fees are handled.
#
# Valid options are:
# 'pay_to_proposer': fees are paid to the block proposer
# 'accumulate': fees are accumulated in a special purse and distributed at the end of each era evenly among all
# administrator accounts
# 'burn': fees are burned
fee_handling = { type = 'pay_to_proposer' }
# List of public keys of administrator accounts. Setting this option makes only on private chains which require
# administrator accounts for regulatory reasons.
administrators = []

[highway]
# Highway dynamically chooses its round length, between minimum_block_time and maximum_round_length.
maximum_round_length = '525seconds'
maximum_round_length = '66 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]

[highway.performance_meter]
# The number of recent blocks to consider when measuring performance for the purpose of deciding the round length.
blocks_to_consider = 10

[deploys]
# 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.
max_block_size = 10_485_760
max_block_size = 5_242_880
# Maximum deploy size in bytes. Size is of the deploy when serialized via ToBytes.
max_deploy_size = 1_048_576
# The maximum number of non-transfer deploys permitted in a single block.
block_max_deploy_count = 100
block_max_deploy_count = 25
# The maximum number of wasm-less transfer deploys permitted in a single block.
block_max_transfer_count = 1000
block_max_transfer_count = 650
# The maximum number of approvals permitted in a single block.
block_max_approval_count = 2600
# The upper limit of total gas of all deploys in a block.
block_gas_limit = 10_000_000_000_000
block_gas_limit = 4_000_000_000_000
# The limit of length of serialized payment code arguments.
payment_args_max_length = 1024
# The limit of length of serialized session code arguments.
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 Expand Up @@ -156,17 +198,17 @@ loop = 440
if = 440
else = 440
end = 440
br = 440_000
br_if = 440_000
br = 35_000
br_if = 35_000
return = 440
select = 440
call = 140_000
call_indirect = 140_000
call = 68_000
call_indirect = 68_000
drop = 440

[wasm.opcode_costs.control_flow.br_table]
# Fixed cost per `br_table` opcode
cost = 440_000
cost = 35_000
# Size of target labels in the `br_table` opcode will be multiplied by `size_multiplier`
size_multiplier = 100

Expand Down Expand Up @@ -215,6 +257,7 @@ transfer_to_account = { cost = 2_500_000_000, arguments = [0, 0, 0, 0, 0, 0, 0]
update_associated_key = { cost = 4_200, arguments = [0, 0, 0] }
write = { cost = 14_000, arguments = [0, 0, 0, 980] }
write_local = { cost = 9_500, arguments = [0, 1_800, 0, 520] }
enable_contract_version = { cost = 200, arguments = [0, 0, 0, 0] }

[system_costs]
wasmless_transfer_cost = 100_000_000
Expand Down

0 comments on commit e82fcbb

Please sign in to comment.