In your Foundry project, for easier integration, if you want to avoid installing the dependencies that are only used by the chainlink-ccip package, you can use either NPM or Yarn to install the chainlink-ccip package:
Then, add the following remappings to your remappings.txt or foundry.toml file:
"@chainlink/contracts-ccip/contracts/=node_modules/@chainlink/contracts-ccip/contracts/",
"@chainlink/contracts/=node_modules/@chainlink/contracts/",
"@openzeppelin/[email protected]/=node_modules/@openzeppelin/contracts-4.8.3/",
"@openzeppelin/[email protected]/=node_modules/@openzeppelin/contracts-5.0.2/"
Alternatively, if you prefer to use only forge install, install the chainlink-ccip package along with its dependencies:
forge install \
smartcontractkit/chainlink-ccip@279b542b5c23646fd3dbbde5ca7c46ca501cb6df \
smartcontractkit/chainlink-evm@86aa5a1d34b20eda8d18fe6eb0e4882948e545ba \
openzeppelin/openzeppelin-contracts@0a25c1940ca220686588c4af3ec526f725fe2582 \
openzeppelin/openzeppelin-contracts@dbb6104ce834628e473d2173bbc9d47f81a9eec3
Then set the remappings as follows:
"@chainlink/contracts-ccip/contracts/=lib/chainlink-ccip/chains/evm/contracts/",
"@chainlink/contracts/=lib/chainlink-evm/contracts/",
"@openzeppelin/[email protected]/=lib/openzeppelin-contracts/contracts/",
"@openzeppelin/[email protected]/=lib/openzeppelin-contracts/contracts/"