Conversation
- cross-client state root oracle tests - golden state regression tests - sprint-boundary fork tests Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
…devnet
node-health.bats:
- Use CometBFT RPC (L2_CL_RPC_URL) instead of REST API (L2_CL_API_URL) for
/status endpoint, which returns the nested {result: {node_info, sync_info}}
format the jq selectors expect
- Fix jq catching_up extraction: `false // empty` evaluates to empty in jq
because false is falsy; use `has()` + `tostring` instead
- Remove double http:// prefix when kurtosis port print already returns a URL
span-in-turn.bats:
- Fix producer validator ID field name: .val_id not .id in selected_producers
- Allow Bor block to be before latest span start (Heimdall prepares spans in
advance), only fail when Bor block exceeds span end
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…r heimdall-v2 The /stake/validators endpoint returns "Not Implemented" on heimdall-v2. Replace it with a 3-tier fallback: /stake/validators-set (heimdall-v2), /stake/validators (heimdall-v1), and /bor/spans/latest (span producers). The existing base64 root hash handling and string-to-int field parsing were already correct and validated against a live kurtosis-pos devnet. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add 7 Heimdall test steps (node-health, checkpoint-safety, span-milestone-safety, span-in-turn, bridge-sync, validator-set-safety, validator-state) to the pos-fork-transition job, and 4 resilience test files (blockstm, chain-liveness, consensus-finality, rpc-stability) to the pos-execution-specs job. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The /stake/validators REST endpoint returns "Not Implemented" on heimdall-v2. Switch _get_validators() to read from /bor/spans/latest -> span.validator_set.validators which provides val_id, signer, jailed, voting_power, and proposer_priority fields. Also fix CometBFT /validators call (height=0 is rejected), normalise double http:// in RPC URL from kurtosis, and update jq selectors to prefer voting_power over power and val_id over id. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix Heimdall span endpoint from /bor/span/latest (501) to /bor/spans/latest - Parse Heimdall v2 response under .span key instead of .result - Fix double http:// prefix in second Bor node discovery (kurtosis port print already returns full URL) - Fix teardown failure in rpc-node-stability: bare && short-circuit returned exit 1 when _test_tmpdir was unset Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Replace broken counter/burner contract bytecode with solc 0.8.24 output - Add --gas-limit to contract deployment cast calls (gas estimation fails) - Fix double http:// in cross-node RPC URL discovery (kurtosis port print already returns full URL) - Fund wallet B with 1 ETH in PIP-16 dependency test so B->C transfer succeeds regardless of A->B async timing Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove double http:// prefix in L2_CL_RPC_URL (kurtosis port print already returns a full URL) - Fix REST /status jq path to use flat .latest_block_height instead of .result.sync_info.latest_block_height (Heimdall REST is not CometBFT) - Fix event record ID max comparison to use tonumber (IDs are strings, so lexicographic max gave wrong results e.g. "2" > "10") Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
In bor-2.7.0-vs-bor-2.6.5 mixed-version networks, the chain stalls at block 1023 near a sprint/span boundary. This causes all transaction-sending tests to fail with 'replacement transaction underpriced' because cast send submissions pile up with the same nonce when no blocks are mined. Changes: - Add _fund_ephemeral helper to pos-setup.bash: creates ephemeral wallet and funds it, calling skip on chain stall errors - Add _send_or_skip helper for inline cast send with stall detection - Update 12 test files using cast send in setup() to use _fund_ephemeral - Update 14 fuzz tests creating wallets inline to use _fund_ephemeral - Update RPC conformance tests (7 cast sends) with inline stall handling - Update RPC concurrent tests (2 multi-wallet tests) with stall handling - Update setup_file() in gas-metering and parallel-fork-tests with stall detection flag (_CHAIN_STALLED) checked in per-test setup() - Fix basefee-fork-boundary-validation to filter out disabled forks (FORK_GIUGLIANO=999999999) when computing max fork block - Add stall handling to kzg, pip79, and contract-creation test bodies Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Collaborator
|
@claude review |
leovct
approved these changes
Apr 8, 2026
Signed-off-by: Ji Hwan <jkim@polygon.technology>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Testing
CI seems to be passing: