From b60542e9c211098fae186b87e42c8a75563e2d0d Mon Sep 17 00:00:00 2001 From: Wizard1209 Date: Mon, 19 Jan 2026 00:17:08 -0300 Subject: [PATCH] Tallinn protocol support (024) - Add Tallinn protocol hash (PtTALLiNtPec7mE7yY4m3k26J8Qukef3E3ehzhfXgFZKGtDdAXu) - Update LATEST to Tallinn, add to protocol_hashes and protocol_version dicts - Update Docker image to bakingbad/sandboxed-node:v24.0 - Add 024-PtTALLiN-parameters with mainnet/sandbox/test JSON files - Remove adaptive_issuance_vote from block headers for protocol >= 24 (Tallinn removed this field as adaptive issuance is now permanent) - Update Makefile sandbox-params target Co-Authored-By: Claude Opus 4.5 --- Makefile | 2 +- src/pytezos/block/header.py | 4 + .../mainnet-parameters.json | 84 ++++++++++++++++ .../mainnet-with-chain-id-parameters.json | 84 ++++++++++++++++ .../sandbox-parameters.json | 84 ++++++++++++++++ .../test-parameters.json | 96 +++++++++++++++++++ src/pytezos/sandbox/node.py | 2 +- src/pytezos/sandbox/parameters.py | 7 +- 8 files changed, 359 insertions(+), 4 deletions(-) create mode 100644 src/pytezos/sandbox/024-PtTALLiN-parameters/mainnet-parameters.json create mode 100644 src/pytezos/sandbox/024-PtTALLiN-parameters/mainnet-with-chain-id-parameters.json create mode 100644 src/pytezos/sandbox/024-PtTALLiN-parameters/sandbox-parameters.json create mode 100644 src/pytezos/sandbox/024-PtTALLiN-parameters/test-parameters.json diff --git a/Makefile b/Makefile index 5a8fced5..b41a50c0 100644 --- a/Makefile +++ b/Makefile @@ -129,7 +129,7 @@ kernel-docs: ## Build docs for Michelson IPython kernel sandbox-params: docker pull tezos/tezos:master docker create --name temp tezos/tezos:master - docker cp temp:/usr/local/share/tezos/023-PtSeouLo-parameters src/pytezos/sandbox/ + docker cp temp:/usr/local/share/tezos/024-PtTALLiN-parameters src/pytezos/sandbox/ docker rm temp rpc-docs: ## Build docs for Tezos node RPC diff --git a/src/pytezos/block/header.py b/src/pytezos/block/header.py index eb7f52e7..28c1e27b 100644 --- a/src/pytezos/block/header.py +++ b/src/pytezos/block/header.py @@ -156,6 +156,10 @@ def fill(self, timestamp: Optional[int] = None) -> 'BlockHeader': **self.protocol_data, } + # NOTE: Tallinn (024) removed adaptive_issuance_vote from block headers + if protocol_version.get(protocol, 0) >= 24: + protocol_data.pop('adaptive_issuance_vote', None) + if level % int(sandbox_params['blocks_per_commitment']) == 0: protocol_data['seed_nonce_hash'] = base58_encode(b'\x00' * 32, b'nce').decode() diff --git a/src/pytezos/sandbox/024-PtTALLiN-parameters/mainnet-parameters.json b/src/pytezos/sandbox/024-PtTALLiN-parameters/mainnet-parameters.json new file mode 100644 index 00000000..a1c7d1a3 --- /dev/null +++ b/src/pytezos/sandbox/024-PtTALLiN-parameters/mainnet-parameters.json @@ -0,0 +1,84 @@ +{ "bootstrap_accounts": + [ [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav", + "4000000000000" ], + [ "edpktzNbDAUjUk697W7gYg2CRuBQjyPxbEg8dLccYYwKSKvkPvjtV9", + "4000000000000" ], + [ "edpkuTXkJDGcFd5nh6VvMz8phXxU3Bi7h6hqgywNFi1vZTfQNnS1RV", + "4000000000000" ], + [ "edpkuFrRoDSEbJYgxRtLx2ps82UdaYc1WwfS9sE11yhauZt5DgCHbU", + "4000000000000" ], + [ "edpkv8EUUH68jmo3f7Um5PezmfGrRF24gnfLpH3sVNwJnV5bVCxL2n", + "4000000000000" ] ], "consensus_rights_delay": 2, + "blocks_preservation_cycles": 1, "delegate_parameters_activation_delay": 5, + "tolerated_inactivity_period": 2, "blocks_per_cycle": 14400, + "blocks_per_commitment": 112, "nonce_revelation_threshold": 400, + "cycles_per_voting_period": 14, "hard_gas_limit_per_operation": "1040000", + "hard_gas_limit_per_block": "1040000", + "proof_of_work_threshold": "281474976710655", + "minimal_stake": "6000000000", "minimal_frozen_stake": "600000000", + "vdf_difficulty": "2400000000", "origination_size": 257, + "issuance_weights": + { "base_total_issued_per_minute": "80007812", + "baking_reward_fixed_portion_weight": 5120, + "baking_reward_bonus_weight": 5120, "attesting_reward_weight": 10240, + "seed_nonce_revelation_tip_weight": 1, "vdf_revelation_tip_weight": 1, + "dal_rewards_weight": 2275 }, "cost_per_byte": "250", + "hard_storage_limit_per_operation": "60000", "quorum_min": 2000, + "quorum_max": 7000, "min_proposal_quorum": 500, + "liquidity_baking_subsidy": "5000000", + "liquidity_baking_toggle_ema_threshold": 1000000000, + "max_operations_time_to_live": 600, "minimal_block_delay": "6", + "delay_increment_per_round": "3", "consensus_committee_size": 7000, + "consensus_threshold_size": 4667, + "minimal_participation_ratio": { "numerator": 2, "denominator": 3 }, + "limit_of_delegation_over_baking": 9, + "percentage_of_frozen_deposits_slashed_per_double_baking": 500, + "max_slashing_per_block": 10000, + "max_slashing_threshold": { "numerator": 1, "denominator": 3 }, + "cache_script_size": 100000000, "cache_stake_distribution_cycles": 5, + "cache_sampler_state_cycles": 5, + "dal_parametric": + { "feature_enable": true, "incentives_enable": true, + "number_of_slots": 32, "attestation_lag": 8, + "attestation_threshold": 66, + "minimal_participation_ratio": + { "numerator": "16", "denominator": "25" }, + "rewards_ratio": { "numerator": "1", "denominator": "10" }, + "traps_fraction": { "numerator": "1", "denominator": "2000" }, + "redundancy_factor": 8, "page_size": 3967, "slot_size": 126944, + "number_of_shards": 512 }, "smart_rollup_arith_pvm_enable": false, + "smart_rollup_origination_size": 6314, + "smart_rollup_challenge_window_in_blocks": 201600, + "smart_rollup_stake_amount": "10000000000", + "smart_rollup_commitment_period_in_blocks": 150, + "smart_rollup_max_lookahead_in_blocks": 432000, + "smart_rollup_max_active_outbox_levels": 151200, + "smart_rollup_max_outbox_messages_per_level": 100, + "smart_rollup_number_of_sections_in_dissection": 32, + "smart_rollup_timeout_period_in_blocks": 100800, + "smart_rollup_max_number_of_cemented_commitments": 5, + "smart_rollup_max_number_of_parallel_games": 32, + "smart_rollup_reveal_activation_level": + { "raw_data": { "Blake2B": 0 }, "metadata": 0, "dal_page": 1, + "dal_parameters": 1, "dal_attested_slots_validity_lag": 241920 }, + "smart_rollup_private_enable": true, + "smart_rollup_riscv_pvm_enable": false, "zk_rollup_enable": false, + "zk_rollup_origination_size": 4000, "zk_rollup_min_pending_to_process": 10, + "zk_rollup_max_ticket_payload_size": 2048, + "global_limit_of_staking_over_baking": 9, + "edge_of_staking_over_delegation": 3, + "adaptive_rewards_params": + { "issuance_ratio_final_min": { "numerator": "1", "denominator": "400" }, + "issuance_ratio_final_max": { "numerator": "1", "denominator": "10" }, + "issuance_ratio_initial_min": + { "numerator": "9", "denominator": "200" }, + "issuance_ratio_initial_max": + { "numerator": "11", "denominator": "200" }, "initial_period": 10, + "transition_period": 50, "max_bonus": "50000000000000", + "growth_rate": { "numerator": "1", "denominator": "100" }, + "center_dz": { "numerator": "1", "denominator": "2" }, + "radius_dz": { "numerator": "1", "denominator": "50" } }, + "direct_ticket_spending_enable": false, "aggregate_attestation": true, + "allow_tz4_delegate_enable": true, + "all_bakers_attest_activation_threshold": + { "numerator": 1, "denominator": 2 } } \ No newline at end of file diff --git a/src/pytezos/sandbox/024-PtTALLiN-parameters/mainnet-with-chain-id-parameters.json b/src/pytezos/sandbox/024-PtTALLiN-parameters/mainnet-with-chain-id-parameters.json new file mode 100644 index 00000000..c559b2a2 --- /dev/null +++ b/src/pytezos/sandbox/024-PtTALLiN-parameters/mainnet-with-chain-id-parameters.json @@ -0,0 +1,84 @@ +{ "bootstrap_accounts": + [ [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav", + "4000000000000" ], + [ "edpktzNbDAUjUk697W7gYg2CRuBQjyPxbEg8dLccYYwKSKvkPvjtV9", + "4000000000000" ], + [ "edpkuTXkJDGcFd5nh6VvMz8phXxU3Bi7h6hqgywNFi1vZTfQNnS1RV", + "4000000000000" ], + [ "edpkuFrRoDSEbJYgxRtLx2ps82UdaYc1WwfS9sE11yhauZt5DgCHbU", + "4000000000000" ], + [ "edpkv8EUUH68jmo3f7Um5PezmfGrRF24gnfLpH3sVNwJnV5bVCxL2n", + "4000000000000" ] ], "consensus_rights_delay": 2, + "blocks_preservation_cycles": 1, "delegate_parameters_activation_delay": 5, + "tolerated_inactivity_period": 2, "blocks_per_cycle": 14400, + "blocks_per_commitment": 112, "nonce_revelation_threshold": 400, + "cycles_per_voting_period": 14, "hard_gas_limit_per_operation": "1040000", + "hard_gas_limit_per_block": "1040000", + "proof_of_work_threshold": "281474976710655", + "minimal_stake": "6000000000", "minimal_frozen_stake": "600000000", + "vdf_difficulty": "2400000000", "origination_size": 257, + "issuance_weights": + { "base_total_issued_per_minute": "80007812", + "baking_reward_fixed_portion_weight": 5120, + "baking_reward_bonus_weight": 5120, "attesting_reward_weight": 10240, + "seed_nonce_revelation_tip_weight": 1, "vdf_revelation_tip_weight": 1, + "dal_rewards_weight": 2275 }, "cost_per_byte": "250", + "hard_storage_limit_per_operation": "60000", "quorum_min": 2000, + "quorum_max": 7000, "min_proposal_quorum": 500, + "liquidity_baking_subsidy": "5000000", + "liquidity_baking_toggle_ema_threshold": 1000000000, + "max_operations_time_to_live": 600, "minimal_block_delay": "6", + "delay_increment_per_round": "3", "consensus_committee_size": 7000, + "consensus_threshold_size": 4667, + "minimal_participation_ratio": { "numerator": 2, "denominator": 3 }, + "limit_of_delegation_over_baking": 9, + "percentage_of_frozen_deposits_slashed_per_double_baking": 500, + "max_slashing_per_block": 10000, + "max_slashing_threshold": { "numerator": 1, "denominator": 3 }, + "cache_script_size": 100000000, "cache_stake_distribution_cycles": 5, + "cache_sampler_state_cycles": 5, + "dal_parametric": + { "feature_enable": true, "incentives_enable": true, + "number_of_slots": 32, "attestation_lag": 8, + "attestation_threshold": 66, + "minimal_participation_ratio": + { "numerator": "16", "denominator": "25" }, + "rewards_ratio": { "numerator": "1", "denominator": "10" }, + "traps_fraction": { "numerator": "1", "denominator": "2000" }, + "redundancy_factor": 8, "page_size": 3967, "slot_size": 126944, + "number_of_shards": 512 }, "smart_rollup_arith_pvm_enable": false, + "smart_rollup_origination_size": 6314, + "smart_rollup_challenge_window_in_blocks": 201600, + "smart_rollup_stake_amount": "10000000000", + "smart_rollup_commitment_period_in_blocks": 150, + "smart_rollup_max_lookahead_in_blocks": 432000, + "smart_rollup_max_active_outbox_levels": 151200, + "smart_rollup_max_outbox_messages_per_level": 100, + "smart_rollup_number_of_sections_in_dissection": 32, + "smart_rollup_timeout_period_in_blocks": 100800, + "smart_rollup_max_number_of_cemented_commitments": 5, + "smart_rollup_max_number_of_parallel_games": 32, + "smart_rollup_reveal_activation_level": + { "raw_data": { "Blake2B": 0 }, "metadata": 0, "dal_page": 1, + "dal_parameters": 1, "dal_attested_slots_validity_lag": 241920 }, + "smart_rollup_private_enable": true, + "smart_rollup_riscv_pvm_enable": false, "zk_rollup_enable": false, + "zk_rollup_origination_size": 4000, "zk_rollup_min_pending_to_process": 10, + "zk_rollup_max_ticket_payload_size": 2048, + "global_limit_of_staking_over_baking": 9, + "edge_of_staking_over_delegation": 3, + "adaptive_rewards_params": + { "issuance_ratio_final_min": { "numerator": "1", "denominator": "400" }, + "issuance_ratio_final_max": { "numerator": "1", "denominator": "10" }, + "issuance_ratio_initial_min": + { "numerator": "9", "denominator": "200" }, + "issuance_ratio_initial_max": + { "numerator": "11", "denominator": "200" }, "initial_period": 10, + "transition_period": 50, "max_bonus": "50000000000000", + "growth_rate": { "numerator": "1", "denominator": "100" }, + "center_dz": { "numerator": "1", "denominator": "2" }, + "radius_dz": { "numerator": "1", "denominator": "50" } }, + "direct_ticket_spending_enable": false, "aggregate_attestation": true, + "allow_tz4_delegate_enable": true, + "all_bakers_attest_activation_threshold": + { "numerator": 1, "denominator": 2 }, "chain_id": "NetXdQprcVkpaWU" } \ No newline at end of file diff --git a/src/pytezos/sandbox/024-PtTALLiN-parameters/sandbox-parameters.json b/src/pytezos/sandbox/024-PtTALLiN-parameters/sandbox-parameters.json new file mode 100644 index 00000000..19cc9e6a --- /dev/null +++ b/src/pytezos/sandbox/024-PtTALLiN-parameters/sandbox-parameters.json @@ -0,0 +1,84 @@ +{ "bootstrap_accounts": + [ [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav", + "4000000000000" ], + [ "edpktzNbDAUjUk697W7gYg2CRuBQjyPxbEg8dLccYYwKSKvkPvjtV9", + "4000000000000" ], + [ "edpkuTXkJDGcFd5nh6VvMz8phXxU3Bi7h6hqgywNFi1vZTfQNnS1RV", + "4000000000000" ], + [ "edpkuFrRoDSEbJYgxRtLx2ps82UdaYc1WwfS9sE11yhauZt5DgCHbU", + "4000000000000" ], + [ "edpkv8EUUH68jmo3f7Um5PezmfGrRF24gnfLpH3sVNwJnV5bVCxL2n", + "4000000000000" ] ], "consensus_rights_delay": 2, + "blocks_preservation_cycles": 1, "delegate_parameters_activation_delay": 2, + "tolerated_inactivity_period": 2, "blocks_per_cycle": 8, + "blocks_per_commitment": 4, "nonce_revelation_threshold": 4, + "cycles_per_voting_period": 8, "hard_gas_limit_per_operation": "1040000", + "hard_gas_limit_per_block": "1040000", + "proof_of_work_threshold": "4611686018427387903", + "minimal_stake": "6000000000", "minimal_frozen_stake": "600000000", + "vdf_difficulty": "50000", "origination_size": 257, + "issuance_weights": + { "base_total_issued_per_minute": "80007812", + "baking_reward_fixed_portion_weight": 5120, + "baking_reward_bonus_weight": 5120, "attesting_reward_weight": 10240, + "seed_nonce_revelation_tip_weight": 1, "vdf_revelation_tip_weight": 1, + "dal_rewards_weight": 2275 }, "cost_per_byte": "250", + "hard_storage_limit_per_operation": "60000", "quorum_min": 2000, + "quorum_max": 7000, "min_proposal_quorum": 500, + "liquidity_baking_subsidy": "5000000", + "liquidity_baking_toggle_ema_threshold": 1000000000, + "max_operations_time_to_live": 8, "minimal_block_delay": "1", + "delay_increment_per_round": "1", "consensus_committee_size": 256, + "consensus_threshold_size": 0, + "minimal_participation_ratio": { "numerator": 2, "denominator": 3 }, + "limit_of_delegation_over_baking": 19, + "percentage_of_frozen_deposits_slashed_per_double_baking": 500, + "max_slashing_per_block": 10000, + "max_slashing_threshold": { "numerator": 1, "denominator": 3 }, + "cache_script_size": 100000000, "cache_stake_distribution_cycles": 5, + "cache_sampler_state_cycles": 5, + "dal_parametric": + { "feature_enable": true, "incentives_enable": true, + "number_of_slots": 16, "attestation_lag": 8, + "attestation_threshold": 66, + "minimal_participation_ratio": + { "numerator": "16", "denominator": "25" }, + "rewards_ratio": { "numerator": "1", "denominator": "10" }, + "traps_fraction": { "numerator": "1", "denominator": "2000" }, + "redundancy_factor": 8, "page_size": 3967, "slot_size": 126944, + "number_of_shards": 256 }, "smart_rollup_arith_pvm_enable": false, + "smart_rollup_origination_size": 6314, + "smart_rollup_challenge_window_in_blocks": 201600, + "smart_rollup_stake_amount": "10000000000", + "smart_rollup_commitment_period_in_blocks": 150, + "smart_rollup_max_lookahead_in_blocks": 432000, + "smart_rollup_max_active_outbox_levels": 151200, + "smart_rollup_max_outbox_messages_per_level": 100, + "smart_rollup_number_of_sections_in_dissection": 32, + "smart_rollup_timeout_period_in_blocks": 100800, + "smart_rollup_max_number_of_cemented_commitments": 5, + "smart_rollup_max_number_of_parallel_games": 32, + "smart_rollup_reveal_activation_level": + { "raw_data": { "Blake2B": 0 }, "metadata": 0, "dal_page": 1, + "dal_parameters": 1, "dal_attested_slots_validity_lag": 241920 }, + "smart_rollup_private_enable": true, + "smart_rollup_riscv_pvm_enable": false, "zk_rollup_enable": false, + "zk_rollup_origination_size": 4000, "zk_rollup_min_pending_to_process": 10, + "zk_rollup_max_ticket_payload_size": 2048, + "global_limit_of_staking_over_baking": 9, + "edge_of_staking_over_delegation": 3, + "adaptive_rewards_params": + { "issuance_ratio_final_min": { "numerator": "1", "denominator": "400" }, + "issuance_ratio_final_max": { "numerator": "1", "denominator": "10" }, + "issuance_ratio_initial_min": + { "numerator": "9", "denominator": "200" }, + "issuance_ratio_initial_max": + { "numerator": "11", "denominator": "200" }, "initial_period": 10, + "transition_period": 50, "max_bonus": "50000000000000", + "growth_rate": { "numerator": "1", "denominator": "100" }, + "center_dz": { "numerator": "1", "denominator": "2" }, + "radius_dz": { "numerator": "1", "denominator": "50" } }, + "direct_ticket_spending_enable": false, "aggregate_attestation": true, + "allow_tz4_delegate_enable": true, + "all_bakers_attest_activation_threshold": + { "numerator": 1, "denominator": 2 } } \ No newline at end of file diff --git a/src/pytezos/sandbox/024-PtTALLiN-parameters/test-parameters.json b/src/pytezos/sandbox/024-PtTALLiN-parameters/test-parameters.json new file mode 100644 index 00000000..4238ab8a --- /dev/null +++ b/src/pytezos/sandbox/024-PtTALLiN-parameters/test-parameters.json @@ -0,0 +1,96 @@ +{ "bootstrap_accounts": + [ [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav", + "4000000000000" ], + [ "edpktzNbDAUjUk697W7gYg2CRuBQjyPxbEg8dLccYYwKSKvkPvjtV9", + "4000000000000" ], + [ "edpkuTXkJDGcFd5nh6VvMz8phXxU3Bi7h6hqgywNFi1vZTfQNnS1RV", + "4000000000000" ], + [ "edpkuFrRoDSEbJYgxRtLx2ps82UdaYc1WwfS9sE11yhauZt5DgCHbU", + "4000000000000" ], + [ "edpkv8EUUH68jmo3f7Um5PezmfGrRF24gnfLpH3sVNwJnV5bVCxL2n", + "4000000000000" ] ], + "commitments": + [ [ "btz1bRL4X5BWo2Fj4EsBdUwexXqgTf75uf1qa", "23932454669343" ], + [ "btz1SxjV1syBgftgKy721czKi3arVkVwYUFSv", "72954577464032" ], + [ "btz1LtoNCjiW23txBTenALaf5H6NKF1L3c1gw", "217487035428348" ], + [ "btz1SUd3mMhEBcWudrn8u361MVAec4WYCcFoy", "4092742372031" ], + [ "btz1MvBXf4orko1tsGmzkjLbpYSgnwUjEe81r", "17590039016550" ], + [ "btz1LoDZ3zsjgG3k3cqTpUMc9bsXbchu9qMXT", "26322312350555" ], + [ "btz1RMfq456hFV5AeDiZcQuZhoMv2dMpb9hpP", "244951387881443" ], + [ "btz1Y9roTh4A7PsMBkp8AgdVFrqUDNaBE59y1", "80065050465525" ], + [ "btz1Q1N2ePwhVw5ED3aaRVek6EBzYs1GDkSVD", "3569618927693" ], + [ "btz1VFFVsVMYHd5WfaDTAt92BeQYGK8Ri4eLy", "9034781424478" ] ], + "consensus_rights_delay": 2, "blocks_preservation_cycles": 1, + "delegate_parameters_activation_delay": 2, + "tolerated_inactivity_period": 2, "blocks_per_cycle": 8, + "blocks_per_commitment": 4, "nonce_revelation_threshold": 4, + "cycles_per_voting_period": 8, "hard_gas_limit_per_operation": "1040000", + "hard_gas_limit_per_block": "1040000", + "proof_of_work_threshold": "4611686018427387903", + "minimal_stake": "6000000000", "minimal_frozen_stake": "600000000", + "vdf_difficulty": "50000", "origination_size": 257, + "issuance_weights": + { "base_total_issued_per_minute": "80007812", + "baking_reward_fixed_portion_weight": 5120, + "baking_reward_bonus_weight": 5120, "attesting_reward_weight": 10240, + "seed_nonce_revelation_tip_weight": 1, "vdf_revelation_tip_weight": 1, + "dal_rewards_weight": 2275 }, "cost_per_byte": "250", + "hard_storage_limit_per_operation": "60000", "quorum_min": 2000, + "quorum_max": 7000, "min_proposal_quorum": 500, + "liquidity_baking_subsidy": "5000000", + "liquidity_baking_toggle_ema_threshold": 1000000000, + "max_operations_time_to_live": 8, "minimal_block_delay": "1", + "delay_increment_per_round": "1", "consensus_committee_size": 256, + "consensus_threshold_size": 0, + "minimal_participation_ratio": { "numerator": 2, "denominator": 3 }, + "limit_of_delegation_over_baking": 19, + "percentage_of_frozen_deposits_slashed_per_double_baking": 500, + "max_slashing_per_block": 10000, + "max_slashing_threshold": { "numerator": 1, "denominator": 3 }, + "cache_script_size": 100000000, "cache_stake_distribution_cycles": 5, + "cache_sampler_state_cycles": 5, + "dal_parametric": + { "feature_enable": true, "incentives_enable": true, + "number_of_slots": 16, "attestation_lag": 8, + "attestation_threshold": 66, + "minimal_participation_ratio": + { "numerator": "16", "denominator": "25" }, + "rewards_ratio": { "numerator": "1", "denominator": "10" }, + "traps_fraction": { "numerator": "1", "denominator": "2000" }, + "redundancy_factor": 8, "page_size": 3967, "slot_size": 126944, + "number_of_shards": 256 }, "smart_rollup_arith_pvm_enable": false, + "smart_rollup_origination_size": 6314, + "smart_rollup_challenge_window_in_blocks": 201600, + "smart_rollup_stake_amount": "10000000000", + "smart_rollup_commitment_period_in_blocks": 150, + "smart_rollup_max_lookahead_in_blocks": 432000, + "smart_rollup_max_active_outbox_levels": 151200, + "smart_rollup_max_outbox_messages_per_level": 100, + "smart_rollup_number_of_sections_in_dissection": 32, + "smart_rollup_timeout_period_in_blocks": 100800, + "smart_rollup_max_number_of_cemented_commitments": 5, + "smart_rollup_max_number_of_parallel_games": 32, + "smart_rollup_reveal_activation_level": + { "raw_data": { "Blake2B": 0 }, "metadata": 0, "dal_page": 1, + "dal_parameters": 1, "dal_attested_slots_validity_lag": 241920 }, + "smart_rollup_private_enable": true, + "smart_rollup_riscv_pvm_enable": false, "zk_rollup_enable": false, + "zk_rollup_origination_size": 4000, "zk_rollup_min_pending_to_process": 10, + "zk_rollup_max_ticket_payload_size": 2048, + "global_limit_of_staking_over_baking": 9, + "edge_of_staking_over_delegation": 3, + "adaptive_rewards_params": + { "issuance_ratio_final_min": { "numerator": "1", "denominator": "400" }, + "issuance_ratio_final_max": { "numerator": "1", "denominator": "10" }, + "issuance_ratio_initial_min": + { "numerator": "9", "denominator": "200" }, + "issuance_ratio_initial_max": + { "numerator": "11", "denominator": "200" }, "initial_period": 10, + "transition_period": 50, "max_bonus": "50000000000000", + "growth_rate": { "numerator": "1", "denominator": "100" }, + "center_dz": { "numerator": "1", "denominator": "2" }, + "radius_dz": { "numerator": "1", "denominator": "50" } }, + "direct_ticket_spending_enable": false, "aggregate_attestation": true, + "allow_tz4_delegate_enable": true, + "all_bakers_attest_activation_threshold": + { "numerator": 1, "denominator": 2 } } \ No newline at end of file diff --git a/src/pytezos/sandbox/node.py b/src/pytezos/sandbox/node.py index 60f211c6..ecca939f 100644 --- a/src/pytezos/sandbox/node.py +++ b/src/pytezos/sandbox/node.py @@ -21,7 +21,7 @@ from pytezos.sandbox.parameters import LATEST from pytezos.sandbox.parameters import sandbox_addresses -DOCKER_IMAGE = 'bakingbad/sandboxed-node:v23.2' +DOCKER_IMAGE = 'bakingbad/sandboxed-node:v24.0' MAX_ATTEMPTS = 60 ATTEMPT_DELAY = 0.5 TEZOS_NODE_PORT = 8732 diff --git a/src/pytezos/sandbox/parameters.py b/src/pytezos/sandbox/parameters.py index 68e4542f..6b6f595f 100644 --- a/src/pytezos/sandbox/parameters.py +++ b/src/pytezos/sandbox/parameters.py @@ -21,7 +21,8 @@ QUEBEC = 'PsQuebecnLByd3JwTiGadoG4nGWi3HYiLXUjkibeFV8dCFeVMUg' RIO = 'PsRiotumaAMotcRoDWW1bysEhQy2n1M5fy8JgRp8jjRfHGmfeA7' SEOUL = 'PtSeouLouXkxhg39oWzjxDWaCydNfR3RxCUrNe4Q9Ro8BTehcbh' -LATEST = SEOUL +TALLINN = 'PtTALLiNtPec7mE7yY4m3k26J8Qukef3E3ehzhfXgFZKGtDdAXu' +LATEST = TALLINN protocol_hashes = { 'edo': EDO, @@ -40,6 +41,7 @@ 'quebec': QUEBEC, 'rio': RIO, 'seoul': SEOUL, + 'tallinn': TALLINN, } protocol_version = { @@ -59,6 +61,7 @@ QUEBEC: 21, RIO: 22, SEOUL: 23, + TALLINN: 24, } @@ -100,7 +103,7 @@ # NOTE: Run `make sandbox-params` to update this file sandbox_params = json.loads( - Path(__file__).parent.joinpath('023-PtSeouLo-parameters', 'test-parameters.json').read_text() + Path(__file__).parent.joinpath('024-PtTALLiN-parameters', 'test-parameters.json').read_text() )