This commit is contained in:
parent
45992c4f91
commit
5d3a3adb86
2 changed files with 24 additions and 13 deletions
|
|
@ -55,12 +55,16 @@ namespace {
|
|||
// https://developers.circle.com/stablecoins/eurc-contract-addresses
|
||||
constexpr std::string_view kContract = "0x08210F9170F89Ab7658F0B5E3fF39b0E03C594D4";
|
||||
constexpr std::string_view kChainId = "11155111";
|
||||
// Two endpoints from different operators (Allnodes, 1RPC) — the same two
|
||||
// operators the production ethereum entry uses — because the rule under test
|
||||
// is "no single node's word settles an order": min_confirmations=2 below
|
||||
// makes both agree, same as the mainnet chains file.
|
||||
// Three endpoints from different operators (Allnodes, Tenderly, 1RPC) with
|
||||
// min_confirmations=2, because the rule under test is "no single node's word
|
||||
// settles an order" — and because public RPCs differ by VANTAGE POINT, not
|
||||
// just uptime: 1RPC answers residential IPs and 403s the Hetzner runner,
|
||||
// which stalled the first CI run at 1-of-2 forever. Any two of three settle;
|
||||
// the corroboration loop stops at quorum, so the third is only ever dialed
|
||||
// when one of the first two fails.
|
||||
constexpr std::string_view kRpcPrimary = "https://ethereum-sepolia-rpc.publicnode.com";
|
||||
constexpr std::string_view kRpcSecondary = "https://1rpc.io/sepolia";
|
||||
constexpr std::string_view kRpcSecondary = "https://sepolia.gateway.tenderly.co";
|
||||
constexpr std::string_view kRpcTertiary = "https://1rpc.io/sepolia";
|
||||
|
||||
// €1 donation = 100 cents = 100 × 10^(6-2) EURC base units.
|
||||
constexpr std::string_view kTransferUnits = "1000000";
|
||||
|
|
@ -144,11 +148,11 @@ int main(int argc, char** argv) {
|
|||
const fs::path chains = dir / "chains.json";
|
||||
WriteFile(chains, std::format(
|
||||
R"({{"chains":[{{"name":"ethereum-sepolia",)"
|
||||
R"("rpcs":["{}","{}"],)"
|
||||
R"("rpcs":["{}","{}","{}"],)"
|
||||
R"("min_confirmations":2,)"
|
||||
R"("contract":"{}","chain_id":{},)"
|
||||
R"("block_tag":"latest","note":"testnet"}}]}})",
|
||||
kRpcPrimary, kRpcSecondary, kContract, kChainId));
|
||||
kRpcPrimary, kRpcSecondary, kRpcTertiary, kContract, kChainId));
|
||||
|
||||
// Fresh random addresses — see the header for why reuse would false-pass.
|
||||
const fs::path pool = dir / "pool.txt";
|
||||
|
|
|
|||
Loading…
Reference in a new issue