Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rainlanguage/rain.chainlink

Implementation of chainlink oracles for rain.
https://github.com/rainlanguage/rain.chainlink

chainlink rainlang solidity solidity-contracts

Last synced: 17 days ago
JSON representation

Implementation of chainlink oracles for rain.

Awesome Lists containing this project

README

        

# rain.chainlink

```solidity
/// @title LibChainlink
/// A library for interacting with Chainlink oracles. This library is designed
/// to be used with the `AggregatorV3Interface` interface, to be an opinionated
/// approach to using Chainlink oracles. The implementation is informed by both
/// the Chainlink documentation and real world experience using Chainlink.
/// Importantly it is designed for price feeds specifically, and not for
/// arbitrary oracle values. This is because price feeds are the most common
/// use case for Chainlink oracles, and the most common use case for Chainlink
/// oracles in the context of Rain Protocol.
```

## Dev stuff

### Local environment & CI

Uses nixos.

Install `nix develop` - https://nixos.org/download.html.

Run `nix develop` in this repo to drop into the shell. Please ONLY use the nix
version of `foundry` for development, to ensure versions are all compatible.

Read the `flake.nix` file to find some additional commands included for dev and
CI usage.

## Legal stuff

Everything is under DecentraLicense 1.0 (DCL-1.0) which can be found in `LICENSES/`.

This is basically `CAL-1.0` which is an open source license
https://opensource.org/license/cal-1-0

The non-legal summary of DCL-1.0 is that the source is open, as expected, but
also user data in the systems that this code runs on must also be made available
to those users as relevant, and that private keys remain private.

Roughly it's "not your keys, not your coins" aware, as close as we could get in
legalese.

This is the default situation on permissionless blockchains, so shouldn't require
any additional effort by dev-users to adhere to the license terms.

This repo is REUSE 3.2 compliant https://reuse.software/spec-3.2/ and compatible
with `reuse` tooling (also available in the nix shell here).

```
nix develop -c rainix-sol-legal
```

## Contributions

Contributions are welcome **under the same license** as above.

Contributors agree and warrant that their contributions are compliant.