-
Notifications
You must be signed in to change notification settings - Fork 524
feat: added Noves Intents action provider #762
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
base: main
Are you sure you want to change the base?
feat: added Noves Intents action provider #762
Conversation
🟡 Heimdall Review Status
|
Hi @marianowadinoves, thanks for your contribution! Could you please rebase against main, then I will do some testing. A few initial comments below |
It would be great if you could include the result of some manual end-to-end testing in the PR description including prompt + reply |
@@ -0,0 +1,5 @@ | |||
--- | |||
"@coinbase/agentkit": minor |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor -> patch
"@coinbase/cdp-sdk": "^1.3.0", | ||
"@coinbase/coinbase-sdk": "^0.20.0", | ||
"@jup-ag/api": "^6.0.39", | ||
"@noves/intent-ethers-provider": "^0.1.3", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a particular reason why this doesn't use noves-sdk instead? ethers dependency appears unnecessary here
|
||
## Adding New Actions | ||
|
||
To add new Alchemy actions: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alchemy -> Noves
*/ | ||
constructor() { | ||
super("noves", []); | ||
this.intentProvider = new IntentProvider(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this not require an API key?
}) | ||
async getTranslatedTransaction(args: z.infer<typeof NovesTranslatedTxSchema>): Promise<string> { | ||
try { | ||
const tx = await this.intentProvider.getTranslatedTx(args.chain, args.tx); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think would be better to default to the walletProvider.getNetwork here. Might need a untility function to convert CDP network format to Noves format, eg base-mainnet -> base
Noves Action Provider
Description
This PR adds a new Noves action provider for AgentKit that enables users to interact with Noves Intents to retrieve data featuring: human-readable transaction descriptions, current/historical token prices, and recent transactions.
Tests / Example
Showcase using Vercel/ai chatbot.
action-provider-ai-chat.webm
Checklist
A couple of things to include in your PR for completeness: