Skip to content

Commit 07792df

Browse files
committed
feat(config): implement fail-safe dual domain separators for V2 receipts
- Update indexer-service and tap-agent to use correct V2 verifier addresses - Add strict validation: V2 address required when horizon.enabled=true - Implement graceful fallback when Horizon is disabled
1 parent da4a2e1 commit 07792df

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

crates/service/src/service.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,13 @@ pub async fn run() -> anyhow::Result<()> {
101101

102102
let domain_separator_v2 = tap_eip712_domain(
103103
config.blockchain.chain_id as u64,
104-
config.blockchain.receipts_verifier_address,
104+
if config.horizon.enabled {
105+
config.blockchain.receipts_verifier_address_v2
106+
.expect("receipts_verifier_address_v2 is required when Horizon is enabled")
107+
} else {
108+
config.blockchain.receipts_verifier_address_v2
109+
.unwrap_or(config.blockchain.receipts_verifier_address)
110+
},
105111
tap_core::TapVersion::V2,
106112
);
107113
let chain_id = config.blockchain.chain_id as u64;

crates/tap-agent/src/lib.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,13 @@ pub static EIP_712_DOMAIN: LazyLock<Eip712Domain> = LazyLock::new(|| {
3434
pub static EIP_712_DOMAIN_V2: LazyLock<Eip712Domain> = LazyLock::new(|| {
3535
tap_eip712_domain(
3636
CONFIG.blockchain.chain_id as u64,
37-
CONFIG.blockchain.receipts_verifier_address,
37+
if CONFIG.horizon.enabled {
38+
CONFIG.blockchain.receipts_verifier_address_v2
39+
.expect("receipts_verifier_address_v2 is required when Horizon is enabled")
40+
} else {
41+
CONFIG.blockchain.receipts_verifier_address_v2
42+
.unwrap_or(CONFIG.blockchain.receipts_verifier_address)
43+
},
3844
tap_core::TapVersion::V2,
3945
)
4046
});

0 commit comments

Comments
 (0)