chainlink-testing-framework
chainlink-testing-framework copied to clipboard
[TT-1608] Add Chainlink Image Variations (and lots of linting)
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
andlib/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
, andseth/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.