Commit graph

109 commits

Author SHA1 Message Date
Dagur Valberg Johannsson
d85bc2c9db
Update copyright headers 2026-01-21 12:37:13 +01:00
Dagur Valberg Johannsson
1dabcc756c Merge branch 'shutdown' into 'master'
Add graceful shutdown for background threads

See merge request riftenlabs/riftenlabs-indexer!51
2026-01-21 11:36:47 +00:00
Dagur Valberg Johannsson
ec20a2ad75 Add graceful shutdown for background threads
Introduce a shutdown flag and Rocket fairing that signals background
threads to exit cleanly when Ctrl+C is pressed. Affects the indexing
thread, metrics updater, and block receiver loop.
2026-01-21 12:23:08 +01:00
Dagur Valberg Johannsson
16ed485711 Merge branch 'bug-bcmr' into 'master'
Fix bcmr_failure unique constraint for multi-token transactions

Closes #17

See merge request riftenlabs/riftenlabs-indexer!50
2026-01-21 10:01:23 +00:00
Dagur Valberg Johannsson
e93d46ec69 Add Cache-Control headers to RPC endpoints for load balancer caching
Introduce CachedJson response wrapper with cache duration based on data mutability:
- CACHE_IMMUTABLE (1 day): historical data with explicit timestamps
- CACHE_BCMR (5 min): token metadata
- CACHE_AGGREGATE (60s): aggregate data that changes with blocks
- CACHE_NONE: real-time data (current price, active pools, latest txs)

Endpoints dynamically select cache duration based on whether time parameters
are explicitly provided (historical/immutable) or defaulted to now (live).
2026-01-21 10:37:55 +01:00
Dagur Valberg Johannsson
46fb62d29b Fix bcmr_failure unique constraint for multi-token transactions
Remove errant UNIQUE INDEX on (utxo, txid) that conflicted with the
PRIMARY KEY (token_id, utxo, txid). A single transaction can update
auth chains for multiple tokens, requiring the same (utxo, txid) pair
to exist with different token_ids. The unique index blocked this.

The index was also unnecessary - EXPLAIN QUERY PLAN shows the PRIMARY
KEY index is used for all bcmr_failure lookups.

Add test covering multi-token failure recording.
2026-01-21 10:17:49 +01:00
Dagur Valberg Johannsson
2c76bf09c7 Fix incorrect 5XX responses for user input errors
Return proper 4XX status codes for client errors to prevent load balancers
from misinterpreting input validation failures as server errors. Add
centralized ApiResult type and ApiErrorCode enum for consistent handling.
2026-01-21 08:27:57 +01:00
Dagur Valberg Johannsson
50cd23dd34
Add RPC call to retrieve pool ID
Add a call that returns a pool ID given an utxo
2026-01-09 15:29:05 +01:00
Dagur Valberg Johannsson
a6c6159eba
Add Chipnet support 2026-01-09 13:46:58 +01:00
jakobsn
8fd14cc65b Manage several entries one txid 2025-11-17 09:21:51 +00:00
jakobsn
e053d52a76 Resolve "Olando auth-header not tracked" 2025-11-07 13:53:47 +00:00
Dagur Valberg Johannsson
20f17a220a
Add test for OLANDO authchain updates 2025-10-14 09:36:03 +02:00
Dagur Valberg Johannsson
861b9d16aa Merge branch 'volume-index' into 'master'
Add a volume index

See merge request riftenlabs/riftenlabs-indexer!41
2025-10-13 06:25:02 +00:00
Dagur Valberg Johannsson
ff3438ca9f
Add index to BCMR lookup 2025-10-08 14:03:20 +02:00
Dagur Valberg Johannsson
8be4cf894e
Add a volume index
Significantly improves cpu load of volume queries
2025-10-08 13:56:36 +02:00
jakobsn
885dde9534 Resolve "Panic occurred: attempt to multiply with overflow" 2025-10-03 13:32:37 +00:00
jakobsn
36ec60e049 Merge branch '13-returnoldestpoolcreationtime' into 'master'
Expose first pool created timestamp

Closes #13

