Skip to content

feat: Create coinbase-advanced rest plugin#293

Open
randumari wants to merge 12 commits into
eprbell:mainfrom
randumari:create_coinbase_advanced_rest_plugin
Open

feat: Create coinbase-advanced rest plugin#293
randumari wants to merge 12 commits into
eprbell:mainfrom
randumari:create_coinbase_advanced_rest_plugin

Conversation

@randumari
Copy link
Copy Markdown

Adding a new coinbase_advanced rest plugin. The old plugins are no longer functional, as Coinbase Pro no longer exists and the old rest api requires different authentication.

This also includes a change to the "coinbase_advanced" spot price retrieval plugin, as it was failing due to Coinbase's introduction of USDC without providing a USDC/USD product-id/lookup.

A Dockerfile is included in case security-conscious users want to run in a sandbox and also because the new rest plugin requires the Coinbase Rest Client, which this Dockerfile auto-installs.

…nger functional, as Coinbase Pro no longer exists and the old rest api requires different authentication.
…egged value for now for handling cases where Coinbase hasn't provided us with more specific values when calculating spot prices.
… coinbase_advanced rest plugin. This is to simplify setup and provide some additional security to users.
@randumari
Copy link
Copy Markdown
Author

What else is needed to get this merged in?

I see Documentation Check errors with broken links, but those links don't appear to be related to changes in this PR.

I believe I've fixed all errors reported by pylint. Some warnings and convention level messages remain and I could resolve a few of those, but a few I disagree with, too. Does this project treat pylint warnings as a cause for static analysis failure, or are there errors that I didn't see in the log?

…ipping broken link detection on Binance URLs, as they are blocked by certain jurisdictions.
…nger functional, as Coinbase Pro no longer exists and the old rest api requires different authentication.
…egged value for now for handling cases where Coinbase hasn't provided us with more specific values when calculating spot prices.
… coinbase_advanced rest plugin. This is to simplify setup and provide some additional security to users.
…ipping broken link detection on Binance URLs, as they are blocked by certain jurisdictions.
@macanudo527 macanudo527 force-pushed the create_coinbase_advanced_rest_plugin branch from c709921 to 71074d4 Compare February 12, 2026 00:50
@anlach
Copy link
Copy Markdown

anlach commented Mar 7, 2026

Were there changes to abstract_input_plugin.py that are not included? This doesn't work for me.

ERROR: Fatal exception occurred:
Traceback (most recent call last):
  File "/home/anlach/Code/dali-rp2/src/dali/dali_main.py", line 141, in _dali_main_internal
    input_plugin: AbstractInputPlugin = plugin_module.InputPlugin(**plugin_configuration)
  File "/home/anlach/Code/dali-rp2/src/dali/plugin/input/rest/coinbase_advanced.py", line 179, in __init__
    self.__api_url: str = InputPlugin.__API_URL
AttributeError: type object 'InputPlugin' has no attribute '_InputPlugin__API_URL'

@randumari
Copy link
Copy Markdown
Author

@anlach Thank you for reporting this. I'm not sure how this was working before, but I reproduced that issue. It seems to be some stray code that I copied from the original Coinbase plugin and isn't needed for the coinbase-advanced plugin, so I removed it (along with another typo). The changes are now in this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants