Skip to content

chore: Remove unused IPFS/Pinata caching code#1374

Merged
pxrl merged 1 commit intomasterfrom
remove-ipfs-caching
Apr 2, 2026
Merged

chore: Remove unused IPFS/Pinata caching code#1374
pxrl merged 1 commit intomasterfrom
remove-ipfs-caching

Conversation

@nicholaspai
Copy link
Copy Markdown
Member

Summary

  • Remove PinataIPFSClient class and src/caching/IPFS/ directory
  • Remove src/utils/IPFSUtils.ts helper functions
  • Remove @pinata/sdk dependency from package.json
  • Clean up barrel exports in src/caching/index.ts and src/utils/index.ts

No repos in @UMAprotocol or @across-protocol import this SDK's IPFS modules. Other repos that use Pinata (e.g. contracts, merkle-distributor) have their own independent integrations.

Test plan

  • yarn build passes cleanly with no type errors
  • Verify no downstream consumers break (confirmed via GitHub code search: zero external imports)

🤖 Generated with Claude Code

The PinataIPFSClient, IPFSUtils, and @pinata/sdk dependency are not
consumed by any repo in @UMAprotocol or @across-protocol. Other repos
that interact with Pinata do so via their own independent integrations.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@pxrl
Copy link
Copy Markdown
Collaborator

pxrl commented Apr 2, 2026

@codex Can you analyse the following error and confirm why pinata was invoked?

[warn] zion-across-gasless-relayer (GaslessRelayer#evaluateApiSignatures)⭢initiateGaslessDeposit threw; removed deposit from nonce set for retry
• depositId: 72387848847906847999323509996404592044608166952626009822553011864135540075310
• depositNonce: 0xaf88d065e77c8cC2239327C5EDb3A432268e5831:0xaeac39A0a159675378f6D4a0A64d7762E6420FCA:0x1da44631805a2f396042df7b9b18b83672d98dacbe064c2678a801fd4e17b013
• error: TypeError: toISOString is not a function
   at String.toJSON (<anonymous>)
   at Object.<anonymous> (/across-relayer/node_modules/@pinata/sdk/lib/pinata-sdk.js:4989:15)
   at stringifyFnReplacer (/across-relayer/node_modules/safe-stable-stringify/index.js:207:21)
   at stringifyFnReplacer (/across-relayer/node_modules/safe-stable-stringify/index.js:287:23)
   at stringifyFnReplacer (/across-relayer/node_modules/safe-stable-stringify/index.js:287:23)
   at stringifyFnReplacer (/across-relayer/node_modules/safe-stable-stringify/index.js:287:23)
   at stringifyFnReplacer (/across-relayer/node_modules/safe-stable-stringify/index.js:287:23)
   at stringifyFnReplacer (/across-relayer/node_modules/safe-stable-stringify/index.js:287:23)
   at stringifyFnReplacer (/across-relayer/node_modules/safe-stable-stringify/index.js:287:23)
   at stringifyFnReplacer (/across-relayer/node_modules/safe-stable-stringify/index.js:287:23)
• run-identifier: 20c0721f-a454-4a44-afe9-4836b3d8ea6cr

@chatgpt-codex-connector
Copy link
Copy Markdown

Findings

You’re seeing Pinata because the failure happened in the relayer runtime, not in this PR’s updated SDK source.

  • The stack trace path is /across-relayer/node_modules/@pinata/sdk/..., which means some installed dependency in that running relayer process is still calling Pinata.
  • In the current PR head (1adce01), SDK source exports no IPFS caching module anymore:
  • However, the lockfile still contains an @pinata/sdk entry, so it can still exist in some installs/transitive graphs unless refreshed/cleaned in the consumer environment. yarn.lockL1430-L1438

Why Pinata was invoked

Most likely explanation: the relayer process that produced this log is running with an older dependency graph (or a separate integration) that still calls pinJSONToIPFS, so Pinata was reached and then failed during JSON serialization (toISOString is not a function).

So: Pinata invocation is not caused by the current PR’s source code path in this SDK head; it is coming from the relayer’s installed code at runtime.

Checks run

  • git status --short && git rev-parse --abbrev-ref HEAD && rg -n "pinata|IPFS|PinataIPFSClient|evaluateApiSignatures|GaslessRelayer" src package.json yarn.lock
  • cat package.json | sed -n '1,220p' && rg -n "IPFS|pinata" src
  • rg -n "@pinata/sdk|pinata" yarn.lock && sed -n '1410,1475p' yarn.lock
  • yarn -s why @pinata/sdk (invalid option -s on this Yarn version)
  • ⚠️ yarn why @pinata/sdk (workspace lockfile state prevented dependency graph resolution in this environment)
  • nl -ba src/utils/index.ts | sed -n '1,200p'; nl -ba src/caching/index.ts | sed -n '1,200p'; nl -ba package.json | sed -n '90,220p'; nl -ba yarn.lock | sed -n '1420,1465p'
  • git log --oneline --decorate -n 5 && git show --name-status --oneline HEAD | sed -n '1,120p'

No repository changes were made.

View task →

@pxrl pxrl merged commit 4e2c918 into master Apr 2, 2026
4 checks passed
@pxrl pxrl deleted the remove-ipfs-caching branch April 2, 2026 13:26
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