Skip to content

fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution - #1

Open
murrlincoln wants to merge 46 commits into
masterfrom
fix/pyth-eth-price-feed-id
Open

fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution#1
murrlincoln wants to merge 46 commits into
masterfrom
fix/pyth-eth-price-feed-id

Conversation

@murrlincoln

Copy link
Copy Markdown
Owner

Description

This PR adds a hardcoded price feed ID for ETH in the Pyth action provider as a temporary stop-gap solution.

Changes

  • Added special case handling for ETH token symbol in both Python and TypeScript implementations
  • Returns hardcoded price feed ID: 0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
  • Added comments explaining this is a temporary solution until proper new API link is provided after discussions with the Pyth team

Context

This change addresses an issue with fetching ETH price feed ID from Pyth's API. The hardcoded value ensures consistent behavior for ETH price queries while we wait for the proper API update from the Pyth team.

Testing

  • This change maintains backward compatibility
  • Other token symbols continue to use the dynamic API lookup
  • ETH specifically returns the hardcoded price feed ID

Note

This is explicitly marked as a stop-gap solution in the code comments and should be revisited once the Pyth team provides the proper API endpoint.

Fallengirland others added 30 commits June 19, 2025 07:52
Changed `AgentKit.from` argument keys from cdpApiKeyPrivate -> cdpApiKeySecret
* feat: rewrote x402ActionProvider to work much better
* feat: added README
* chore: added changeset
…inbase#778)
* feat: added x402ActionProvider to python and added to one example
* feat: unit tests
* feat: added changelog and readme changes
* feat: on retry, using original selected payment requirements for selection
* chore: sync locks
* fix: unit tests
* chore: disabled 3 tests struggling to mock requests
* fix: cdp_evm_smart_wallet_provider sign_typed_data implementation
* rename: CdpEvmServerWalletProvider to CdpEvmWalletProvider in python
* fix: chore: removed unused code
* chore: removed logs
* feat: validate x402 action provider works with cdp wallet providers in ts
* feat: rename CdpEvmSmartWalletProvider to CdpSmartWalletProvider
* revert: changelog update
* chore: changelogs
* feat: validated create-onchain-agent in python
* feat: validated create-onchain-agent in typescript
* fix: format/lint/locks
* fix: updated workflows for example changes in python
* fix: typescript unit tests
* fix: python unit tests
* feat: changesets
* fix: added missing env vars to cli
* unwrap weth action
* updated docs
* description fix, updated README
* changeset updated
* Added media upload support for Twitter and embeds support for Farcaster
* improve action description
* strands agents framework extension
* strands agents extension example chatbot
* Create .env.local
* Delete python/examples/strands-agents-cdp-server-chatbot/wallet_data_base_sepolia.txt
* Update README.md
* add zora action provider
* remove walletClient dep
* rebase
* update to zora coins sdk v4
* add truemarkets action provider
* added tests
* use multicall for more efficient rpc queries
* use multicall for get_market_details
* fix tyd markets
* improve prompt
* feat: prepare strands agents for pypi packaging
* feat: added coinbase-agentkit dependency to framework extension
* chore: Removed AlloraActionProvider due to depps conflict
* temp: strands references local python to bypass lock gha
phdargenand others added 11 commits August 6, 2025 10:03
* add paymaster to cdp smart wallet
* add changeset
* feat(TS): Integrate Zerion API for agentkit
* chore: resolve comments
… (ts,python) (coinbase#824)
* add getPublicClient and RPC_URL config
* update actions to use wallet public client
* add custom RPC url (python)
* add changelog entry
* update readmes and contributing guide
* add missing wallet providers to docs
* feat: add pydantic ai framework extension
* feat: add docs
* style: apply format
* feat: add if args_schema
* feat: add MakeFile
* feat: add uv lock
* chore: remove type ignore
* feat: add nest asyncio deps
* docs: add docstring
* feat: add pydantic ai cdp server example
* docs: add readme for example
* docs: add pydantic ai to python/readme
* feat: update agentkit version
* style: apply format
* chore: remove git ignore
* feat: add .env.local
* feat: add makefile for example
* feat: remove unused make commands
* fix: fix import wallet providers
* chore: update uv.lock
* refactor: change example dir name
* feat: remove duplicated dependencies, add pydantic ai link to readme
* docs: update docstring
* tests: add test case
* feat: update uvlock
* feat: update uvlock
* feat: update uv.lock with agentkit 0.7.1
* feat: update uv.lock
* feat: update uv.lock
* feat: update uv.lock
* update uv.lock
---------
Co-authored-by: Philippe d'Argent <p.dargent@cern.ch>
* fix swap api
* get correct account for smart wallets
* add paymaster
* add owner as signer to swap
* improve smart wallet check
* rebased
* refine prompt
* getTokenDetails with multicall
* create cdp server account as owner by default
* throw error for non cdp owner account
* add retry and swap status check
* update next smart wallet example
* refactor swap actions
- Added hardcoded price feed ID for ETH (0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace)
- This is a temporary stop-gap solution until proper new API link is provided after talking to the Pyth team
- Updated both Python and TypeScript implementations
- Remove trailing whitespace from blank lines in both Python and TypeScript files
- Fixes ruff and prettier formatting issues
- Changed test that expected ETH to throw error to use SOL instead
- Added new test to verify ETH returns hardcoded price feed ID
- Tests now properly reflect the stop-gap solution behavior
- Added trailing comma and line breaks for long string in test
- Fixes eslint/prettier formatting requirements
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

16 participants

@murrlincoln@Fallengirl@jaycoolslm@vtjl10@CarsonRoscoe@0xRAG@ya7ya@lechpzn@MozirDmitriy@aso20455@phdargen@ucegbe@pcminh0505@Ilevk@gtspencer@kks-code
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution by murrlincoln · Pull Request #1 · murrlincoln/agentkit · GitHub
Skip to content

fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution - #1

Open
murrlincoln wants to merge 46 commits into
masterfrom
fix/pyth-eth-price-feed-id
Open

fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution#1
murrlincoln wants to merge 46 commits into
masterfrom
fix/pyth-eth-price-feed-id

Conversation

@murrlincoln

Copy link
Copy Markdown
Owner

Description

This PR adds a hardcoded price feed ID for ETH in the Pyth action provider as a temporary stop-gap solution.

Changes

  • Added special case handling for ETH token symbol in both Python and TypeScript implementations
  • Returns hardcoded price feed ID: 0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
  • Added comments explaining this is a temporary solution until proper new API link is provided after discussions with the Pyth team

Context

This change addresses an issue with fetching ETH price feed ID from Pyth's API. The hardcoded value ensures consistent behavior for ETH price queries while we wait for the proper API update from the Pyth team.

Testing

  • This change maintains backward compatibility
  • Other token symbols continue to use the dynamic API lookup
  • ETH specifically returns the hardcoded price feed ID

Note

This is explicitly marked as a stop-gap solution in the code comments and should be revisited once the Pyth team provides the proper API endpoint.

Fallengirland others added 30 commits June 19, 2025 07:52
Changed `AgentKit.from` argument keys from cdpApiKeyPrivate -> cdpApiKeySecret
* feat: rewrote x402ActionProvider to work much better
* feat: added README
* chore: added changeset
…inbase#778)
* feat: added x402ActionProvider to python and added to one example
* feat: unit tests
* feat: added changelog and readme changes
* feat: on retry, using original selected payment requirements for selection
* chore: sync locks
* fix: unit tests
* chore: disabled 3 tests struggling to mock requests
* fix: cdp_evm_smart_wallet_provider sign_typed_data implementation
* rename: CdpEvmServerWalletProvider to CdpEvmWalletProvider in python
* fix: chore: removed unused code
* chore: removed logs
* feat: validate x402 action provider works with cdp wallet providers in ts
* feat: rename CdpEvmSmartWalletProvider to CdpSmartWalletProvider
* revert: changelog update
* chore: changelogs
* feat: validated create-onchain-agent in python
* feat: validated create-onchain-agent in typescript
* fix: format/lint/locks
* fix: updated workflows for example changes in python
* fix: typescript unit tests
* fix: python unit tests
* feat: changesets
* fix: added missing env vars to cli
* unwrap weth action
* updated docs
* description fix, updated README
* changeset updated
* Added media upload support for Twitter and embeds support for Farcaster
* improve action description
* strands agents framework extension
* strands agents extension example chatbot
* Create .env.local
* Delete python/examples/strands-agents-cdp-server-chatbot/wallet_data_base_sepolia.txt
* Update README.md
* add zora action provider
* remove walletClient dep
* rebase
* update to zora coins sdk v4
* add truemarkets action provider
* added tests
* use multicall for more efficient rpc queries
* use multicall for get_market_details
* fix tyd markets
* improve prompt
* feat: prepare strands agents for pypi packaging
* feat: added coinbase-agentkit dependency to framework extension
* chore: Removed AlloraActionProvider due to depps conflict
* temp: strands references local python to bypass lock gha
phdargenand others added 11 commits August 6, 2025 10:03
* add paymaster to cdp smart wallet
* add changeset
* feat(TS): Integrate Zerion API for agentkit
* chore: resolve comments
… (ts,python) (coinbase#824)
* add getPublicClient and RPC_URL config
* update actions to use wallet public client
* add custom RPC url (python)
* add changelog entry
* update readmes and contributing guide
* add missing wallet providers to docs
* feat: add pydantic ai framework extension
* feat: add docs
* style: apply format
* feat: add if args_schema
* feat: add MakeFile
* feat: add uv lock
* chore: remove type ignore
* feat: add nest asyncio deps
* docs: add docstring
* feat: add pydantic ai cdp server example
* docs: add readme for example
* docs: add pydantic ai to python/readme
* feat: update agentkit version
* style: apply format
* chore: remove git ignore
* feat: add .env.local
* feat: add makefile for example
* feat: remove unused make commands
* fix: fix import wallet providers
* chore: update uv.lock
* refactor: change example dir name
* feat: remove duplicated dependencies, add pydantic ai link to readme
* docs: update docstring
* tests: add test case
* feat: update uvlock
* feat: update uvlock
* feat: update uv.lock with agentkit 0.7.1
* feat: update uv.lock
* feat: update uv.lock
* feat: update uv.lock
* update uv.lock
---------
Co-authored-by: Philippe d'Argent <p.dargent@cern.ch>
* fix swap api
* get correct account for smart wallets
* add paymaster
* add owner as signer to swap
* improve smart wallet check
* rebased
* refine prompt
* getTokenDetails with multicall
* create cdp server account as owner by default
* throw error for non cdp owner account
* add retry and swap status check
* update next smart wallet example
* refactor swap actions
- Added hardcoded price feed ID for ETH (0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace)
- This is a temporary stop-gap solution until proper new API link is provided after talking to the Pyth team
- Updated both Python and TypeScript implementations
- Remove trailing whitespace from blank lines in both Python and TypeScript files
- Fixes ruff and prettier formatting issues
- Changed test that expected ETH to throw error to use SOL instead
- Added new test to verify ETH returns hardcoded price feed ID
- Tests now properly reflect the stop-gap solution behavior
- Added trailing comma and line breaks for long string in test
- Fixes eslint/prettier formatting requirements
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

16 participants

@murrlincoln@Fallengirl@jaycoolslm@vtjl10@CarsonRoscoe@0xRAG@ya7ya@lechpzn@MozirDmitriy@aso20455@phdargen@ucegbe@pcminh0505@Ilevk@gtspencer@kks-code
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution by murrlincoln · Pull Request #1 · murrlincoln/agentkit · GitHub
Skip to content

fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution - #1

Open
murrlincoln wants to merge 46 commits into
masterfrom
fix/pyth-eth-price-feed-id
Open

fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution#1
murrlincoln wants to merge 46 commits into
masterfrom
fix/pyth-eth-price-feed-id

Conversation

@murrlincoln

Copy link
Copy Markdown
Owner

Description

This PR adds a hardcoded price feed ID for ETH in the Pyth action provider as a temporary stop-gap solution.

Changes

  • Added special case handling for ETH token symbol in both Python and TypeScript implementations
  • Returns hardcoded price feed ID: 0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
  • Added comments explaining this is a temporary solution until proper new API link is provided after discussions with the Pyth team

Context

This change addresses an issue with fetching ETH price feed ID from Pyth's API. The hardcoded value ensures consistent behavior for ETH price queries while we wait for the proper API update from the Pyth team.

Testing

  • This change maintains backward compatibility
  • Other token symbols continue to use the dynamic API lookup
  • ETH specifically returns the hardcoded price feed ID

Note

This is explicitly marked as a stop-gap solution in the code comments and should be revisited once the Pyth team provides the proper API endpoint.

Fallengirland others added 30 commits June 19, 2025 07:52
Changed `AgentKit.from` argument keys from cdpApiKeyPrivate -> cdpApiKeySecret
* feat: rewrote x402ActionProvider to work much better
* feat: added README
* chore: added changeset
…inbase#778)
* feat: added x402ActionProvider to python and added to one example
* feat: unit tests
* feat: added changelog and readme changes
* feat: on retry, using original selected payment requirements for selection
* chore: sync locks
* fix: unit tests
* chore: disabled 3 tests struggling to mock requests
* fix: cdp_evm_smart_wallet_provider sign_typed_data implementation
* rename: CdpEvmServerWalletProvider to CdpEvmWalletProvider in python
* fix: chore: removed unused code
* chore: removed logs
* feat: validate x402 action provider works with cdp wallet providers in ts
* feat: rename CdpEvmSmartWalletProvider to CdpSmartWalletProvider
* revert: changelog update
* chore: changelogs
* feat: validated create-onchain-agent in python
* feat: validated create-onchain-agent in typescript
* fix: format/lint/locks
* fix: updated workflows for example changes in python
* fix: typescript unit tests
* fix: python unit tests
* feat: changesets
* fix: added missing env vars to cli
* unwrap weth action
* updated docs
* description fix, updated README
* changeset updated
* Added media upload support for Twitter and embeds support for Farcaster
* improve action description
* strands agents framework extension
* strands agents extension example chatbot
* Create .env.local
* Delete python/examples/strands-agents-cdp-server-chatbot/wallet_data_base_sepolia.txt
* Update README.md
* add zora action provider
* remove walletClient dep
* rebase
* update to zora coins sdk v4
* add truemarkets action provider
* added tests
* use multicall for more efficient rpc queries
* use multicall for get_market_details
* fix tyd markets
* improve prompt
* feat: prepare strands agents for pypi packaging
* feat: added coinbase-agentkit dependency to framework extension
* chore: Removed AlloraActionProvider due to depps conflict
* temp: strands references local python to bypass lock gha
phdargenand others added 11 commits August 6, 2025 10:03
* add paymaster to cdp smart wallet
* add changeset
* feat(TS): Integrate Zerion API for agentkit
* chore: resolve comments
… (ts,python) (coinbase#824)
* add getPublicClient and RPC_URL config
* update actions to use wallet public client
* add custom RPC url (python)
* add changelog entry
* update readmes and contributing guide
* add missing wallet providers to docs
* feat: add pydantic ai framework extension
* feat: add docs
* style: apply format
* feat: add if args_schema
* feat: add MakeFile
* feat: add uv lock
* chore: remove type ignore
* feat: add nest asyncio deps
* docs: add docstring
* feat: add pydantic ai cdp server example
* docs: add readme for example
* docs: add pydantic ai to python/readme
* feat: update agentkit version
* style: apply format
* chore: remove git ignore
* feat: add .env.local
* feat: add makefile for example
* feat: remove unused make commands
* fix: fix import wallet providers
* chore: update uv.lock
* refactor: change example dir name
* feat: remove duplicated dependencies, add pydantic ai link to readme
* docs: update docstring
* tests: add test case
* feat: update uvlock
* feat: update uvlock
* feat: update uv.lock with agentkit 0.7.1
* feat: update uv.lock
* feat: update uv.lock
* feat: update uv.lock
* update uv.lock
---------
Co-authored-by: Philippe d'Argent <p.dargent@cern.ch>
* fix swap api
* get correct account for smart wallets
* add paymaster
* add owner as signer to swap
* improve smart wallet check
* rebased
* refine prompt
* getTokenDetails with multicall
* create cdp server account as owner by default
* throw error for non cdp owner account
* add retry and swap status check
* update next smart wallet example
* refactor swap actions
- Added hardcoded price feed ID for ETH (0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace)
- This is a temporary stop-gap solution until proper new API link is provided after talking to the Pyth team
- Updated both Python and TypeScript implementations
- Remove trailing whitespace from blank lines in both Python and TypeScript files
- Fixes ruff and prettier formatting issues
- Changed test that expected ETH to throw error to use SOL instead
- Added new test to verify ETH returns hardcoded price feed ID
- Tests now properly reflect the stop-gap solution behavior
- Added trailing comma and line breaks for long string in test
- Fixes eslint/prettier formatting requirements
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

16 participants

@murrlincoln@Fallengirl@jaycoolslm@vtjl10@CarsonRoscoe@0xRAG@ya7ya@lechpzn@MozirDmitriy@aso20455@phdargen@ucegbe@pcminh0505@Ilevk@gtspencer@kks-code
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution by murrlincoln · Pull Request #1 · murrlincoln/agentkit · GitHub
Skip to content

fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution - #1

Open
murrlincoln wants to merge 46 commits into
masterfrom
fix/pyth-eth-price-feed-id
Open

fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution#1
murrlincoln wants to merge 46 commits into
masterfrom
fix/pyth-eth-price-feed-id

Conversation

@murrlincoln

Copy link
Copy Markdown
Owner

Description

This PR adds a hardcoded price feed ID for ETH in the Pyth action provider as a temporary stop-gap solution.

Changes

  • Added special case handling for ETH token symbol in both Python and TypeScript implementations
  • Returns hardcoded price feed ID: 0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
  • Added comments explaining this is a temporary solution until proper new API link is provided after discussions with the Pyth team

Context

This change addresses an issue with fetching ETH price feed ID from Pyth's API. The hardcoded value ensures consistent behavior for ETH price queries while we wait for the proper API update from the Pyth team.

Testing

  • This change maintains backward compatibility
  • Other token symbols continue to use the dynamic API lookup
  • ETH specifically returns the hardcoded price feed ID

Note

This is explicitly marked as a stop-gap solution in the code comments and should be revisited once the Pyth team provides the proper API endpoint.

Fallengirland others added 30 commits June 19, 2025 07:52
Changed `AgentKit.from` argument keys from cdpApiKeyPrivate -> cdpApiKeySecret
* feat: rewrote x402ActionProvider to work much better
* feat: added README
* chore: added changeset
…inbase#778)
* feat: added x402ActionProvider to python and added to one example
* feat: unit tests
* feat: added changelog and readme changes
* feat: on retry, using original selected payment requirements for selection
* chore: sync locks
* fix: unit tests
* chore: disabled 3 tests struggling to mock requests
* fix: cdp_evm_smart_wallet_provider sign_typed_data implementation
* rename: CdpEvmServerWalletProvider to CdpEvmWalletProvider in python
* fix: chore: removed unused code
* chore: removed logs
* feat: validate x402 action provider works with cdp wallet providers in ts
* feat: rename CdpEvmSmartWalletProvider to CdpSmartWalletProvider
* revert: changelog update
* chore: changelogs
* feat: validated create-onchain-agent in python
* feat: validated create-onchain-agent in typescript
* fix: format/lint/locks
* fix: updated workflows for example changes in python
* fix: typescript unit tests
* fix: python unit tests
* feat: changesets
* fix: added missing env vars to cli
* unwrap weth action
* updated docs
* description fix, updated README
* changeset updated
* Added media upload support for Twitter and embeds support for Farcaster
* improve action description
* strands agents framework extension
* strands agents extension example chatbot
* Create .env.local
* Delete python/examples/strands-agents-cdp-server-chatbot/wallet_data_base_sepolia.txt
* Update README.md
* add zora action provider
* remove walletClient dep
* rebase
* update to zora coins sdk v4
* add truemarkets action provider
* added tests
* use multicall for more efficient rpc queries
* use multicall for get_market_details
* fix tyd markets
* improve prompt
* feat: prepare strands agents for pypi packaging
* feat: added coinbase-agentkit dependency to framework extension
* chore: Removed AlloraActionProvider due to depps conflict
* temp: strands references local python to bypass lock gha
phdargenand others added 11 commits August 6, 2025 10:03
* add paymaster to cdp smart wallet
* add changeset
* feat(TS): Integrate Zerion API for agentkit
* chore: resolve comments
… (ts,python) (coinbase#824)
* add getPublicClient and RPC_URL config
* update actions to use wallet public client
* add custom RPC url (python)
* add changelog entry
* update readmes and contributing guide
* add missing wallet providers to docs
* feat: add pydantic ai framework extension
* feat: add docs
* style: apply format
* feat: add if args_schema
* feat: add MakeFile
* feat: add uv lock
* chore: remove type ignore
* feat: add nest asyncio deps
* docs: add docstring
* feat: add pydantic ai cdp server example
* docs: add readme for example
* docs: add pydantic ai to python/readme
* feat: update agentkit version
* style: apply format
* chore: remove git ignore
* feat: add .env.local
* feat: add makefile for example
* feat: remove unused make commands
* fix: fix import wallet providers
* chore: update uv.lock
* refactor: change example dir name
* feat: remove duplicated dependencies, add pydantic ai link to readme
* docs: update docstring
* tests: add test case
* feat: update uvlock
* feat: update uvlock
* feat: update uv.lock with agentkit 0.7.1
* feat: update uv.lock
* feat: update uv.lock
* feat: update uv.lock
* update uv.lock
---------
Co-authored-by: Philippe d'Argent <p.dargent@cern.ch>
* fix swap api
* get correct account for smart wallets
* add paymaster
* add owner as signer to swap
* improve smart wallet check
* rebased
* refine prompt
* getTokenDetails with multicall
* create cdp server account as owner by default
* throw error for non cdp owner account
* add retry and swap status check
* update next smart wallet example
* refactor swap actions
- Added hardcoded price feed ID for ETH (0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace)
- This is a temporary stop-gap solution until proper new API link is provided after talking to the Pyth team
- Updated both Python and TypeScript implementations
- Remove trailing whitespace from blank lines in both Python and TypeScript files
- Fixes ruff and prettier formatting issues
- Changed test that expected ETH to throw error to use SOL instead
- Added new test to verify ETH returns hardcoded price feed ID
- Tests now properly reflect the stop-gap solution behavior
- Added trailing comma and line breaks for long string in test
- Fixes eslint/prettier formatting requirements
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

16 participants

@murrlincoln@Fallengirl@jaycoolslm@vtjl10@CarsonRoscoe@0xRAG@ya7ya@lechpzn@MozirDmitriy@aso20455@phdargen@ucegbe@pcminh0505@Ilevk@gtspencer@kks-code
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution by murrlincoln · Pull Request #1 · murrlincoln/agentkit · GitHub
Skip to content

fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution - #1

Open
murrlincoln wants to merge 46 commits into
masterfrom
fix/pyth-eth-price-feed-id
Open

fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution#1
murrlincoln wants to merge 46 commits into
masterfrom
fix/pyth-eth-price-feed-id

Conversation

@murrlincoln

Copy link
Copy Markdown
Owner

Description

This PR adds a hardcoded price feed ID for ETH in the Pyth action provider as a temporary stop-gap solution.

Changes

  • Added special case handling for ETH token symbol in both Python and TypeScript implementations
  • Returns hardcoded price feed ID: 0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
  • Added comments explaining this is a temporary solution until proper new API link is provided after discussions with the Pyth team

Context

This change addresses an issue with fetching ETH price feed ID from Pyth's API. The hardcoded value ensures consistent behavior for ETH price queries while we wait for the proper API update from the Pyth team.

Testing

  • This change maintains backward compatibility
  • Other token symbols continue to use the dynamic API lookup
  • ETH specifically returns the hardcoded price feed ID

Note

This is explicitly marked as a stop-gap solution in the code comments and should be revisited once the Pyth team provides the proper API endpoint.

Fallengirland others added 30 commits June 19, 2025 07:52
Changed `AgentKit.from` argument keys from cdpApiKeyPrivate -> cdpApiKeySecret
* feat: rewrote x402ActionProvider to work much better
* feat: added README
* chore: added changeset
…inbase#778)
* feat: added x402ActionProvider to python and added to one example
* feat: unit tests
* feat: added changelog and readme changes
* feat: on retry, using original selected payment requirements for selection
* chore: sync locks
* fix: unit tests
* chore: disabled 3 tests struggling to mock requests
* fix: cdp_evm_smart_wallet_provider sign_typed_data implementation
* rename: CdpEvmServerWalletProvider to CdpEvmWalletProvider in python
* fix: chore: removed unused code
* chore: removed logs
* feat: validate x402 action provider works with cdp wallet providers in ts
* feat: rename CdpEvmSmartWalletProvider to CdpSmartWalletProvider
* revert: changelog update
* chore: changelogs
* feat: validated create-onchain-agent in python
* feat: validated create-onchain-agent in typescript
* fix: format/lint/locks
* fix: updated workflows for example changes in python
* fix: typescript unit tests
* fix: python unit tests
* feat: changesets
* fix: added missing env vars to cli
* unwrap weth action
* updated docs
* description fix, updated README
* changeset updated
* Added media upload support for Twitter and embeds support for Farcaster
* improve action description
* strands agents framework extension
* strands agents extension example chatbot
* Create .env.local
* Delete python/examples/strands-agents-cdp-server-chatbot/wallet_data_base_sepolia.txt
* Update README.md
* add zora action provider
* remove walletClient dep
* rebase
* update to zora coins sdk v4
* add truemarkets action provider
* added tests
* use multicall for more efficient rpc queries
* use multicall for get_market_details
* fix tyd markets
* improve prompt
* feat: prepare strands agents for pypi packaging
* feat: added coinbase-agentkit dependency to framework extension
* chore: Removed AlloraActionProvider due to depps conflict
* temp: strands references local python to bypass lock gha
phdargenand others added 11 commits August 6, 2025 10:03
* add paymaster to cdp smart wallet
* add changeset
* feat(TS): Integrate Zerion API for agentkit
* chore: resolve comments
… (ts,python) (coinbase#824)
* add getPublicClient and RPC_URL config
* update actions to use wallet public client
* add custom RPC url (python)
* add changelog entry
* update readmes and contributing guide
* add missing wallet providers to docs
* feat: add pydantic ai framework extension
* feat: add docs
* style: apply format
* feat: add if args_schema
* feat: add MakeFile
* feat: add uv lock
* chore: remove type ignore
* feat: add nest asyncio deps
* docs: add docstring
* feat: add pydantic ai cdp server example
* docs: add readme for example
* docs: add pydantic ai to python/readme
* feat: update agentkit version
* style: apply format
* chore: remove git ignore
* feat: add .env.local
* feat: add makefile for example
* feat: remove unused make commands
* fix: fix import wallet providers
* chore: update uv.lock
* refactor: change example dir name
* feat: remove duplicated dependencies, add pydantic ai link to readme
* docs: update docstring
* tests: add test case
* feat: update uvlock
* feat: update uvlock
* feat: update uv.lock with agentkit 0.7.1
* feat: update uv.lock
* feat: update uv.lock
* feat: update uv.lock
* update uv.lock
---------
Co-authored-by: Philippe d'Argent <p.dargent@cern.ch>
* fix swap api
* get correct account for smart wallets
* add paymaster
* add owner as signer to swap
* improve smart wallet check
* rebased
* refine prompt
* getTokenDetails with multicall
* create cdp server account as owner by default
* throw error for non cdp owner account
* add retry and swap status check
* update next smart wallet example
* refactor swap actions
- Added hardcoded price feed ID for ETH (0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace)
- This is a temporary stop-gap solution until proper new API link is provided after talking to the Pyth team
- Updated both Python and TypeScript implementations
- Remove trailing whitespace from blank lines in both Python and TypeScript files
- Fixes ruff and prettier formatting issues
- Changed test that expected ETH to throw error to use SOL instead
- Added new test to verify ETH returns hardcoded price feed ID
- Tests now properly reflect the stop-gap solution behavior
- Added trailing comma and line breaks for long string in test
- Fixes eslint/prettier formatting requirements
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

16 participants

@murrlincoln@Fallengirl@jaycoolslm@vtjl10@CarsonRoscoe@0xRAG@ya7ya@lechpzn@MozirDmitriy@aso20455@phdargen@ucegbe@pcminh0505@Ilevk@gtspencer@kks-code
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution by murrlincoln · Pull Request #1 · murrlincoln/agentkit · GitHub
Skip to content

fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution - #1

Open
murrlincoln wants to merge 46 commits into
masterfrom
fix/pyth-eth-price-feed-id
Open

fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution#1
murrlincoln wants to merge 46 commits into
masterfrom
fix/pyth-eth-price-feed-id

Conversation

@murrlincoln

Copy link
Copy Markdown
Owner

Description

This PR adds a hardcoded price feed ID for ETH in the Pyth action provider as a temporary stop-gap solution.

Changes

  • Added special case handling for ETH token symbol in both Python and TypeScript implementations
  • Returns hardcoded price feed ID: 0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
  • Added comments explaining this is a temporary solution until proper new API link is provided after discussions with the Pyth team

Context

This change addresses an issue with fetching ETH price feed ID from Pyth's API. The hardcoded value ensures consistent behavior for ETH price queries while we wait for the proper API update from the Pyth team.

Testing

  • This change maintains backward compatibility
  • Other token symbols continue to use the dynamic API lookup
  • ETH specifically returns the hardcoded price feed ID

Note

This is explicitly marked as a stop-gap solution in the code comments and should be revisited once the Pyth team provides the proper API endpoint.

Fallengirland others added 30 commits June 19, 2025 07:52
Changed `AgentKit.from` argument keys from cdpApiKeyPrivate -> cdpApiKeySecret
* feat: rewrote x402ActionProvider to work much better
* feat: added README
* chore: added changeset
…inbase#778)
* feat: added x402ActionProvider to python and added to one example
* feat: unit tests
* feat: added changelog and readme changes
* feat: on retry, using original selected payment requirements for selection
* chore: sync locks
* fix: unit tests
* chore: disabled 3 tests struggling to mock requests
* fix: cdp_evm_smart_wallet_provider sign_typed_data implementation
* rename: CdpEvmServerWalletProvider to CdpEvmWalletProvider in python
* fix: chore: removed unused code
* chore: removed logs
* feat: validate x402 action provider works with cdp wallet providers in ts
* feat: rename CdpEvmSmartWalletProvider to CdpSmartWalletProvider
* revert: changelog update
* chore: changelogs
* feat: validated create-onchain-agent in python
* feat: validated create-onchain-agent in typescript
* fix: format/lint/locks
* fix: updated workflows for example changes in python
* fix: typescript unit tests
* fix: python unit tests
* feat: changesets
* fix: added missing env vars to cli
* unwrap weth action
* updated docs
* description fix, updated README
* changeset updated
* Added media upload support for Twitter and embeds support for Farcaster
* improve action description
* strands agents framework extension
* strands agents extension example chatbot
* Create .env.local
* Delete python/examples/strands-agents-cdp-server-chatbot/wallet_data_base_sepolia.txt
* Update README.md
* add zora action provider
* remove walletClient dep
* rebase
* update to zora coins sdk v4
* add truemarkets action provider
* added tests
* use multicall for more efficient rpc queries
* use multicall for get_market_details
* fix tyd markets
* improve prompt
* feat: prepare strands agents for pypi packaging
* feat: added coinbase-agentkit dependency to framework extension
* chore: Removed AlloraActionProvider due to depps conflict
* temp: strands references local python to bypass lock gha
phdargenand others added 11 commits August 6, 2025 10:03
* add paymaster to cdp smart wallet
* add changeset
* feat(TS): Integrate Zerion API for agentkit
* chore: resolve comments
… (ts,python) (coinbase#824)
* add getPublicClient and RPC_URL config
* update actions to use wallet public client
* add custom RPC url (python)
* add changelog entry
* update readmes and contributing guide
* add missing wallet providers to docs
* feat: add pydantic ai framework extension
* feat: add docs
* style: apply format
* feat: add if args_schema
* feat: add MakeFile
* feat: add uv lock
* chore: remove type ignore
* feat: add nest asyncio deps
* docs: add docstring
* feat: add pydantic ai cdp server example
* docs: add readme for example
* docs: add pydantic ai to python/readme
* feat: update agentkit version
* style: apply format
* chore: remove git ignore
* feat: add .env.local
* feat: add makefile for example
* feat: remove unused make commands
* fix: fix import wallet providers
* chore: update uv.lock
* refactor: change example dir name
* feat: remove duplicated dependencies, add pydantic ai link to readme
* docs: update docstring
* tests: add test case
* feat: update uvlock
* feat: update uvlock
* feat: update uv.lock with agentkit 0.7.1
* feat: update uv.lock
* feat: update uv.lock
* feat: update uv.lock
* update uv.lock
---------
Co-authored-by: Philippe d'Argent <p.dargent@cern.ch>
* fix swap api
* get correct account for smart wallets
* add paymaster
* add owner as signer to swap
* improve smart wallet check
* rebased
* refine prompt
* getTokenDetails with multicall
* create cdp server account as owner by default
* throw error for non cdp owner account
* add retry and swap status check
* update next smart wallet example
* refactor swap actions
- Added hardcoded price feed ID for ETH (0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace)
- This is a temporary stop-gap solution until proper new API link is provided after talking to the Pyth team
- Updated both Python and TypeScript implementations
- Remove trailing whitespace from blank lines in both Python and TypeScript files
- Fixes ruff and prettier formatting issues
- Changed test that expected ETH to throw error to use SOL instead
- Added new test to verify ETH returns hardcoded price feed ID
- Tests now properly reflect the stop-gap solution behavior
- Added trailing comma and line breaks for long string in test
- Fixes eslint/prettier formatting requirements
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

16 participants

@murrlincoln@Fallengirl@jaycoolslm@vtjl10@CarsonRoscoe@0xRAG@ya7ya@lechpzn@MozirDmitriy@aso20455@phdargen@ucegbe@pcminh0505@Ilevk@gtspencer@kks-code
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution by murrlincoln · Pull Request #1 · murrlincoln/agentkit · GitHub
Skip to content

fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution - #1

Open
murrlincoln wants to merge 46 commits into
masterfrom
fix/pyth-eth-price-feed-id
Open

fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution#1
murrlincoln wants to merge 46 commits into
masterfrom
fix/pyth-eth-price-feed-id

Conversation

@murrlincoln

Copy link
Copy Markdown
Owner

Description

This PR adds a hardcoded price feed ID for ETH in the Pyth action provider as a temporary stop-gap solution.

Changes

  • Added special case handling for ETH token symbol in both Python and TypeScript implementations
  • Returns hardcoded price feed ID: 0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
  • Added comments explaining this is a temporary solution until proper new API link is provided after discussions with the Pyth team

Context

This change addresses an issue with fetching ETH price feed ID from Pyth's API. The hardcoded value ensures consistent behavior for ETH price queries while we wait for the proper API update from the Pyth team.

Testing

  • This change maintains backward compatibility
  • Other token symbols continue to use the dynamic API lookup
  • ETH specifically returns the hardcoded price feed ID

Note

This is explicitly marked as a stop-gap solution in the code comments and should be revisited once the Pyth team provides the proper API endpoint.

Fallengirland others added 30 commits June 19, 2025 07:52
Changed `AgentKit.from` argument keys from cdpApiKeyPrivate -> cdpApiKeySecret
* feat: rewrote x402ActionProvider to work much better
* feat: added README
* chore: added changeset
…inbase#778)
* feat: added x402ActionProvider to python and added to one example
* feat: unit tests
* feat: added changelog and readme changes
* feat: on retry, using original selected payment requirements for selection
* chore: sync locks
* fix: unit tests
* chore: disabled 3 tests struggling to mock requests
* fix: cdp_evm_smart_wallet_provider sign_typed_data implementation
* rename: CdpEvmServerWalletProvider to CdpEvmWalletProvider in python
* fix: chore: removed unused code
* chore: removed logs
* feat: validate x402 action provider works with cdp wallet providers in ts
* feat: rename CdpEvmSmartWalletProvider to CdpSmartWalletProvider
* revert: changelog update
* chore: changelogs
* feat: validated create-onchain-agent in python
* feat: validated create-onchain-agent in typescript
* fix: format/lint/locks
* fix: updated workflows for example changes in python
* fix: typescript unit tests
* fix: python unit tests
* feat: changesets
* fix: added missing env vars to cli
* unwrap weth action
* updated docs
* description fix, updated README
* changeset updated
* Added media upload support for Twitter and embeds support for Farcaster
* improve action description
* strands agents framework extension
* strands agents extension example chatbot
* Create .env.local
* Delete python/examples/strands-agents-cdp-server-chatbot/wallet_data_base_sepolia.txt
* Update README.md
* add zora action provider
* remove walletClient dep
* rebase
* update to zora coins sdk v4
* add truemarkets action provider
* added tests
* use multicall for more efficient rpc queries
* use multicall for get_market_details
* fix tyd markets
* improve prompt
* feat: prepare strands agents for pypi packaging
* feat: added coinbase-agentkit dependency to framework extension
* chore: Removed AlloraActionProvider due to depps conflict
* temp: strands references local python to bypass lock gha
phdargenand others added 11 commits August 6, 2025 10:03
* add paymaster to cdp smart wallet
* add changeset
* feat(TS): Integrate Zerion API for agentkit
* chore: resolve comments
… (ts,python) (coinbase#824)
* add getPublicClient and RPC_URL config
* update actions to use wallet public client
* add custom RPC url (python)
* add changelog entry
* update readmes and contributing guide
* add missing wallet providers to docs
* feat: add pydantic ai framework extension
* feat: add docs
* style: apply format
* feat: add if args_schema
* feat: add MakeFile
* feat: add uv lock
* chore: remove type ignore
* feat: add nest asyncio deps
* docs: add docstring
* feat: add pydantic ai cdp server example
* docs: add readme for example
* docs: add pydantic ai to python/readme
* feat: update agentkit version
* style: apply format
* chore: remove git ignore
* feat: add .env.local
* feat: add makefile for example
* feat: remove unused make commands
* fix: fix import wallet providers
* chore: update uv.lock
* refactor: change example dir name
* feat: remove duplicated dependencies, add pydantic ai link to readme
* docs: update docstring
* tests: add test case
* feat: update uvlock
* feat: update uvlock
* feat: update uv.lock with agentkit 0.7.1
* feat: update uv.lock
* feat: update uv.lock
* feat: update uv.lock
* update uv.lock
---------
Co-authored-by: Philippe d'Argent <p.dargent@cern.ch>
* fix swap api
* get correct account for smart wallets
* add paymaster
* add owner as signer to swap
* improve smart wallet check
* rebased
* refine prompt
* getTokenDetails with multicall
* create cdp server account as owner by default
* throw error for non cdp owner account
* add retry and swap status check
* update next smart wallet example
* refactor swap actions
- Added hardcoded price feed ID for ETH (0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace)
- This is a temporary stop-gap solution until proper new API link is provided after talking to the Pyth team
- Updated both Python and TypeScript implementations
- Remove trailing whitespace from blank lines in both Python and TypeScript files
- Fixes ruff and prettier formatting issues
- Changed test that expected ETH to throw error to use SOL instead
- Added new test to verify ETH returns hardcoded price feed ID
- Tests now properly reflect the stop-gap solution behavior
- Added trailing comma and line breaks for long string in test
- Fixes eslint/prettier formatting requirements
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

16 participants

@murrlincoln@Fallengirl@jaycoolslm@vtjl10@CarsonRoscoe@0xRAG@ya7ya@lechpzn@MozirDmitriy@aso20455@phdargen@ucegbe@pcminh0505@Ilevk@gtspencer@kks-code
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution by murrlincoln · Pull Request #1 · murrlincoln/agentkit · GitHub
Skip to content

fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution - #1

Open
murrlincoln wants to merge 46 commits into
masterfrom
fix/pyth-eth-price-feed-id
Open

fix: Add hardcoded ETH price feed ID for Pyth as stop-gap solution#1
murrlincoln wants to merge 46 commits into
masterfrom
fix/pyth-eth-price-feed-id

Conversation

@murrlincoln

Copy link
Copy Markdown
Owner

Description

This PR adds a hardcoded price feed ID for ETH in the Pyth action provider as a temporary stop-gap solution.

Changes

  • Added special case handling for ETH token symbol in both Python and TypeScript implementations
  • Returns hardcoded price feed ID: 0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
  • Added comments explaining this is a temporary solution until proper new API link is provided after discussions with the Pyth team

Context

This change addresses an issue with fetching ETH price feed ID from Pyth's API. The hardcoded value ensures consistent behavior for ETH price queries while we wait for the proper API update from the Pyth team.

Testing

  • This change maintains backward compatibility
  • Other token symbols continue to use the dynamic API lookup
  • ETH specifically returns the hardcoded price feed ID

Note

This is explicitly marked as a stop-gap solution in the code comments and should be revisited once the Pyth team provides the proper API endpoint.

Fallengirland others added 30 commits June 19, 2025 07:52
Changed `AgentKit.from` argument keys from cdpApiKeyPrivate -> cdpApiKeySecret
* feat: rewrote x402ActionProvider to work much better
* feat: added README
* chore: added changeset
…inbase#778)
* feat: added x402ActionProvider to python and added to one example
* feat: unit tests
* feat: added changelog and readme changes
* feat: on retry, using original selected payment requirements for selection
* chore: sync locks
* fix: unit tests
* chore: disabled 3 tests struggling to mock requests
* fix: cdp_evm_smart_wallet_provider sign_typed_data implementation
* rename: CdpEvmServerWalletProvider to CdpEvmWalletProvider in python
* fix: chore: removed unused code
* chore: removed logs
* feat: validate x402 action provider works with cdp wallet providers in ts
* feat: rename CdpEvmSmartWalletProvider to CdpSmartWalletProvider
* revert: changelog update
* chore: changelogs
* feat: validated create-onchain-agent in python
* feat: validated create-onchain-agent in typescript
* fix: format/lint/locks
* fix: updated workflows for example changes in python
* fix: typescript unit tests
* fix: python unit tests
* feat: changesets
* fix: added missing env vars to cli
* unwrap weth action
* updated docs
* description fix, updated README
* changeset updated
* Added media upload support for Twitter and embeds support for Farcaster
* improve action description
* strands agents framework extension
* strands agents extension example chatbot
* Create .env.local
* Delete python/examples/strands-agents-cdp-server-chatbot/wallet_data_base_sepolia.txt
* Update README.md
* add zora action provider
* remove walletClient dep
* rebase
* update to zora coins sdk v4
* add truemarkets action provider
* added tests
* use multicall for more efficient rpc queries
* use multicall for get_market_details
* fix tyd markets
* improve prompt
* feat: prepare strands agents for pypi packaging
* feat: added coinbase-agentkit dependency to framework extension
* chore: Removed AlloraActionProvider due to depps conflict
* temp: strands references local python to bypass lock gha
phdargenand others added 11 commits August 6, 2025 10:03
* add paymaster to cdp smart wallet
* add changeset
* feat(TS): Integrate Zerion API for agentkit
* chore: resolve comments
… (ts,python) (coinbase#824)
* add getPublicClient and RPC_URL config
* update actions to use wallet public client
* add custom RPC url (python)
* add changelog entry
* update readmes and contributing guide
* add missing wallet providers to docs
* feat: add pydantic ai framework extension
* feat: add docs
* style: apply format
* feat: add if args_schema
* feat: add MakeFile
* feat: add uv lock
* chore: remove type ignore
* feat: add nest asyncio deps
* docs: add docstring
* feat: add pydantic ai cdp server example
* docs: add readme for example
* docs: add pydantic ai to python/readme
* feat: update agentkit version
* style: apply format
* chore: remove git ignore
* feat: add .env.local
* feat: add makefile for example
* feat: remove unused make commands
* fix: fix import wallet providers
* chore: update uv.lock
* refactor: change example dir name
* feat: remove duplicated dependencies, add pydantic ai link to readme
* docs: update docstring
* tests: add test case
* feat: update uvlock
* feat: update uvlock
* feat: update uv.lock with agentkit 0.7.1
* feat: update uv.lock
* feat: update uv.lock
* feat: update uv.lock
* update uv.lock
---------
Co-authored-by: Philippe d'Argent <p.dargent@cern.ch>
* fix swap api
* get correct account for smart wallets
* add paymaster
* add owner as signer to swap
* improve smart wallet check
* rebased
* refine prompt
* getTokenDetails with multicall
* create cdp server account as owner by default
* throw error for non cdp owner account
* add retry and swap status check
* update next smart wallet example
* refactor swap actions
- Added hardcoded price feed ID for ETH (0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace)
- This is a temporary stop-gap solution until proper new API link is provided after talking to the Pyth team
- Updated both Python and TypeScript implementations
- Remove trailing whitespace from blank lines in both Python and TypeScript files
- Fixes ruff and prettier formatting issues
- Changed test that expected ETH to throw error to use SOL instead
- Added new test to verify ETH returns hardcoded price feed ID
- Tests now properly reflect the stop-gap solution behavior
- Added trailing comma and line breaks for long string in test
- Fixes eslint/prettier formatting requirements
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

16 participants

@murrlincoln@Fallengirl@jaycoolslm@vtjl10@CarsonRoscoe@0xRAG@ya7ya@lechpzn@MozirDmitriy@aso20455@phdargen@ucegbe@pcminh0505@Ilevk@gtspencer@kks-code