Commit Graph

42 Commits

Author SHA1 Message Date
ftocal 7992f76e56
Improve tx tracker logic without internal retries (#890)
* Improve tx tracker logic without internal retries

Co-authored-by: walker-16 <agpazos85@gmail.com>

* Add message attribute in pipeline sns

Co-authored-by: walker-16 <agpazos85@gmail.com>

---------

Co-authored-by: walker-16 <agpazos85@gmail.com>
2023-12-12 15:46:00 -03:00
ftocal 6edd3c4711
Ignore vaa from near in tx-tracker (#883)
Co-authored-by: walker-16 <agpazos85@gmail.com>
2023-12-11 10:16:06 -03:00
ftocal cbdd72ec9c
Process missing txHash in tx-tracker (#866)
Improve event processing in tx-tracker
Add new prometheus metrics
Handle vaa without txHash from gossip flow
Fix for already message processed
Change rpc endpoints and rate limit for tx-tracker

Co-authored-by: walker-16 <agpazos85@gmail.com>
2023-12-07 11:06:48 -03:00
ftocal af5bd3017f
Handle native tx hash for solana when receive event from blockchain-watcher (#851) 2023-12-04 16:29:38 -03:00
ftocal 2488da74aa
Add support to handle multiple signature for an address in solana (#850)
Co-authored-by: walker-16 <agpazos85@gmail.com>
2023-12-04 15:30:16 -03:00
ftocal 2836f4ffc2
Fix of an intermittent failure to obtain a solana transaction (#840) 2023-12-01 14:15:19 -03:00
ftocal 7c467f5267
Integrating blockchain watcher data into mongodb (#820)
* Handle log-message-published generated by blockchain-watcher in parser, tx-tracker y analytics

* Add deployment for staging-testnet environment
Improve logs

* Add operation endpoints

---------

Co-authored-by: Agustin Pazos <agpazos85@gmail.com>
2023-11-27 12:31:35 -03:00
ftocal 11b162ca54
Add Sei support in tx-tracker (#800)
* Add Sei support in tx-tracker

* Code review updates
2023-11-15 12:11:24 -03:00
walker-16 e5282ffb16
normalize osmosis txhash (#777)
Co-authored-by: ftocal <fert1335@gmail.com>
2023-10-30 11:23:37 -03:00
walker-16 f4fe630623
Add methods to identify kujira & evmos (#729)
* Add methods to identify kujira & evmos

* Add fetch methods to kajira and evmos

* fix fetch kujira and evmos methods

* Add support to search vaas gateway chain txHash

* Add deploy config to tx-tracker for evmos & kujira
2023-10-26 19:34:00 -03:00
walker-16 b46ba72d6b
Update source and destination channel for osmosis testnet (#758) 2023-10-25 17:05:55 -03:00
walker-16 217c6f28be
Fix [api] get transactions by address and add mongo query monitor (#707)
Fix api endpoint get transactions by address, add mongo query monitor
2023-09-25 16:50:16 -03:00
ftocal 5e3adeb4ad
Retrieve chain and sender of wormchain originated vaas (#678)
* Add additional information for osmosis transaction through wormchain

Co-authored-by: walker-16 <agpazos85@gmail.com>

* Modify tx-tracker deployment

Co-authored-by: walker-16 <agpazos85@gmail.com>

---------

Co-authored-by: walker-16 <agpazos85@gmail.com>
2023-09-04 15:17:23 -03:00
agodnic 802fc00434
Add documentation for the `tx-tracker` service (#642)
### Description

This pull request adds a README.md file explaining how the `tx-tracker` service works.
2023-08-18 10:33:36 -03:00
agodnic 3c7bab3f8a
Remove duplicated code: MongoDB connection handling (#590)
### 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.
2023-08-07 16:05:08 -03:00
agodnic d8bb9c46f6
`tx-tracker`: add support for the "Base" blockchain (#568)
### Description

Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/569

This pull request adds support for the "Base" blockchain in different parts of the codebase:
* The functions `domain.TranslateEmitterAddress`, `domain.EncodeTrxHashByChainID` and `domain.DecodeNativeAddressToHex`.
* The `tx-tracker` service: it now connects to a Base RPC node to fetch origin transaction metadata.
2023-07-20 16:37:21 -03:00
walker-16 abb5baf24e
add metrics to tx-tracker (#556) 2023-07-19 09:04:41 -03:00
agodnic 44e236fc61
Update tx tracker backfiller (#540)
### Description

Related issues: https://github.com/wormhole-foundation/wormhole-explorer/issues/525, https://github.com/wormhole-foundation/wormhole-explorer/issues/524

Final updates before running the tx-tracker backfiller on staging and production.
2023-07-18 12:00:04 -03:00
agodnic 61d070e859
Fix tx tracker performance issues (#537)
### Description

The `tx-tracker` service is failing to process messages at the speed we need. This pull request is an attempt at fixing the issue.
2023-07-14 10:39:09 -03:00
agodnic 1ef666322c
Fix missing `txHash` for chains 1 and 22 (#530)
### Summary

This pull request changes the retry logic in the `tx-tracker`.

When failing to process a transaction, the associated SQS message will be left to expire and will reappear after `visibilityTimeout` seconds. As a side effect, there will be several retries before giving up.
2023-07-13 12:26:38 -03:00
agodnic 0a854b590d
Improve performance in the `tx-tracker` service (#519)
### Description

This pull request implements an improvement in the processing logic of the `tx-tracker` service to avoid processing a message more than once.
2023-07-11 16:31:45 -03:00
agodnic 93e1a72409
Improvements in the `tx-tracker` service (#517)
### Description

This pull request implements improvements in the `tx-tracker` service:
* Adjust SQS visibilityTimeout.
* Process PythNet messages concurrently (this will make it easier for the service to catch up if there are a lot of messages in the input queue).
* Add more context information to error messages.
2023-07-06 15:26:18 -03:00
agodnic 57f8878979
Adjust log message severity in `tx-tracker` (#511) 2023-07-06 10:26:16 -03:00
agodnic 9e4aa45305
[tx-tracker] Add support for Terra, Injective, Acala and Karura (#502)
### Description

Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/499

This pull request adds support in the `tx-tracker` service for the blockchains Terra, Injective, Acala and Karura.

Also, deployment settings were updated with reasonable defaults.
2023-07-05 14:53:00 -03:00
agodnic 8ad4d6276f
Add retry logic to the `tx-tracker` service (#480)
### Summary

Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/415

When the `tx-tracker` service processes a VAA, sometimes the transaction is not finalized (e.g.:for chains with slow finality, VAAs with low consistency level, out-of-sync nodes). This problem was observed on chains like Solana, Ethereum and Polygon, but could have happened on other chains.

This pull request adds the logic needed to wait and retry processing the VAA, hoping that the originating transaction reaches finality.

Also, the `tx-tracker` service now uses a worker pool to process transactions, which will lead to higher throughput. This will benefit the WormholeScan UI, specially in the case when a large number of VAAs are emitted in a short period of time.
2023-07-04 15:25:08 -03:00
agodnic eae49e2e9c
Add support for Oasis and Algorand in the `tx-tracker` service (#455)
### Description

This pull request adds support for Oasis and Algorand in the `tx-tracker` service.

With this change, the sender addresses for those chains will become available in the UI.
2023-06-23 22:21:34 -03:00
agodnic 4b4b6f61ca
Add support for cosmos chains in `tx-tracker` (#426)
### Description

Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/418

This pull request modifies the `tx-tracker` service to support `ChainIDTerra2` and `ChainIDXpla`. In particular, this will make sender addresses from these blockchains available for the Wormhole Scan UI.

Support for `ChainIDTerra` was left out due to lack of working public RPC nodes (`https://lcd.terra.dev` doesn't seem to be functioning correctly at the moment).
2023-06-21 15:47:12 -03:00
agodnic 50c1d479a6
Add support for Moonbeam and Klaytn in the `tx-tracker` service (#422)
### Description

This pull request modifies the `tx-tracker` service to support the Moonbeam and Klaytn blockchains.

In particular, this will make sender addresses for these particular blockchains available for the Wormhole Scan UI.
2023-06-20 09:37:06 -03:00
agodnic 3f823c51ac
Add support for Aptos in the `tx-tracker` service (#421)
### Description

This pull request adds support for Aptos in the `tx-tracker` service.

This will lead to improvements for the wormhole Scan UI:
1. The transaction hash that was being previously displayed for Aptos VAAs was incorrect. This pull request fixes the issue.
2. The sender addresses for Aptos VAAs will now become available for for the UI.
2023-06-16 17:47:28 -03:00
agodnic bf3be056b4
Add support for Sui in the `tx-tracker` service (#416)
### Description

This pull request modifies the `tx-tracker` service to support the Sui blockchain.

In particular, this will make the Sui sender addresses available for the Wormhole Scan UI.
2023-06-15 21:42:46 -03:00
ftocal 9381695d37
Fix txHash encoding by chain (#410)
Add txHash encondig backfiller
Handle txHash base58 encoding for solana in tx-tracker
Add temporary field _originTxHash in vaas and vaaIdTxHash collections by backup
Add cobra to fly backfiller

Co-authored-by: walker-16 <agpazos85@gmail.com>
2023-06-15 09:57:39 -03:00
agodnic 19743322e4
Retrieve sender address for each transaction (#408)
### Summary

Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/404

The WormholeScan UI needs to display the sender address for each token bridge VAA. This pull request modifies the `tx-tracker` service to obtain that information for Solana and eight EVM chains.

The transaction sender will become accessible through the following endpoints:
* `GET /api/v1/global-tx/{chain}/{emitter}/{seq}`: field `originTx.from`.
* `GET /api/v1/transactions`: field `originAddress`.
In both cases, the field is nullable (i.e.: sometimes it may not be available due to eventual consistency or internal errors)
2023-06-14 17:46:53 -03:00
ftocal 7fb3857a97
297 contract watchertx trackeranalyticfly change access to use iam role (#306)
* Use aws role to access sqs

Co-authored-by: walker-16 <agpazos85@gmail.com>

* Add ServiceAccount in deployment

Co-authored-by: walker-16 <agpazos85@gmail.com>

---------

Co-authored-by: walker-16 <agpazos85@gmail.com>
2023-05-10 15:49:40 -03:00
agodnic 09870f3d65
[tx-tracker / api] Avoid duplicating data (#256)
### Summary
Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/254

For all chains except Solana, the data in `globalTransactions.sourceTx` was somewhat duplicated, since we already had that data in the `vaas` collection.
This pull request changes the `tx-tracker` service so that no redundant data will be written, and also changes the API to look up the data from the `vaas` collection instead.

The responses from the endpoint `/api/v1/global-tx` will no longer contain the field `originTx.from`.
2023-04-25 15:34:29 -03:00
agodnic 24673d4f31
Optimize tx-tracker backfiller (#220)
### Summary
The backfiller for tx-tracker data was not running as fast as it should. It was optimized it in order to reduce processing times.
2023-04-12 15:46:16 -03:00
agodnic 1f47f887da
[API/TX-TRACKER] Add support for Solana tx hashes (#218)
### Summary
This pull request adds the functionality to search for VAAs using Solana tx hashes, e.g.:

`GET /api/v1/vaas?txHash=2qnNNBQQQ152sGkQ1Rnq2Kdr48LvdN4oXwnTWyEmJqYYWFusLWxbwhpGS5KTXH1bKKx9gg9BLZMKd3g1cXiy7QMz`.

Also, the VAA objects returned by the API now have a new field `nativeTxHash`, which contains the tx hash that generated the VAA in the native format of the emitter chain.

Tracking issues: https://github.com/wormhole-foundation/wormhole-explorer/issues/212, https://github.com/wormhole-foundation/wormhole-explorer/issues/214

### Testing guidelines

Endpoints affected:
* `GET /api/v1/vaas` now supports Solana tx hashes by using the `?txHash=` query parameter. This search is limited to VAAs created by the portal token bridge.
* Some VAAs returned by the API should have a new field `nativeTxHash`. All VAAs related to the portal token bridge should have this field set.
*  An internal refactoring affected pretty much all routes under `GET /api/v1/vaas*`, which should be re-tested.
* In the response of `/api/v1/global-tx/`, the field `originTx.signer` has been renamed to `originTx.from`
2023-04-05 10:33:28 -03:00
agodnic 2da5719d49
[tx-tracker] Fix issues related to rate limits (#213)
### Summary

The tx-tracker service was exceeding node RPC rate limits, which caused it to fail.

This pull request changes the APIs upon which the service depends to avoid the same issue in the future.

Also, the backfiller job has been updated accordingly.

Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/205
2023-03-30 12:25:16 -03:00
agodnic d0cf9cc04b
[API] Fix issue in VAA search filters (#211)
### Summary

Searching for VAAs with the `txHash` and the `parsedPayload` parameters simultaneously wasn't working correctly. This commit fixes the problem.

Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/210
2023-03-27 16:14:38 -03:00
agodnic 02ffff93bf
[TX-TRACKER] Add support for Celo (#209)
### Summary
This pull request upgrades the tx-tracker service, adding support for transactions originated in the Celo blockchain.

Tracking issue: #206
2023-03-27 16:14:12 -03:00
ftocal e1298f54ee
logging as json (#208) 2023-03-23 15:36:50 -03:00
agodnic e5818a9dee
[TX TRACKER] Add backfiller for source transactions (#194)
### Summary

This pull request adds a Kubernetes job that backfills missing data (i.e.: transactions that the tx-tracker service has not processed).
2023-03-20 16:36:19 -03:00
agodnic 2b50eb5116
[TX TRACKER] Add component that obtains transaction data (#159)
### Summary

This pull request adds a new component under the directory `txtracker`.

This component retrieves information about portal token bridge transfers (i.e.: sender address, receiver address, timestamp), and persists the data in MongoDB.

### Chains supported

The blockhains currently supported are:
* Terra (27% of outgoing transfers)
* Solana (25%)
* BSC (25%)
* Eth (14%)
* Polygon (4%)

The remaining chains will be added iteratively as needed.
2023-03-14 15:49:10 -03:00