diff --git a/frontend/package.json b/frontend/package.json index abae9b6d..46c8a636 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -20,6 +20,7 @@ "@adraffy/ens-normalize": "1.9.2", "@metamask/jazzicon": "^2.0.0", "@quasar/extras": "^1.15.8", + "@umbracash/umbra-js": "file:../umbra-js", "@umbracash/umbra-js": "0.2.1", "@uniswap/token-lists": "^1.0.0-beta.19", "@unstoppabledomains/resolution": "8.5.0", diff --git a/frontend/src/components/AccountReceiveTable.vue b/frontend/src/components/AccountReceiveTable.vue index a6858921..294f61b9 100644 --- a/frontend/src/components/AccountReceiveTable.vue +++ b/frontend/src/components/AccountReceiveTable.vue @@ -64,14 +64,36 @@
-
+ {{ $t('AccountReceiveTable.funds-question') }} + + {{ $t('AccountReceiveTable.most-recent-announcement') }} - {{ mostRecentAnnouncementBlockNumber }} / +
+ {{ $t('AccountReceiveTable.most-recent-block') }} {{ mostRecentAnnouncementBlockNumber }} +
+ {{ $t('AccountReceiveTable.most-recent-time') }} {{ formatDate(mostRecentAnnouncementTimestamp * 1000) }} {{ formatTime(mostRecentAnnouncementTimestamp * 1000) }} -
- - +
+
+ {{ $t('AccountReceiveTable.most-recent-mined') }} +
+ {{ $t('AccountReceiveTable.most-recent-block') }} {{ mostRecentBlockNumber }} +
+ {{ $t('AccountReceiveTable.most-recent-time') }} + {{ formatDate(mostRecentBlockTimestamp * 1000) }} + {{ formatTime(mostRecentBlockTimestamp * 1000) }} +
+ + + {{ $t('AccountReceiveTable.learn-more') }} + + +
([]); - const mostRecentAnnouncementTimestamp = ref(); - const mostRecentAnnouncementBlockNumber = ref(); + const mostRecentAnnouncementTimestamp = ref(0); + const mostRecentAnnouncementBlockNumber = ref(0); const mostRecentBlockTimestamp = ref(0); const mostRecentBlockNumber = ref(0); @@ -391,6 +391,19 @@ function useScan() { return provider.getBlock('latest'); } + function updateMostRecentAnnouncementInfo(announcementsBatch: AnnouncementDetail[]) { + announcementsBatch.forEach((announcement) => { + const thisTimestamp = parseInt(announcement.timestamp); + if (thisTimestamp > mostRecentAnnouncementTimestamp.value) { + mostRecentAnnouncementTimestamp.value = thisTimestamp; + } + const thisBlock = parseInt(announcement.block); + if (thisBlock > mostRecentAnnouncementBlockNumber.value) { + mostRecentAnnouncementBlockNumber.value = thisBlock; + } + }); + } + async function scan() { // Reset paused state paused.value = false; @@ -458,6 +471,7 @@ function useScan() { if (advancedMode.value && scanPrivateKey.value) { for await (const announcementsBatch of umbra.value.fetchAllAnnouncements(overrides)) { announcementsCount += announcementsBatch.length; // Increment count + updateMostRecentAnnouncementInfo(announcementsBatch); announcementsQueue = [...announcementsQueue, ...announcementsBatch]; if (announcementsCount == 10000) { scanStatus.value = 'scanning latest'; @@ -495,25 +509,7 @@ function useScan() { } announcementsCount += announcementsBatch.length; // Increment count - announcementsBatch.forEach((announcement) => { - const thisTimestamp = parseInt(announcement.timestamp); - if (thisTimestamp > (mostRecentAnnouncementTimestamp.value || 0)) { - mostRecentAnnouncementTimestamp.value = thisTimestamp; - // Save the most recent announcement timestamp to localStorage - if (mostRecentAnnouncementTimestampKey.value) { - LocalStorage.set(mostRecentAnnouncementTimestampKey.value, thisTimestamp); - } - } - const thisBlock = parseInt(announcement.block); - if (thisBlock > (mostRecentAnnouncementBlockNumber.value || 0)) { - mostRecentAnnouncementBlockNumber.value = thisBlock; - // Save the most recent announcement block number to localStorage - if (mostRecentAnnouncementBlockNumberKey.value) { - LocalStorage.set(mostRecentAnnouncementBlockNumberKey.value, thisBlock); - } - } - }); - + updateMostRecentAnnouncementInfo(announcementsBatch); announcementsQueue = [...announcementsQueue, ...announcementsBatch]; if (announcementsCount == 10000) { scanStatus.value = isInitialScan ? 'scanning latest' : 'scanning latest from last fetched block'; diff --git a/umbra-js/package.json b/umbra-js/package.json index 95b81a59..8f287a43 100644 --- a/umbra-js/package.json +++ b/umbra-js/package.json @@ -1,6 +1,6 @@ { "name": "@umbracash/umbra-js", - "version": "0.2.1", + "version": "0.2.2", "description": "Send and receive stealth payments", "main": "build/src/index.js", "types": "build/src/index.d.ts",