The core protocol contracts like SDLPoolCCIPController
and RESDLTokenBridge
rely on CCIP for:
Sending/receiving reSDL NFTs between chains
Processing updates between primary and secondary pools
This dependence leads to a central point of failure - if CCIP is disrupted, cross-chain interoperability will halt.
Some potential issues:
CCIP router contracts or infrastructure goes down
Chainlink nodes that process CCIP jobs are disrupted
Messaging failures if CCIP extraArgs
or fees misconfigured
The SDLPoolCCIPControllerPrimary.sol#distributeRewards handling a cross-chain transfer
As you can see, the contract builds a CCIP message to transfer the reSDL
NFT and then relies on ccipSend
to actually send it across chains.
Any issues with the router contract, CCIP infrastructure, or Chainlink nodes would cause this transfer to fail - halting cross-chain interoperability.
Manual Review
Diversifying the integration and limiting the reliance on specific CCIP components would help make the system more resilient.
Build a decentralized network of CCIP routers
Implement redundancy across multiple Chainlink nodes
Abstract CCIP integration to limit impact radius
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.