Commit Graph

144 Commits

Author SHA1 Message Date
ftocal 6be2607c65
Fix vaa_volume measurement in analytics and api queries (#719)
Co-authored-by: walker-16 <agpazos85@gmail.com>
2023-10-02 11:21:13 -03:00
walker-16 504c6a2bf4
fix transaction endpoint to return globaltx if originTx doesnot exist… (#718)
fix transaction endpoint to return globaltx if originTx doesnot exists but the destinationTx exists
2023-09-27 14:32:32 -03:00
walker-16 5c49a5ee9c
Fix get transactions sorting (#711) 2023-09-26 15:02:57 -03:00
gipsh f67a513244
change search key for _id (#704) 2023-09-26 10:42:08 -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
walker-16 923ee8d337
Fix api governor max availibility by chain endpoint with enqueued VAA… (#700)
Fix api governor max availibility by chain endpoint with enqueued VAA data
2023-09-22 13:01:30 -03:00
gipsh 7b88249933
Relays api endpoint (#689)
* add relay endpoint

* documentation

* simplify code

* fix comment
2023-09-13 10:23:10 -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
gipsh 0741ef7045
update swagger doc to replace wormscan with wormholescan (#643) 2023-08-18 13:30:19 -03:00
walker-16 87fd9d15ef
Create an api endpoint to call vaa payload parser component (#596)
* move vaa payload parser to common

* Add proxy endpoint to vaa payload parser

* Modify api deployment

* fix docs

* Fix swagger documentation
2023-08-10 11:02:14 -03:00
ftocal 0d2b5bdfd7
Add index to parsedVaa collection (#616)
* 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>
2023-08-09 11:55:51 -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 0f1797e44a
[API] Add `toChain` filter to `GET /api/v1/vaas/{emitterChain}/{emitterAddr}` (#598)
### 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})`
2023-08-01 16:38:34 -03:00
agodnic d267d3ae1f
Transaction search by address: fix case sensitivity (#591)
### Description

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

The endpoint `GET /api/v1/transactions?address={addr}` was incorrectly handling EVM addresses containing uppercase characters. This pull request fixes the issue.
2023-07-28 12:27:48 -03:00
agodnic afbfac05bd
Refactor: disable fiber message on API startup (#594)
Disable fiber startup message on API
2023-07-28 12:27:09 -03:00
agodnic 4ee9abe91e
Exclude invalid chain IDs from top chain pairs (#574)
### Description

Tracking issues: https://github.com/wormhole-foundation/wormhole-explorer/issues/572, https://github.com/wormhole-foundation/wormhole-explorer/issues/573

This pull request fixes an issue in which the endpoint `GET /api/v1/top-chain-pairs-by-num-transfers` was returning invalid chain IDs for testnet.
2023-07-24 09:20:01 -03:00
agodnic 80280da757
Handle multiple VAAs with the same `txHash` (#564)
### 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
2023-07-20 16:37:45 -03:00
agodnic 3c8b28d69f
Fix inconsistencies in analytics-related endpoints (#557)
### 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`.
2023-07-19 15:03:43 -03:00
agodnic 0ea35a83eb
Update base URL for the external TVL API (#560) 2023-07-19 15:03:28 -03:00
agodnic 31d2d9fc72
Fix `GET /api/v1/transactions?address={addr}` (#550)
### Description

This pull request fixes a broken database query in `GET /api/v1/transactions?address={addr}`, which was causing the endpoint to fail.
2023-07-18 09:54:52 -03:00
agodnic 0425a89e75
Fix `parsedPayload` param in `GET /api/v1/vaas` (#536)
Fix `parsedPayload` param in `GET /api/v1/vaas`
2023-07-13 15:17:09 -03:00
ftocal d2916ff92d
Fix filter chain id unknown in x-chain-activity endpoint (#533)
Co-authored-by: walker-16 <agpazos85@gmail.com>
2023-07-13 12:59:37 -03:00
agodnic 55d4b352ca
Remove unused fields from the origin transaction model (#528)
### 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.
2023-07-12 16:47:33 -03:00
agodnic fe196e35f0
[API] Standard payload changes (#520)
### 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.
2023-07-12 12:51:52 -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
ftocal 9198c129e1
Add environment to promethes metrics for api (#507) 2023-07-05 16:15:29 -03:00
agodnic 4ce2d1e329
Remove notional cache from the `api` component (#500)
### Summary

The `api` component was importing and initializing the notional cache, but not using it.

This pull request removes the unnecessary dependency.
2023-07-05 15:07:24 -03:00
agodnic 5aedf0247e
Fix issue in `txHash` search (#494)
### Description

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

Fix an issue in which transaction hash search was failing for VAAs that have the same `txHash`.
2023-07-04 09:58:21 -03:00
gipsh 78bd0cbd75
add prefix to chacheable and fix deploy (#479) 2023-06-29 15:54:45 -03:00
gipsh 2306d103d8
321 replace redis to elasticcache (#467)
* redis prefix support for caches

* fly support for prefix

* unit tests

* redis prefix for notional cache updater

* fix test

* fix tests

* use redis-prfix from config map
2023-06-28 15:04:36 -03:00
agodnic 98ae127278
[API] Expose emitter native addresses (#466)
### Description

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

The Wormhole Scan UI needs to provide a link to the emitter address for each VAA.

This pull request adds a field containing decoded emitter addresses in the following endpoints:
* `GET /api/v1/transactions`: field `emitterNativeAddress`
* `GET /api/v1/vaas*`: field `emiterNativeAddr`
2023-06-28 14:54:51 -03:00
agodnic f7543a1054
Remove field `vaa.NativeTxHash` from JSON model (#462)
### Description

Remove the `NativeTxHash` from the JSON model returned by `GET /api/v1/vaas`. That field was never meant to be exposed to the API users.
2023-06-27 10:12:55 -03:00
agodnic 5663fed0c9
Fix transaction hash search for Aptos (#461)
### Description

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

In `GET /api/v1/vaas?txHash={hash}`, searching for Aptos VAAs by transaction hash was not working correctly. This pull request fixes the issue.
2023-06-27 10:12:32 -03:00
walker-16 737405054a
446 create prometheus metrics (#457)
* Add vaa metrics

* Add dummy metrics and observations metrics

* Add heartbeat, governorConfig, governorStatus metrics

* fix go.sum

* Add deploy en vars METRICS_ENABLED to fly component

Co-authored-by: ftocal <fert1335@gmail.com>

---------

Co-authored-by: Fernando Torres <fert1335@gmail.com>
2023-06-26 12:47:22 -03:00
agodnic 8b58196181
Fix transaction hash search for Sui (#448)
### Description

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

For Sui transaction hashes, calling `GET /api/v1/vaas?txHash={hash}` returned an HTTP status code of 400 and a message of `"MALFORMED TX HASH"`.

This pull request fixes the problem.
2023-06-22 10:32:17 -03:00
agodnic 317e411900
Fix tx hash parsing for Solana (#444)
### Description

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

Some Solana transaction hashes were failing to parse. This pull request fixes the issue.
2023-06-21 21:46:23 -03:00
ftocal d0cea55f2d
Add cache to dashboard endpoints (#441)
* Add cache to dashboard endpoints

* Code review updates
2023-06-21 17:00:29 -03:00
agodnic 532412077b
Fix `vaa.txHash` for Solana and Aptos (#443)
For Solana and Aptos, the transaction hash returned by `GET /api/v1/vaas` is incorrect (currently it's the value transmitted in the gossip network, which is not the real transaction hash).

This pull request replaces it with the real transaction hash.
2023-06-21 17:00:11 -03:00
gipsh 2c476dd696
update storage version and improve error log (#438)
Co-authored-by: gipsh <hernangips@OnoSendai-2.local>
2023-06-21 12:31:40 -03:00
gipsh 669a14cd62
update modules for api (#432)
update

Co-authored-by: Hernan Gips <hernangips@OnoSendai-2.local>
2023-06-21 10:56:51 -03:00
gipsh 32e67a5824
Use new custom storage for redis (#425)
* allow prefix for redis keys on rate limiter

* use storage module from lib

---------

Co-authored-by: Hernan Gips <hernangips@OnoSendai.local>
2023-06-20 12:25:04 -03:00
ftocal 69885aed0c
Fix intermittent failure in x-chain-activity endpoint (#420)
* Replace start_time and end_time query parameters with fixed ranges at the endpoint of the chain activity
Add InfluxDB tasks for enpdoint chain-activity for each timeSpan
Add cache for chain-activity endpoint

* Code review updates
2023-06-20 10:34:20 -03:00
gipsh b490be0f5d
fix api doc basepath (#423)
fix api doc basepath

Co-authored-by: Hernan Gips <hernangips@OnoSendai.local>
2023-06-18 13:17:22 -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
gipsh ba3d1d9e61
Vanilla rate limiter (#414)
* update doc

* api def update

* first commit

* support redis, allow for private ips

* add deployment vars

---------

Co-authored-by: Hernan Gips <hernangips@OnoSendai.local>
2023-06-15 23:22:47 -03:00
walker-16 97946d5a56
Issue [#446] remove duplicate data transaction history graph (#413) 2023-06-15 13:01:57 -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
agodnic a0475ab17e
Add endpoint `GET /api/v1/transactions` (#388)
### Summary
Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/385

This pull request implements a new endpoint, `GET /api/v1/transactions`, which will be consumed by the wormhole explorer UI.

The endpoint returns a paginated list of transactions, in which each element contains a brief overview of the transaction (ID, txHash, status, etc.).

It exposes offset-based pagination via the parameters `page` and `pageSize`. Also, results can be obtained for a specific address by using the `address` query parameter.

The response model looks like this:
```json
{
  "transactions": [
   {
    "id": "1/5ec18c34b47c63d17ab43b07b9b2319ea5ee2d163bce2e467000174e238c8e7f/12965",
    "timestamp": "2023-06-08T19:30:19Z",
    "txHash": "a302c4ab2d6b9a6003951d2e91f8fdbb83cfa20f6ffb588b95ef0290aab37066",
    "originChain": 1,
    "status": "ongoing"
  },
  {
    "id": "22/0000000000000000000000000000000000000000000000000000000000000001/18308",
    "timestamp": "2023-06-08T19:17:14Z",
    "txHash": "00000000000000000000000000000000000000000000000000000000000047e7",
    "originChain": 22,
    "destinationAddress": "0x00000000000000000000000067e8a40816a983fbe3294aaebd0cc2391815b86b",
    "destinationChain": 5,
    "tokenAmount": "0.12",
    "usdAmount": "0.12012",
    "symbol": "USDC",
    "status": "completed"
  },
  ...
  ]
}
```

### Limitations of the current implementation
1. Doesn't return the total number of results (this may result in a performance issue when we filter by address)
2. Can only filter by receiver address (we don't have sender information in the database yet)
2023-06-12 11:43:48 -03:00
ftocal b02d602b14
fix percentage for destinations when is notional (#389) 2023-06-08 10:38:34 -03:00