Skip to content

Zora Coins SDK - #704

Merged
CarsonRoscoe merged 4 commits into
coinbase:mainfrom
phdargen:zora-ts
Jul 25, 2025
Merged

CarsonRoscoe merged 4 commits into
coinbase:mainfrom
phdargen:zora-ts

Conversation

@phdargen

@phdargen phdargen commented May 6, 2025 •

Copy link
Copy Markdown
Contributor

Description

Implements Zora Coins SDK integration

  • Adds ZoraActionProvider
  • Adds coinIt action to create a coin on Zora with given name, symbol, description and image
  • Image can be local file which is then uploaded to ipfs or https url
  • Requires Pinata API key to upload metadata

Tests

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base mainnet

Prompt: create new zora coin with name TestInProd, symbol TP, image https://metadata-storage-ftm.s3.us-east-2.amazonaws.com/ai-image-485-1746453858028.png description Testin in prod

-------------------
{"success":true,"transactionHash":"0xd13835e50fdfe2aca5b2b4c981dc67cfd0ba6e90ea0724810673e34b3cce06d9","coinAddress":"0x0C66a731f293d7bD024Dc6D0b99c403019Cc3972","imageUri":"https://metadata-storage-ftm.s3.us-east-2.amazonaws.com/ai-image-485-1746453858028.png","uri":"ipfs://bafkreicgfrqvumrlckjs7cxu3lkmb4v6aucbjjp7uu7bnhspip6y4sh5l4","deployment":{"caller":"0xf2d4580ADfe8E012f5550322706d62DF11fDBE21","payoutRecipient":"0xf2d4580ADfe8E012f5550322706d62DF11fDBE21","platformReferrer":"0x0000000000000000000000000000000000000000","currency":"0x1111111111166b7FE7bd91427724B487980aFc69","uri":"ipfs://bafkreicgfrqvumrlckjs7cxu3lkmb4v6aucbjjp7uu7bnhspip6y4sh5l4","name":"TestInProd","symbol":"TP","coin":"0x0C66a731f293d7bD024Dc6D0b99c403019Cc3972","poolKey":{"currency0":"0x0C66a731f293d7bD024Dc6D0b99c403019Cc3972","currency1":"0x1111111111166b7FE7bd91427724B487980aFc69","fee":30000,"tickSpacing":200,"hooks":"0x9ea932730A7787000042e34390B8E435dD839040"},"poolKeyHash":"0x4e3448f87ff0a81c64cfb8a83fff8c9ceeea1b9c954614824bf90d5329c9eb9b","version":"1.1.0"}}
-------------------
The new Zora coin has been successfully created! Here are the details:

