Smart contract for CctpExtensionV2 -- enables sponsored cross-chain USDC transfers via CCTP using batch EIP-3009 receiveWithAuthorization with nonce-bound deposit parameters.
This repo uses Solidity 0.8.28. This is a standalone contract repo that defines its own minimal interfaces for external dependencies (TokenMessengerV2, EIP-3009 token), so it is not constrained by the 0.7.6 pragma in the upstream evm-cctp-contracts source.
# Clone with submodules
git clone --recurse-submodules <repo-url>
# Install Solidity linter
yarn install
# Build
make build
# Run tests
make test
# Run linter
yarn run lintmake build # compile
make test # all tests pass
yarn lint # no lint errorssrc/ # Solidity source contracts
CctpExtensionV2.sol # Main contract
interfaces/ # Contract interfaces
test/ # Test files and mocks
script/ # Deployment scripts
docs/ # Design docs (to be added)