chainlink
chainlink copied to clipboard
[FEAT] hard-pinned versioning makes for poor libraries
Description
Right now, there are several smart contracts with strict versioning types, for example in the VRF SubscriptionAPI:
pragma solidity 0.8.19;
This is an issue because it's the way the documentation instructs users interface with VRF however, it means that all smart contracts that interact with Chainlink VRF must use solidity version 0.8.19. This of course is very restrictive for developers.
The Request
Please always make smart contracts intended to be used as libraries with loose solidity versioning, for example ^0.8.19, otherwise people with different solidity versions will have a harder time working with these packages.