smartcontractkit / hardhat-chainlink

Integrates Chainlink into Hardhat projects. This package is currently in the BETA testing phase and is not recommended for production usage yet.
https://www.npmjs.com/package/@chainlink/hardhat-chainlink
MIT License
65 stars 32 forks source link

Added `Functions` features and overall project rework #3

Closed pinebit closed 1 year ago

pinebit commented 1 year ago

The main goal was to integrate @chainlink/contract package to avoid using hard-coded ABIs. The other goal is to introduce a single Functions feature to evaluate feasibility.

pinebit commented 1 year ago

Overall LGTM! I've added the documentation part.

I actually have one question: Will deleting the contracts/ folder affect hardhat tasks regarding running the Chainlink node? Thanks in advance!

You are very right. I found the tasks are relying on two contracts: LinkToken and Oracle, so I added those back, but referenced from the official package. Also added a few contracts Functions will require.

KuphJr commented 1 year ago

I just finished reviewing the code and it looks good, however I need to pull this branch and test it out locally before I approve. I should have time to do it tomorrow.

A few other TODO items that will need to be supported are:

pinebit commented 1 year ago

I just finished reviewing the code and it looks good, however I need to pull this branch and test it out locally before I approve. I should have time to do it tomorrow.

A few other TODO items that will need to be supported are:

  • Off-chain secrets support
  • A AutoFunctionsConsumer.sol contract that integrates with Automation
  • Commands to deploy, fund & register AutoFunctionsConsumer.sol for upkeep

Even though this work is paused, I think we still need to move it forward (as is), because it addresses many other challenges in the plugin, not necessary related to Functions.