⚠️ Disclaimer: This project is still in development and may not be fully functional yet. Please use with caution.
A DevTool for finding and resolving common issues with Chainlink services like Automation, VRF, CCIP.
- Troubleshoot Upkeep
- Check if check function reverts
- Check if perform function reverts
- Check if gas limit is sufficient
- Troubleshoot VRF
- Subscription based
- Check if fulfill function reverts
- Check if gas limit is sufficient
- Check if balance is sufficient
- Direct funding
- Check if fulfill function reverts
- Check if gas limit is sufficient
- Check if transaction is funded
- Subscription based
- Troubleshoot CCIP
- Check if destination chain selector is valid/supported
- Check if receiver contract reverts
- Check if gas limit is sufficient
- Troubleshoot Data Streams
- Troubleshoot Functions
The troubleshooter is available here or can be run locally by following the instructions below.
- Node.js v18.17.0
- pnpm (or npm / yarn)
- Clone the repo to your local machine by running
git clone git@github.com:hackbg/chainlink-troubleshooter.git
- Run
pnpm install
in your terminal ornpm install
/yarn
if you don't havepnpm
installed globally - Setup your
.env
file by copying.env.example
to.env
and filling in the values - Run
pnpm run dev
in your terminal, and then open localhost:3000 in your browser
If you'd like to add a new check to the troubleshooter, you can submit an issue with a description or a PR with the following changes:
- Add a new function to
src/lib/checks/[service].ts
by following the example of the other checks - Export the function and add it to the
checks
array - Test your new check manually by running
pnpm run dev
Until automated tests are added, you can manually test the troubleshooter by performing the following test cases on Sepolia testnet.
Automation
- All checks passing:
74895721406186895113818631164529303066999571709016139650513084521543416732417
- Check function reverting:
35848537152715803869252321519866842446385537711545467731000141614540581954617
- Perform function reverting:
18323631240448564451197605370481726567400230480287900632671193320924480480751
- Unsufficient gas limit:
38143267683781744531098180450779920218425556575283977500348911855574876509234
VRF
- All checks passing:
0x8888bbe4156c339af26902ef198e7c70863a59f9e0fca3cc7dc91c712270b108
- Reverting fulfill function:
0xb54351456875787f8d54b00c9100db54370fbdc52f9f81a4283b172a57fd2f39
- Low gas limit:
0x047174b294c9f6ae5d0786cdf9d0ba429b329de94a700dde216f4fc33577ee2c
CCIP
- All checks passing:
0xe064264541cb88afdd4cd8354a0c144a59cee4e51f2cf4cbb916d6388f180a1b
- Unsupported destination chain selector:
0x939400bdf91b9824246384c6d3153db6d02df4a719e977398b500a2e0fd9249f