-
Notifications
You must be signed in to change notification settings - Fork 2
Developer Environment #147
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
0fa3d38
to
fa63cbc
Compare
d3f94e4
to
e55895f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR sets up a comprehensive developer environment for CCIP TON integration. It establishes a complete testing and development infrastructure with support for both local and CI environments, including blockchain networks, node management, testing suites, and observability tooling.
- Infrastructure setup with TON blockchain and EVM network support
- Development CLI tool for environment management
- Comprehensive testing framework with E2E, load, and chaos testing capabilities
Reviewed Changes
Copilot reviewed 25 out of 27 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
devenv/tools.go | Core utility functions for time tracking, Ethereum client setup, and gas price management |
devenv/tests/e2e/smoke_test.go | Basic E2E smoke test implementation |
devenv/tests/e2e/load_test.go | Comprehensive load and chaos testing framework |
devenv/tests/e2e/gun_ton.go | TON blockchain load testing gun implementation |
devenv/tests/e2e/gun_evm.go | EVM blockchain load testing gun implementation |
devenv/product_configuration.go | Main product configuration and orchestration logic |
devenv/go.mod | Go module dependencies with version specifications |
devenv/flake.nix | Nix development environment configuration |
devenv/environment.go | Core environment setup and management |
devenv/env*.toml | TOML configuration files for different environments |
devenv/dashboards/ton.json | Grafana dashboard configuration for monitoring |
devenv/config.go | Configuration loading and management utilities |
devenv/components/ton.go | TON blockchain network component implementation |
devenv/cmd/ton/*.go | CLI application for developer environment management |
devenv/README.md | Comprehensive documentation and usage instructions |
devenv/Justfile | Build automation and task management |
devenv/.golangci.yaml | Comprehensive Go linting configuration |
devenv/.gitignore | Git ignore patterns for the development environment |
.github/workflows/*.yaml | CI/CD pipeline configurations for various test scenarios |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
addrs = make([][]datastore.AddressRef, len(addrs)) | ||
addrs = append(addrs, []datastore.AddressRef{}, []datastore.AddressRef{}) |
Copilot
AI
Sep 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line 63 creates a slice with length len(addrs) but all elements are nil slices. Line 64 then appends two more empty slices. This will result in a slice containing nil elements followed by empty slices, which may cause issues when accessing elements. Consider initializing the slice properly or removing line 63 if the intent is to replace the slice entirely.
addrs = make([][]datastore.AddressRef, len(addrs)) | |
addrs = append(addrs, []datastore.AddressRef{}, []datastore.AddressRef{}) | |
addrs = [][]datastore.AddressRef{{}, {}} |
Copilot uses AI. Check for mistakes.
We've decided to create a network-agnostic environment, closing this PR since it's stale. |
Needs https://github.com/smartcontractkit/infra/pull/7841 for CI to be applied/merged first ✅