Some checks failed
CI/CD Pipeline / Lint and Format (push) Failing after 46s
CI/CD Pipeline / Terraform Validation (push) Failing after 35s
CI/CD Pipeline / Kubernetes Validation (push) Successful in 37s
Deploy ChainID 138 / Deploy ChainID 138 (push) Failing after 1m50s
HYBX OMNL TypeScript & anchor / token-aggregation build + reconcile artifact (push) Failing after 2m19s
Validation / validate-genesis (push) Successful in 51s
Validation / validate-terraform (push) Failing after 39s
Validation / validate-kubernetes (push) Failing after 10s
CI/CD Pipeline / Solidity Contracts (push) Failing after 12m56s
Validation / validate-smart-contracts (push) Failing after 12s
CI/CD Pipeline / Security Scanning (push) Failing after 15m52s
Validation / validate-security (push) Failing after 10m59s
Validation / validate-documentation (push) Failing after 17s
Validate Token List / validate (push) Failing after 30s
OMNL reconcile anchor / Run omnl:reconcile and upload artifacts (push) Failing after 26s
Verify Deployment / Verify Deployment (push) Failing after 56s
96 lines
3.2 KiB
TOML
96 lines
3.2 KiB
TOML
# Foundry Configuration
|
|
# This file configures Foundry for the project
|
|
|
|
[profile.default]
|
|
# Full historical repo config. For day-to-day monorepo work, prefer
|
|
# `bash scripts/forge/scope.sh ...` so Forge only sees the contract subtree you
|
|
# are actively editing.
|
|
src = "contracts"
|
|
# Vendored Uniswap V2 trees pin solc 0.5.x / 0.6.x; skip lets `forge test` use 0.8.20
|
|
# without legacy solc installs. Nothing outside vendor/ imports these paths.
|
|
skip = [
|
|
"contracts/vendor/uniswap-v2-core/**/*.sol",
|
|
"contracts/vendor/uniswap-v2-periphery/**/*.sol",
|
|
"contracts/vendor/sushiswap-v2/**/*.sol",
|
|
]
|
|
out = "out"
|
|
libs = ["lib"]
|
|
solc = "0.8.20"
|
|
optimizer = true
|
|
optimizer_runs = 200
|
|
via_ir = true
|
|
auto_detect_remappings = false
|
|
# Fork tests execute live mainnet bytecode; Cancun matches post-Dencun execution (MCOPY, etc.).
|
|
evm_version = "cancun"
|
|
fs_permissions = [
|
|
{ access = "read", path = "./config" }
|
|
]
|
|
remappings = [
|
|
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
|
"@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
|
|
"forge-std/=lib/forge-std/src/",
|
|
"ds-test/=lib/forge-std/lib/ds-test/src/",
|
|
"@emoney/=contracts/emoney/",
|
|
"@emoney-scripts/=script/emoney/",
|
|
"erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
|
|
"openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
|
|
"openzeppelin-contracts/=lib/openzeppelin-contracts/"
|
|
]
|
|
|
|
[profile.ci]
|
|
fuzz = { runs = 100 }
|
|
invariant = { runs = 10 }
|
|
|
|
[profile.lite]
|
|
optimizer = false
|
|
via_ir = false
|
|
|
|
[profile.fast]
|
|
optimizer = true
|
|
optimizer_runs = 1
|
|
via_ir = false
|
|
|
|
[profile.fork]
|
|
optimizer = true
|
|
optimizer_runs = 1
|
|
via_ir = true
|
|
evm_version = "cancun"
|
|
|
|
[profile.deploy]
|
|
optimizer = true
|
|
optimizer_runs = 100
|
|
via_ir = true
|
|
# Match default execution target (Chain 138 / Besu uses Cancun-capable clients).
|
|
evm_version = "cancun"
|
|
|
|
[profile.cronos_legacy]
|
|
optimizer = true
|
|
optimizer_runs = 100
|
|
via_ir = true
|
|
# Cronos chain 25 currently needs pre-Shanghai bytecode; target Paris to avoid PUSH0.
|
|
evm_version = "paris"
|
|
|
|
[profile.chain138_legacy]
|
|
optimizer = true
|
|
optimizer_runs = 100
|
|
via_ir = true
|
|
# Chain 138 currently rejects PUSH0 bytecode as well; target Paris for gas-canonical deployment flows.
|
|
evm_version = "paris"
|
|
|
|
# RPC endpoints — use: forge create ... --rpc-url chain138
|
|
# Prevents default localhost:8545 when ETH_RPC_URL not set
|
|
[rpc_endpoints]
|
|
chain138 = "http://192.168.11.211:8545"
|
|
avalanche = "https://avalanche-c-chain.publicnode.com"
|
|
arbitrum = "https://arbitrum-one.publicnode.com"
|
|
cronos = "https://evm.cronos.org"
|
|
|
|
# Etherscan-compatible verification (Etherscan V2 API key works across many chains)
|
|
[etherscan]
|
|
avalanche = { key = "${SNOWTRACE_API_KEY:-${ETHERSCAN_API_KEY}}", url = "https://api.snowtrace.io/api" }
|
|
arbitrum = { key = "${ARBISCAN_API_KEY:-${ETHERSCAN_API_KEY}}", url = "https://api.arbiscan.io/api" }
|
|
# Cronos mainnet (chain 25). Legacy entry — forge verify-contract does not
|
|
# successfully submit to Cronos Explorer (see CRONOS_EXPLORER_OPERATIONS.md).
|
|
# Kept for cast/ethers compatibility if tooling expects [etherscan].cronos.
|
|
cronos = { key = "${CRONOSCAN_API_KEY:-${ETHERSCAN_API_KEY}}", url = "https://explorer-api.cronos.org/mainnet/api?chainid=25" }
|