-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Labels
area/coreCore SDK integrationCore SDK integrationenhancementNew feature or requestNew feature or requestpriority/p1High priorityHigh priority
Description
Overview
Support multiple EVM chains through configuration file. Manage signers per chain.
Implementation Details
Files:
config/config.toml- Configuration fileinternal/config/config.go- Config loadinginternal/signer/manager.go- Signer manager
Configuration Format (TOML)
[server]
address = ":9090"
[[chains]]
network = "eip155:8453" # Base Mainnet
rpcUrl = "https://mainnet.base.org"
privateKey = "${BASE_MAINNET_PRIVATE_KEY}"
[[chains]]
network = "eip155:84532" # Base Sepolia
rpcUrl = "https://sepolia.base.org"
privateKey = "${BASE_SEPOLIA_PRIVATE_KEY}"SignerManager
type SignerManager struct {
signers map[string]*EVMSigner // network -> signer
}
func (m *SignerManager) GetSigner(network string) (*EVMSigner, bool)
func (m *SignerManager) SupportedNetworks() []stringMulti-Chain Facilitator
type Service struct {
facilitator *x402.Facilitator
signerManager *SignerManager
}Acceptance Criteria
- TOML config parsing with environment variable substitution
- SignerManager for multiple chains
- Register facilitators per network with SDK
- Network detection from PaymentRequirements
- Tests for config loading
- Tests for multi-chain routing
Dependencies
- [Feature 02] EVM Signer Implementation #21 EVM Signer Implementation
Branch
feature/multi-chain-config
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area/coreCore SDK integrationCore SDK integrationenhancementNew feature or requestNew feature or requestpriority/p1High priorityHigh priority