-
Notifications
You must be signed in to change notification settings - Fork 83
ENG-505 [DRAFT] local development setup #3858
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
base: main
Are you sure you want to change the base?
ENG-505 [DRAFT] local development setup #3858
Conversation
- Updated and to include new addresses for WalletRegistry, Bridge, MaintainerProxy, and WalletProposalValidator. - Introduced new JSON files for deposit data and funding transaction information to support deposit and redemption processes. - Added various scripts for managing DKG processes, wallet requests, and operator registration, enhancing local development capabilities. - Included documentation updates for deployment and operational guidelines. These changes improve the setup for Ethereum interactions and streamline the development workflow.
| @@ -0,0 +1,13 @@ | |||
| ========================================== | |||
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.
This file seems like local dev output that shouldn't be in the repo.
|
|
||
| /** | ||
| * @title BridgeStub | ||
| * @notice Minimal stub implementation of Bridge contract for local development |
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.
Might be worth adding a brief comment at the top explaining this is only for local dev/testing and should never be used in production, just to avoid any confusion downstream.
|
|
||
| [ethereum] | ||
| URL = "ws://127.0.0.1:8546" | ||
| KeyFile = "/Users/levakhnazarov/ethereum/data/keystore/UTC--2025-12-18T18-53-35.539381000Z--7966c178f466b060aaeb2b91e9149a5fb2ec9c53" |
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.
This contains a hardcoded local path and timestamp. Consider using a placeholder like <YOUR_KEYFILE_PATH> or moving this to configs/config.toml.SAMPLE instead of committing it to the repo root.
| # DisseminationTime = 90 | ||
|
|
||
| [storage] | ||
| Dir = "/Users/levakhnazarov/threshold/fork2/keep-core/data" |
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.
Same as above, hardcoded absolute path. Might want to use a relative path or environment variable placeholder.
- Added a step in the complete-reset script to fix and authorize the RandomBeacon configuration. - Updated the request-new-wallet script to check RandomBeacon authorization and wallet creation state, providing detailed error handling and guidance for potential issues. - Improved logging for better visibility into the DKG state and wallet request process. These changes streamline the setup and ensure proper configuration for wallet requests and RandomBeacon integration.
- Changed Electrum server URL in config.toml for local development. - Updated various Ethereum contract addresses in configuration files to reflect new deployments. - Enhanced DKG process scripts to improve error handling and logging. - Added new methods for fee estimation and transaction handling in the Bitcoin chain integration. - Improved deposit data structures and scripts for better handling of wallet requests and approvals. These changes streamline local development and ensure proper integration with updated contract addresses and DKG processes.
…k version - Added replacement for github.com/keep-network/keep-common to use github.com/threshold-network/keep-common v1.7.1-tlabs.0 in go.mod. - Updated go.sum to reflect the new dependency and removed the previous version of keep-common.
- Updated to include a new peer for the sepolia network. - Added timeout handling in to prevent indefinite hangs. - Introduced new system metrics: CPU load, RAM utilization, and swap utilization, with corresponding updates to the performance metrics registration.
- Introduced a new structure to track detailed metrics for individual coordination windows, including timing, success rates, and fault statistics. - Enhanced the coordination layer to record the start and end of coordination windows, as well as wallet-specific coordination details. - Added new metrics for coordination windows, including total wallets coordinated, successful, and failed, along with fault tracking.
- Introduced new metrics for redemption actions, including total executions, success, and failure counts, as well as duration tracking. - Updated the performance metrics registration to include these new redemption metrics. - Refactored existing code to utilize defined constants for metric names, enhancing consistency and readability. - Improved error handling in redemption proof submissions to accurately record failure metrics.
- Updated the and structures to include JSON tags for improved serialization. - Introduced a new structure to capture detailed fault information during coordination. - Enhanced the method to include error messages for failed wallet actions. - Added a new method to retrieve a summary of coordination window metrics. - Registered coordination windows as a diagnostic source in the client info for better monitoring.
- Added a mutex and a map to track peers that have already been pinged to avoid duplicate ping tests. - Updated the connected and disconnected callback functions to manage the pinged peers set, ensuring each unique peer is only pinged once. - Enhanced disconnection handling to allow re-pinging if a peer reconnects later.
- Updated BridgeAddress in config.toml and its backup to reflect the new address. - Modified WalletProposalValidatorStub to include validation functions for redemption proposals. - Enhanced the BridgeStub with redemption request handling, including event emissions and wallet state checks. - Improved error logging in redemption tasks and added detailed event filtering for DKG state checks. - Adjusted coordination parameters for development, including increased block intervals and signing attempts.
Add initial setup for local T network development
genesis.jsonfor blockchain initialization with predefined accounts and balances.setup-geth.sh,generate-genesis.sh,check-deployments.sh,deploy-ecdsa-tbtc.sh) to facilitate local development and contract deployment.This commit lays the groundwork for developers to easily set up and interact with the T network in a local environment.