* Change query to sort by timestamp and id
* Add maximun size to pageSize in operation endpoint
* Add missing indexes for mongodb
* improve search txHash for nested wormchain txHash
---------
Co-authored-by: Fernando Torres <fert1335@gmail.com>
Add to cache without expiration.
Increase expiration to fetch data from influx to 10 minute. After 10 minute we update the data to influx is the response is success, if the response is not success we return the old data in the cache without expiration.
Add alert when return metrics endpoint using cache that are expired.
Co-authored-by: walker-16 <agpazos85@gmail.com>
* Improve log to get latency for all endpoints except ready and health
Co-authored-by: walker-16 <agpazos85@gmail.com>
* Add index to parsedVaa collection
Co-authored-by: walker-16 <agpazos85@gmail.com>
---------
Co-authored-by: walker-16 <agpazos85@gmail.com>
### Description
This pull request removes duplicated code related to MongoDB connection/disconnection attempts. This code was copied across all 8 microservices.
The functionality is now unified under the `common/dbutil` package.
### Description
This pull request adds the parameter `toChain` to the endpoint `GET /api/v1/vaas/{emitterChain}/{emitterAddress}`.
Other VAA-related endpoints do not support this parameter.
Additionally, for performance reasons, a composite index must be created in MongoDB: `db.parsedVaa.createIndex({"emitterChain": -1, "emitterAddr": -1, "rawStandardizedProperties.toChain": -1, "indexedAt": -1})`
### Description
Before this pull request, when calling `GET /api/v1/vaas?txHash={h}` for a hash that has multiple VAAs associated with it, we were just returning one. After this pull request, the API should return all of the VAAs associated with that transaction hash.
Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/563
### Description
Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/535.
This pull request fixes an inconsistency between the endpoints `GET /api/v1/x-chain-activity` and `GET /api/v1/top-chain-pairs-by-num-transfers`.
The inconsistency arose because the endpoints computed the data in slightly different ways.
It was resolved by modifying the `GET /api/v1/top-chain-pairs-by-num-transfers` endpoint to use the same data source as `GET /api/v1/x-chain-activity`.
### Description
This pull request removes two unused fields from the `GlobalTransaction.OriginTx` JSON model:
* `timestamp`: this field is always set to the VAA's timestamp, making it redundant. Moreover, for EVM chains we need one extra RPC node request to get it. So better get rid of it.
* `chainId`: this field is always set to the VAA's emitter chain, making it redundant.
### Summary
This pull request modifies the API service to expose two endpoints for the Wormhole Scan UI:
* `GET /api/v1/transactions`: data needed to render the transactions list page.
* `GET /api/v1/transactions/{chain}/{id}/{sequence}`: data needed to render the transaction detail page.
### Description
This pull request implements an improvement in the processing logic of the `tx-tracker` service to avoid processing a message more than once.
### Summary
The `api` component was importing and initializing the notional cache, but not using it.
This pull request removes the unnecessary dependency.