Skip to content

Commit 7a45c26

Browse files
authored
perf: use latest_rav to recalculate fees (#379)
1 parent 2bab115 commit 7a45c26

File tree

3 files changed

+39
-54
lines changed

3 files changed

+39
-54
lines changed

.sqlx/query-7a7fb81674a67e9b9dbf82a318d60dd78565765831dc4dd84777dfb751736ce6.json

Lines changed: 30 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.sqlx/query-dbdcb666214a40762607e872c680bba5c3d01bc2106abe5839f1801d1683b8f6.json

Lines changed: 0 additions & 30 deletions
This file was deleted.

tap-agent/src/agent/sender_allocation.rs

Lines changed: 9 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -346,41 +346,26 @@ impl SenderAllocationState {
346346

347347
let signers = signers_trimmed(&self.escrow_accounts, self.sender).await?;
348348

349-
// TODO: Get `rav.timestamp_ns` from the TAP Manager's RAV storage adapter instead?
350349
let res = sqlx::query!(
351350
r#"
352-
WITH rav AS (
353-
SELECT
354-
timestamp_ns
355-
FROM
356-
scalar_tap_ravs
357-
WHERE
358-
allocation_id = $1
359-
AND sender_address = $2
360-
)
361351
SELECT
362352
MAX(id),
363353
SUM(value)
364354
FROM
365355
scalar_tap_receipts
366356
WHERE
367357
allocation_id = $1
368-
AND signer_address IN (SELECT unnest($3::text[]))
369-
AND CASE WHEN (
370-
SELECT
371-
timestamp_ns :: NUMERIC
372-
FROM
373-
rav
374-
) IS NOT NULL THEN timestamp_ns > (
375-
SELECT
376-
timestamp_ns :: NUMERIC
377-
FROM
378-
rav
379-
) ELSE TRUE END
358+
AND signer_address IN (SELECT unnest($2::text[]))
359+
AND timestamp_ns > $3
380360
"#,
381361
self.allocation_id.encode_hex(),
382-
self.sender.encode_hex(),
383-
&signers
362+
&signers,
363+
BigDecimal::from(
364+
self.latest_rav
365+
.as_ref()
366+
.map(|rav| rav.message.timestampNs)
367+
.unwrap_or_default()
368+
),
384369
)
385370
.fetch_one(&self.pgpool)
386371
.await?;

0 commit comments

Comments
 (0)