Thank you for checking it out.
Questions [1]
[1] This is the Oku API, which I understand was developed under a Uniswap Foundation grant. See also Uniswap v3 has a brand new front end - Blockworks for some background.
I see, I just didn’t know this. I would like to take a look.
It is not on the ICP network. How can I check if it is IPV6-compatible?
Currently on the ICP it must be able to communicate over ipv6.
I’m sure there are other ways to check, e.g. ping6.
Getting the data that I have obtained from this API from on-chain data would be relatively straightforward for most of the variables used, but for a couple of them it is problematic:
The remaining variables could be derived from 4 separate contract calls within UniswapV3Pool
I think your understanding is correct, I was just asking the question based on trust in https and its endpoints and if it is difficult to get from onchain (and endpoints can be trusted), then I think you can make a decision like this.
Questions [2]
In a nutshell, you want to do something like a reversal?
If you want to be able to choose between token0 and token1, I think you can control such a part by adding an argument when calling algorithm_lens to make it a single algorithm_lens logic.
Bugs? [1]
Sorry, this was about the relayer manifest.
On top of that, relayer seemed to be fine. Please let it go.
Improvements [2]
The address of the snapshot_indexer to which algorithm_lens is called is not hardcoded. The actual address is specified by the lens_target parameter in the manifest for relayer and snapshot_indexer_icp. (If you call algorithm_lens directly, it is the vec text argument.)
The datasource.methods.id of algorithm_lens will autoload .did only when the component id of the same project is specified.
The id (or func_name_alias) directly affects the function generation for cross canister calls in logics. If you are calling a canister outside of your project, make sure to specify the correct identifier (candid_file_path if you use a custom type), and make sure that the component (ex: relayer) calling the algorithm_lens has a lens_ target of the component (ex: relayer) calling algorithm_lens should be a data source such as snapshot_indexer.