@chainlink/contracts

1.3.0 • Public • Published

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:

  1. Install pnpm if it is not already installed - docs.
  2. 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

  • src/v0.8/ccip/applications/* is licensed under the MIT license
  • src/v0.8/ccip/interfaces/* is licensed under the MIT license
  • src/v0.8/ccip/libraries/{Client.sol, Internal.sol} is licensed under the MIT license

Readme

Keywords

none

Package Sidebar

Install

npm i @chainlink/contracts

Weekly Downloads

25,185

Version

1.3.0

License

MIT

Unpacked Size

11.9 MB

Total Files

1432

Last publish

Collaborators

  • secure.ericz
  • secure.javier
  • secure.andrew
  • notoriousenigma
  • secure_handerson
  • npmserviceaccount-cll
  • m4us
  • secure.thanh