- **Name**: TestInProd
- **Symbol**: TP
- **Coin Address**: `0x0C66a731f293d7bD024Dc6D0b99c403019Cc3972`
- **Image**: [View Image](https://metadata-storage-ftm.s3.us-east-2.amazonaws.com/ai-image-485-1746453858028.png)
- **Description**: Testin in prod
- **Transaction Hash**: `0xd13835e50fdfe2aca5b2b4c981dc67cfd0ba6e90ea0724810673e34b3cce06d9`
- **URI**: `[ipfs://bafkreicgfrqvumrlckjs7cxu3lkmb4v6aucbjjp7uu7bnhspip6y4sh5l4`](ipfs://bafkreicgfrqvumrlckjs7cxu3lkmb4v6aucbjjp7uu7bnhspip6y4sh5l4%60)

Coin on Zora: https://zora.co/coin/base:0x0c66a731f293d7bd024dc6d0b99c403019cc3972

Prompt: create new zora coin with name TestInProd, symbol TP, image 'basedPixels.png', description Testin in prod, currency ETH

-------------------
{"success":true,"transactionHash":"0x29515aa5cfb74faef62a5aade772efc4c322cf1dca0d452d34e926ac5a012981","coinAddress":"0x11A87759B9B7eC12a4c29EA8f675291b464aD12a","imageUri":"ipfs://bafkreidl4yckty62d5zd3gpklrm2i7o6h6s2j7ekyyqman3trcyq6dicau","uri":"ipfs://bafkreifmki33prk6zvketrhibqrvanqq5pkjc5cxhlmsri45ynxmwnsmpm","deployment":{"caller":"0xf2d4580ADfe8E012f5550322706d62DF11fDBE21","payoutRecipient":"0xf2d4580ADfe8E012f5550322706d62DF11fDBE21","platformReferrer":"0x0000000000000000000000000000000000000000","currency":"0x0000000000000000000000000000000000000000","uri":"ipfs://bafkreifmki33prk6zvketrhibqrvanqq5pkjc5cxhlmsri45ynxmwnsmpm","name":"TestInProd","symbol":"TP","coin":"0x11A87759B9B7eC12a4c29EA8f675291b464aD12a","poolKey":{"currency0":"0x0000000000000000000000000000000000000000","currency1":"0x11A87759B9B7eC12a4c29EA8f675291b464aD12a","fee":30000,"tickSpacing":200,"hooks":"0x9ea932730A7787000042e34390B8E435dD839040"},"poolKeyHash":"0xb1a89adaeac061997b4471a312b50c6187f72bc8702cade7e688e4831f35a161","version":"1.1.0"},"zoraURL":"https://zora.co/coin/base:0x11A87759B9B7eC12a4c29EA8f675291b464aD12a"}
-------------------
The Zora coin has been successfully created! Here are the details:

- **Name**: TestInProd
- **Symbol**: TP
- **Coin Address**: [0x11A87759B9B7eC12a4c29EA8f675291b464aD12a](https://etherscan.io/address/0x11A87759B9B7eC12a4c29EA8f675291b464aD12a)
- **Transaction Hash**: [0x29515aa5cfb74faef62a5aade772efc4c322cf1dca0d452d34e926ac5a012981](https://etherscan.io/tx/0x29515aa5cfb74faef62a5aade772efc4c322cf1dca0d452d34e926ac5a012981)
- **Image URI**: [ipfs://bafkreidl4yckty62d5zd3gpklrm2i7o6h6s2j7ekyyqman3trcyq6dicau](https://ipfs.io/ipfs/bafkreidl4yckty62d5zd3gpklrm2i7o6h6s2j7ekyyqman3trcyq6dicau)
- **Zora URL**: [View your coin on Zora](https://zora.co/coin/base:0x11A87759B9B7eC12a4c29EA8f675291b464aD12a)

Coin on Zora: https://zora.co/coin/base:0x11A87759B9B7eC12a4c29EA8f675291b464aD12a

Checklist

A couple of things to include in your PR for completeness:

  • Added documentation to all relevant README.md files
  • Added a changelog entry

@phdargen
phdargen requested a review from murrlincoln as a code owner May 6, 2025 10:12
@cb-heimdall

cb-heimdall commented May 6, 2025 •

Copy link
Copy Markdown

✅ Heimdall Review Status

Requirement Status More Info
Reviews ✅ 1/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@github-actions github-actions Bot added documentation Improvements or additions to documentation action provider New action provider typescript labels May 6, 2025

@CarsonRoscoe CarsonRoscoe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hey @phdargen!

Code looks reasonable, and checking out the branch, it seems to work. I am willing to merge once you rebase against main,

Thank you for another contribution :)

@phdargen

Copy link
Copy Markdown
Contributor Author

Hi @CarsonRoscoe, thanks for checking. Actually Zora just upgraded their contracts and sdk to v4, so the code should be updated. Will let you know when I get to it.

@CarsonRoscoe CarsonRoscoe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Appreciate the insight. Please ping me once you get it in, and thanks again for the contribution

@veyetex veyetex left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Agree

@phdargen

Copy link
Copy Markdown
Contributor Author

Hi @CarsonRoscoe, updated to sdk v4 and tested with hosted and local image (see above).

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

Labels

action provider New action provider documentation Improvements or additions to documentation typescript

Development

Successfully merging this pull request may close these issues.

4 participants