chainlink-testing-framework icon indicating copy to clipboard operation
chainlink-testing-framework copied to clipboard

[TT-1608] Add Chainlink Image Variations (and lots of linting)

Open kalverra opened this issue 5 months ago • 1 comments

Lots of linting was breaking on precommit hooks. Fixed most of that.

The important bit is the changes to ./tools/citool


Below is a summarization created by an LLM (gpt-4-0125-preview). Be mindful of hallucinations and verify accuracy.

Why

The changes introduce enhancements and fixes to various blockchain-related functionalities, including Ethereum client behaviors, contract interactions, and gas estimations. These modifications aim to improve accuracy, efficiency, and security in handling blockchain transactions and data parsing.

What

  • lib/blockchain/blockchain.go: Improved timestamp handling for EVM headers and modified nonce assignment to prevent potential overflows.
  • lib/blockchain/celo.go: Fixed nonce setting for transaction options in Celo blockchain interactions.
  • lib/blockchain/ethereum.go: Included math library for accurate gas estimation, corrected nonce assignment, and ensured safe Unix timestamp conversion.
  • lib/blockchain/transaction_confirmers.go: Adjusted block number calculations to use safer bigint operations, preventing potential int overflows.
  • lib/client/rpc_suite_test.go and lib/client/rpc_test.go: Updated nonce and block number handling in tests to use bigint, ensuring correctness and safety.
  • lib/config/network.go: Simplified checks for nil slices in network configuration overrides.
  • lib/gauntlet/gauntlet.go: Corrected retry count datatype and improved logging in Gauntlet tool.
  • lib/logstream/logstream.go: Ensured safe calculation and handling of log stream backfill and connection retry logic.
  • lib/utils/seth/seth.go: Adjusted several blockchain utility functions for correct data handling and added checks for potential overflows.
  • seth/block_stats.go, seth/client.go, seth/client_api_test.go, seth/gas.go, seth/gas_adjuster.go, seth/keyfile.go, seth/nonce.go, seth/tracing.go, seth/util.go, and seth/util_test.go: Made various fixes and improvements in Solidity contract interaction, gas estimation, nonce management, and utility functions to enhance performance, safety, and reliability.
  • tools/breakingchanges/cmd/main.go and related files: Updated tooling scripts for handling breaking changes, improving reliability and maintainability of the codebase.

kalverra avatar Sep 19 '24 20:09 kalverra