Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: coinbase webhook + add more examples + testing #801

Merged
merged 11 commits into from
Dec 6, 2024

Conversation

monilpat
Copy link
Collaborator

@monilpat monilpat commented Dec 3, 2024


Relates to:

Implementation of a Coinbase Webhook Plugin for Eliza + add more examples to other plugins and clean up


Risks:

  • Low Risk:
    • Potential misconfiguration of the webhook URL.
    • Possible delays in receiving real-time events due to network or service interruptions.
  • Mitigation: Thorough testing using services like [Webhook.site](https://webhook.site) and error-handling mechanisms.

Background:

What does this PR do?

This PR introduces a plugin enabling Eliza to manage Coinbase webhooks. It allows real-time updates and actions based on cryptocurrency transactions, enhancing the system's dynamic capabilities.

What kind of change is this?

  • Feature: Adds new functionality to create, manage, and retrieve Coinbase webhooks for cryptocurrency events.
  • Improvement: Provides support for seamless integration with the Coinbase SDK.

Documentation changes needed?

  • Yes:
    • Update the project documentation to include instructions on configuring and testing the Coinbase Webhook Plugin.
    • Add a section detailing supported event types and example webhook payloads.

Testing:

Where should a reviewer start?

  1. Review the CREATE_WEBHOOK and webhookProvider functionality for accurate event handling and API interactions.
  2. Verify the implementation of error-handling and security measures (e.g., webhook secret validation).

Screengrab:
Screenshot 2024-12-05 at 8 30 38 PM

Detailed testing steps:

  1. Testing Webhook Creation:

    • Use a public testing service like [Webhook.site](https://webhook.site) to create a webhook URL.
    • Replace the notificationUri field in the example code with the generated URL.
    • Run the CREATE_WEBHOOK action and validate the response.
  2. Testing Webhook Listing:

    • Trigger the webhookProvider action to fetch and log existing webhooks.
    • Cross-check the response data with Coinbase's CDP portal to ensure consistency.
  3. Error Scenarios:

    • Test webhook creation with invalid inputs (e.g., invalid network ID or event type) and confirm appropriate error responses.
  4. Security Validation:

    • Verify the webhook secret is securely stored and not exposed in logs or public code.

Deploy Notes:

  • Deploy as part of the Eliza core runtime update.
  • Ensure the necessary environment variables (e.g., API keys, webhook secret) are set in production.
  • Include retry logic in case of intermittent service failures during webhook registration.

Database Changes:

  • None: This plugin does not introduce database dependencies.

Deployment Instructions:

  1. Set up the Coinbase API key file in a secure environment.
  2. Configure runtime.character.settings.secrets with the webhook secret.
  3. Verify the webhook functionality using test and production environments.

Discord Username:

0x8664

@monilpat monilpat marked this pull request as draft December 3, 2024 00:10
@monilpat monilpat changed the title fix: testing coinbase logic feat: coinbase webhook + clean up Dec 6, 2024
@monilpat monilpat changed the title feat: coinbase webhook + clean up feat: coinbase webhook + add more examples + testing Dec 6, 2024
@monilpat monilpat marked this pull request as ready for review December 6, 2024 05:06
Copy link
Contributor

@snobbee snobbee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jkbrooks jkbrooks merged commit c9981d7 into elizaOS:main Dec 6, 2024
3 checks passed
dsldsl pushed a commit to dsldsl/eliza that referenced this pull request Dec 7, 2024
…sting

feat: coinbase webhook + add more examples + testing
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.

3 participants