this loop is quite heavy:
we do
|
// Compute EIP-712 digest (settlement_id) |
|
let (output_intent_digest, _) = output_quote |
|
.intent |
|
.compute_eip712_data( |
|
output_quote.orchestrator, |
per iteration which always needs to recompute the domain:
|
let domain = orchestrator.eip712_domain(self.is_multichain()).await?; |
the domain should be the same because this is multichain
maybe we could either cache this with some timeout or at least reduce this call to once per request
|
pub async fn eip712_domain(&self, multichain: bool) -> TransportResult<Eip712Domain> { |
|
let domain = self |
|
.orchestrator |
|
.eip712Domain() |
this loop is quite heavy:
relay/src/rpc/relay.rs
Line 1254 in 77959c6
we do
relay/src/rpc/relay.rs
Lines 1331 to 1335 in 77959c6
per iteration which always needs to recompute the domain:
relay/src/types/intent.rs
Line 476 in 77959c6
the domain should be the same because this is multichain
maybe we could either cache this with some timeout or at least reduce this call to once per request
relay/src/types/orchestrator.rs
Lines 282 to 285 in 96f9aea