@chainlink/contracts
v1.3.0
Published
Chainlink smart contracts
Downloads
107,520
Maintainers
Keywords
Readme
Chainlink Smart Contracts
Installation
# via pnpm
$ pnpm add @chainlink/contracts
# via npm
$ npm install @chainlink/contracts --save
Directory Structure
@chainlink/contracts
├── src # Solidity contracts
│ └── v0.8
└── abi # ABI json output
└── v0.8
Usage
The solidity smart contracts themselves can be imported via the src
directory of @chainlink/contracts
:
import '@chainlink/contracts/src/v0.8/AutomationCompatibleInterface.sol';
Local Development
Note: Contracts in dev/
directories are under active development and are likely unaudited. Please refrain from using these in production applications.
# Clone Chainlink repository
$ git clone https://github.com/smartcontractkit/chainlink.git
# Continuing via pnpm
$ cd contracts/
$ pnpm
$ pnpm test
Contributing
Please try to adhere to Solidity Style Guide.
Contributions are welcome! Please refer to Chainlink's contributing guidelines for detailed contribution information.
Thank you!
Changesets
We use changesets to manage versioning the contracts.
Every PR that modifies any configuration or code, should most likely accompanied by a changeset file.
To install changesets
:
- Install
pnpm
if it is not already installed - docs. - Run
pnpm install
.
Either after or before you create a commit, run the pnpm changeset
command in the contracts
directory to create an accompanying changeset entry which will reflect on the CHANGELOG for the next release.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
License
Most of the contracts are licensed under the MIT license. An exception to this is the ccip folder, which defaults to be licensed under the BUSL-1.1 license, however, there are a few exceptions