See merge request riftenlabs/riftenlabs-indexer!38
2025-09-17 10:11:32 +00:00
Jakob Notland
3b70e3e932 Format 2025-09-17 12:08:03 +02:00
Jakob Notland
af97a75540 Consider blockheight before timestamp 2025-09-17 12:05:24 +02:00
Jakob Notland
46462284e8 Clean 2025-09-17 11:52:22 +02:00
jakobsn
93de5e04eb Resolve "incorrectVolumeForCandles" 2025-09-17 09:50:39 +00:00
Jakob Notland
4d2336d9d7 clean 2025-09-17 11:27:05 +02:00
Jakob Notland
7e7f5b9bc7 Expose first pool created timestamp 2025-09-17 11:11:21 +02:00
jakobsn
6f25872ef7 Delete zero-tvl tokens from cached list. Allow zero-tvl search on exact tokenId 2025-09-16 09:10:54 +00:00
jakobsn
debe1630f4 Handleyoungtokenpricedifferences 2025-09-11 07:36:06 +00:00
jakobsn
f83f472656
Goodsearchandsort 2025-09-05 13:53:10 +00:00
Dagur Valberg Johannsson
8dc824860c
bug: Fix volume for periods with no trades
Return 0 in volume rather than query error.
2025-08-19 11:45:12 +02:00
Dagur Valberg Johannsson
ec49bf765b
Improve pool visitor queries; make price a visitor
This adds a big performance boost to pool visitor queries, also moving
token price queries to use the visitor model.
2025-08-19 02:37:28 +02:00
Dagur Valberg Johannsson
14a7486c1d
rpc: Add /volume endpoints
Add /volume endpoints that use the new token/sats delta entries for
faster volume queries.
2025-08-18 09:53:40 +02:00
Dagur Valberg Johannsson
6e0a56e33b
Add traded sats delta to pool history entry
Will make it faster to calculate volume.
2025-08-15 22:26:03 +02:00
Dagur Valberg Johannsson
6c13775475
Add simple db version check 2025-08-15 22:26:03 +02:00
Dagur Valberg Johannsson
64ce9ddceb Merge branch 'delay-crc20' into 'master'
Delay CRC20 indexing

See merge request riftenlabs/riftenlabs-indexer!29
2025-08-15 20:25:53 +00:00
Dagur Valberg Johannsson
e2cd74f68c
Delay CRC20 indexing
Delay indexing CRC20 details; as the electrum queries can be slow and
interfere with the indexing.
2025-08-15 21:06:35 +02:00
Dagur Valberg Johannsson
e5f77fb1d4
Use Kahn's algorithm for ttor sorting
Improves indexing speed
2025-08-15 19:00:39 +02:00
Dagur Valberg Johannsson
5017713ab2
bug: TVL filtered by token
Fix query bug for TVL filtered by token and add a test.
2025-08-15 14:55:54 +02:00
Dagur Valberg Johannsson
007aeb06dd
contrib: Tool for documenting API calls 2025-07-22 13:08:48 +02:00
Dagur Valberg Johannsson
be152c33e5
Add a tvl test 2025-07-18 17:10:08 +02:00
Dagur Valberg Johannsson
dc0457de9f
Remove duplicate code; make use of pool visitor 2025-07-18 17:09:56 +02:00
Dagur Valberg Johannsson
8284b03528
Improve TVL queries
Fixes #8
2025-07-18 14:13:08 +02:00
Dagur Valberg Johannsson
7d9352cf53
Fix clippy issues 2025-07-16 13:52:46 +02:00
Dagur Valberg Johannsson
460a1fc7f1
Add arbitrary int support 2025-07-16 09:30:17 +02:00
jakobsn
b17b8a3947 Resolve "Oracle prices" 2025-06-17 14:04:26 +00:00
Dagur Valberg Johannsson
3d83bdee47 Merge branch 'candlesticks2' into 'master'
Candlesticks2

See merge request riftenlabs/riftenlabs-indexer!20
2025-06-17 13:22:46 +00:00
jakobsn
d1e265cf2f Candlesticks2 2025-06-17 13:22:46 +00:00
Dagur Valberg Johannsson
8b16e3d1f3
bump minor deps 2025-06-12 10:08:22 +02:00
Dagur Valberg Johannsson
78e391560f
Added support for delphi oracle
This allows fetching historical asset prices from the blockchain.
2025-05-21 13:33:26 +02:00
Dagur Valberg Johannsson
84ea84f4be
Filter tokens with no liquidity 2025-02-17 21:10:16 +01:00
Dagur Valberg Johannsson
4bf31c0131
Don't trigger parallel cache updates 2025-02-17 21:07:26 +01:00
Dagur Valberg Johannsson
bb46b8e3f8
Add IPFS gateway 2025-02-15 09:15:22 +01:00
Dagur Valberg Johannsson
219d0ff75d
missing file 2025-02-14 20:43:51 +01:00