wormhole-explorer/contract-watcher/watcher
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
..
aptos_watcher.go Add endpoint `GET /api/v1/transactions` (#388) 2023-06-12 11:43:48 -03:00
contract_tracker.go Add backfiller command to process a chain (#364) 2023-05-31 10:29:47 -03:00
evm.go Add endpoint `GET /api/v1/transactions` (#388) 2023-06-12 11:43:48 -03:00
evm_standard_watcher.go Contract-watcher add support wormhole connect wrapper contract (#391) 2023-06-08 17:53:51 -03:00
evm_test.go Add oasis support to contract watcher (#258) 2023-04-25 14:48:26 -03:00
evm_watcher.go Contract-watcher add support wormhole connect wrapper contract (#391) 2023-06-08 17:53:51 -03:00
pagination.go Add backfiller command to process a chain (#364) 2023-05-31 10:29:47 -03:00
solana_watcher.go Add endpoint `GET /api/v1/transactions` (#388) 2023-06-12 11:43:48 -03:00
terra_watcher.go Add endpoint `GET /api/v1/transactions` (#388) 2023-06-12 11:43:48 -03:00
watcher.go Add endpoint `GET /api/v1/transactions` (#388) 2023-06-12 11:43:48 -03:00
watcher_test.go Add endpoint `GET /api/v1/transactions` (#388) 2023-06-12 11:43:48 -03:00