This project aims to provide a scoped indexer for retrieving ADA Handle information from the Cardano blockchain and exposing it via REST using Yaci Store
Is your feature request related to a problem? Please describe.
When launching the resolver, both api and yaci-store cralwer run at the same time. It's not possible to run api only AND two crawlers can't run against the same db w/o risking corrupting it or creating contention.
Describe the solution you'd like
Introducing profile to either:
disable crawler if desired default behaviour is to have it running
enable crawler if desired default behaviour is to have it NOT running
Currently the api only offers a way to get the stake address by providing an ADA handle "/api/v1/addresses/by-ada-handle/{adaHandle}" but we also need a way to resolve the payment address, as the payment address is needed in context of sending assets from one handle user to the other.
"/api/v1/addresses/by-ada-handle/{adaHandle}" should therefore return:
The current behavior is that the stake address will be returned in plain text and if the user did not register its stake address, the payment address will be returned, which is confusing anyways.
Is your feature request related to a problem? Please describe.
Currently, there is no way for ada-handle resolver to know how old is the data we're returning as response.
This is dangerous as adahandle resolution to stale data could lead to funds sent to wrong addresses.
Describe the solution you'd like
We should add extra information to the response that give a sense of how fresh the response is.
A possible solution is to add the current observed tip/slot within the resolver.
Describe alternatives you've considered
error out is stale data (a bit extreme if you ask)
instead of showing last slot, maybe just a status=synced|stale|drifted|whatever
It is possible to run this as microservice but it would be nice if a more monolithic approach would be supported where as one could include ada handle related repositories and controllers via including simply a Spring Boot Starter dependency.
I am not sure if it is possible to support both systems, but it could be since then the actual microservice would just use only adahandle spring boot starter as a library...