Files
sonr/test/e2e/usdc-swap-did/config.example.yaml
T

317 lines
6.7 KiB
YAML
Raw Normal View History

# USDC Swap E2E Test Configuration
# Copy this file to config.yaml and customize for your environment
# Sonr Testnet Configuration
sonr:
chain_id: "sonrtest_1-1"
rpc_endpoint: "http://localhost:26657"
rest_endpoint: "http://localhost:1317"
grpc_endpoint: "localhost:9090"
faucet_endpoint: "http://localhost:8000"
# Native token configuration
staking_denom: "usnr"
display_denom: "snr"
decimals: 6
# Test account configuration
test_accounts:
- name: "test_user_1"
mnemonic: "" # Optional: Provide existing mnemonic
initial_balance: "100000000usnr" # 100 SNR
- name: "test_user_2"
mnemonic: ""
initial_balance: "50000000usnr" # 50 SNR
# Noble Testnet Configuration
noble:
chain_id: "noble-grand-1"
rpc_endpoint: "https://noble-testnet-rpc.polkachu.com:443"
rest_endpoint: "https://noble-testnet-api.polkachu.com"
grpc_endpoint: "noble-testnet-grpc.polkachu.com:21590"
# USDC configuration
usdc_denom: "uusdc"
usdc_decimals: 6
# Circle attestation (for USDC)
attestation:
enabled: true
domain: 4 # Noble testnet domain
# IBC Configuration
ibc:
# Connection from Sonr to Noble
# Update this with your actual connection ID
noble_connection_id: "connection-0"
# IBC transfer channel
# Update with actual channel after connection
transfer_channel_id: "channel-0"
# Relayer configuration (optional)
relayer:
enabled: false
type: "hermes" # or "rly"
path: "sonr-noble"
# DEX Module Configuration
dex:
# Features to enable for test accounts
default_features:
- "swap"
- "liquidity"
- "orders"
# ICA configuration
ica:
# Timeout for ICA operations
timeout: "300s"
# Retry configuration
max_retries: 3
retry_delay: "5s"
# Account creation
auto_register: true
# Swap Test Configuration
swap:
# Test amounts
amounts:
snr_to_usdc: "1000000" # 1 SNR
usdc_to_snr: "5000000" # 5 USDC
small_swap: "100000" # 0.1 tokens
large_swap: "50000000" # 50 tokens
# Slippage configuration
slippage:
default_percent: 5.0 # 5% default slippage
max_percent: 10.0 # 10% maximum allowed
min_percent: 0.1 # 0.1% minimum
# Timeout configuration
timeouts:
swap_tx: "60s" # Individual swap timeout
multi_swap: "300s" # Multiple swaps timeout
history_query: "30s" # History query timeout
# Routing configuration
routing:
prefer_direct: true # Prefer direct swaps when available
max_hops: 3 # Maximum routing hops
usdc_intermediary: true # Use USDC as intermediary
# Test Configuration
test:
# Parallel execution
parallel: false
# Timeout configuration
timeout:
default: "10m"
extended: "30m"
quick: "5m"
# Retry configuration
retry:
enabled: true
max_attempts: 3
delay: "5s"
# Logging
logging:
level: "info" # debug, info, warn, error
verbose: true
save_to_file: true
file_path: "test.log"
# Cleanup
cleanup:
# Clean up test accounts after tests
accounts: true
# Clean up test DIDs after tests
dids: false # Keep for debugging
# Clean up test data
artifacts: true
# DID Configuration
did:
# DID prefix
prefix: "did:snr:test"
# Generate unique DIDs per test
unique_per_test: true
# DID document configuration
document:
verification_methods:
- type: "EcdsaSecp256k1VerificationKey2019"
purpose: ["authentication", "assertionMethod"]
services:
- type: "DEXSwapService"
endpoint: "https://dex.sonr.io"
# Monitoring and Alerts
monitoring:
# Enable transaction monitoring
enabled: true
# Check intervals
intervals:
balance: "5s"
status: "10s"
events: "3s"
# Alerts
alerts:
# Alert on test failure
on_failure: true
# Alert on slow tests
on_slow_test:
enabled: true
threshold: "5m"
# Alert on IBC timeout
on_ibc_timeout: true
# Performance Configuration
performance:
# Concurrent swaps limit
max_concurrent_swaps: 10
# Rate limiting
rate_limit:
enabled: true
requests_per_second: 5
# Resource limits
resources:
max_memory: "1GB"
max_goroutines: 100
# Network Simulation
simulation:
# Simulate network conditions
enabled: false
# Latency simulation
latency:
min: "10ms"
max: "500ms"
# Packet loss simulation
packet_loss:
rate: 0.01 # 1% packet loss
# Bandwidth limits
bandwidth:
upload: "100Mbps"
download: "100Mbps"
# Debug Configuration
debug:
# Enable debug mode
enabled: false
# Save transaction details
save_transactions: true
transactions_dir: "./transactions"
# Save state snapshots
save_snapshots: true
snapshots_dir: "./snapshots"
# Breakpoints
breakpoints:
before_swap: false
after_swap: false
on_error: true
# Profiling
profiling:
enabled: false
cpu: true
memory: true
output_dir: "./profiles"
# CI/CD Configuration
ci:
# GitHub Actions
github_actions:
enabled: true
secrets:
noble_rpc: "NOBLE_RPC_ENDPOINT"
test_mnemonic: "TEST_ACCOUNT_MNEMONIC"
# Report generation
reports:
format: "junit" # junit, json, html
output_dir: "./test-reports"
# Artifacts
artifacts:
upload: true
retention_days: 30
# Environment-specific overrides
environments:
# Local development
local:
sonr:
rest_endpoint: "http://localhost:1317"
noble:
# Use local Noble node if available
rest_endpoint: "http://localhost:1318"
test:
timeout:
default: "5m"
# Staging environment
staging:
sonr:
rest_endpoint: "https://staging-api.sonr.io"
noble:
rest_endpoint: "https://noble-testnet-api.polkachu.com"
test:
timeout:
default: "15m"
# Production testing
production:
sonr:
rest_endpoint: "https://api.sonr.io"
noble:
rest_endpoint: "https://noble-api.polkachu.com"
test:
timeout:
default: "30m"
retry:
max_attempts: 5
# Notes and Documentation Links
documentation:
# Useful links
links:
noble_docs: "https://docs.noble.xyz"
sonr_docs: "https://docs.sonr.io"
ibc_docs: "https://ibc.cosmos.network"
dex_module: "https://github.com/sonr-io/sonr/tree/master/x/dex"
# Known issues
known_issues:
- "ICA channel handshake can take 1-2 minutes"
- "First swap may timeout if pools are not initialized"
- "USDC attestation required for Noble testnet"
# Troubleshooting
troubleshooting:
connection_failed: "Verify IBC connection is established: snrd query ibc connection end <connection-id>"
account_pending: "Wait for ICA channel handshake to complete (1-2 minutes)"
insufficient_funds: "Fund test account: snrd tx bank send validator <address> 100000000usnr"