From 1faeda3808d97cbac116a6b215ff12603d17f320 Mon Sep 17 00:00:00 2001 From: Karim <98668332+khadni@users.noreply.github.com> Date: Thu, 21 Mar 2024 14:38:55 +0100 Subject: [PATCH] Update Streams for beta.1 contracts --- .../getting-started/solidity-compiler.webp | Bin 37106 -> 63176 bytes public/samples/DataStreams/StreamsUpkeep.sol | 2 +- .../DataStreams/StreamsUpkeepRegistrar.sol | 22 +++++++-- .../data-streams/common/gettingStarted.mdx | 46 ++++++++++++++---- .../common/gettingStartedHardhat.mdx | 12 +++-- 5 files changed, 64 insertions(+), 18 deletions(-) diff --git a/public/images/data-streams/getting-started/solidity-compiler.webp b/public/images/data-streams/getting-started/solidity-compiler.webp index 25c0fd9ed8505165b83402c92cc59a857146e94b..1c29cc4a57fb6f4a7067852b3516d778677bfcfa 100644 GIT binary patch literal 63176 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 diff --git a/public/samples/DataStreams/StreamsUpkeep.sol b/public/samples/DataStreams/StreamsUpkeep.sol index 8cd0e0d782a..0b9b698136f 100644 --- a/public/samples/DataStreams/StreamsUpkeep.sol +++ b/public/samples/DataStreams/StreamsUpkeep.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.16; +pragma solidity 0.8.19; import {Common} from "@chainlink/contracts/src/v0.8/llo-feeds/libraries/Common.sol"; import {StreamsLookupCompatibleInterface} from "@chainlink/contracts/src/v0.8/automation/interfaces/StreamsLookupCompatibleInterface.sol"; diff --git a/public/samples/DataStreams/StreamsUpkeepRegistrar.sol b/public/samples/DataStreams/StreamsUpkeepRegistrar.sol index 33ea55feb88..8e36542a7f8 100644 --- a/public/samples/DataStreams/StreamsUpkeepRegistrar.sol +++ b/public/samples/DataStreams/StreamsUpkeepRegistrar.sol @@ -1,12 +1,12 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.16; +pragma solidity 0.8.19; -import {Common} from "@chainlink/contracts/src/v0.8/libraries/Common.sol"; +import {Common} from "@chainlink/contracts/src/v0.8/llo-feeds/libraries/Common.sol"; import {StreamsLookupCompatibleInterface} from "@chainlink/contracts/src/v0.8/automation/interfaces/StreamsLookupCompatibleInterface.sol"; import {ILogAutomation, Log} from "@chainlink/contracts/src/v0.8/automation/interfaces/ILogAutomation.sol"; import {IRewardManager} from "@chainlink/contracts/src/v0.8/llo-feeds/interfaces/IRewardManager.sol"; import {IVerifierFeeManager} from "@chainlink/contracts/src/v0.8/llo-feeds/interfaces/IVerifierFeeManager.sol"; -import {IERC20} from "@chainlink/contracts/src/v0.8/vendor/openzeppelin-solidity/v4.8.0/contracts/interfaces/IERC20.sol"; +import {IERC20} from "@chainlink/contracts/src/v0.8/vendor/openzeppelin-solidity/v4.8.3/contracts/interfaces/IERC20.sol"; import {LinkTokenInterface} from "@chainlink/contracts/src/v0.8/shared/interfaces/LinkTokenInterface.sol"; /** @@ -154,6 +154,22 @@ contract StreamsUpkeepRegistrar is } } + /** + * @notice this is a new, optional function in streams lookup. It is meant to surface streams lookup errors. + * @return upkeepNeeded boolean to indicate whether the keeper should call performUpkeep or not. + * @return performData bytes that the keeper should call performUpkeep with, if + * upkeep is needed. If you would like to encode data to decode later, try `abi.encode`. + */ + function checkErrorHandler( + uint256 /*errCode*/, + bytes memory /*extraData*/ + ) external pure returns (bool upkeepNeeded, bytes memory performData) { + return (true, "0"); + // Hardcoded to always perform upkeep. + // Read the StreamsLookup error handler guide for more information. + // https://docs.chain.link/chainlink-automation/guides/streams-lookup-error-handler + } + // This function uses revert to convey call information. // See https://eips.ethereum.org/EIPS/eip-3668#rationale for details. function checkLog( diff --git a/src/features/data-streams/common/gettingStarted.mdx b/src/features/data-streams/common/gettingStarted.mdx index 8b9e951fcbe..1b0047dd453 100644 --- a/src/features/data-streams/common/gettingStarted.mdx +++ b/src/features/data-streams/common/gettingStarted.mdx @@ -25,7 +25,9 @@ This example uses a [Chainlink Automation Log Trigger](/chainlink-automation/gui - Testnet LINK is available for Arbitrum Sepolia at [faucets.chain.link](https://faucets.chain.link/arbitrum-sepolia). - Learn how to [Fund your contract with LINK](/resources/fund-your-contract). -## Deploy the Chainlink Automation upkeep contract +## Tutorial + +### Deploy the Chainlink Automation upkeep contract Deploy an upkeep contract that is enabled to retrieve data from Data Streams. For this example, you will read from the ETH/USD stream with ID `0x00027bbaff688c906a3e20a34fe951715d1018d262a5b66e38eda027a674cd1b` on Arbitrum Sepolia. See the [Stream Identifiers](/data-streams/stream-ids) page for a complete list of available assets, IDs, and verifier proxy addresses. @@ -33,7 +35,7 @@ Deploy an upkeep contract that is enabled to retrieve data from Data Streams. Fo -1. Select the `0.8.16` Solidity compiler and the `StreamsUpkeep.sol` contract in the **Solidity Compiler** tab. +1. Select the `StreamsUpkeep.sol` contract in the **Solidity Compiler** tab. -## Deploy the emitter contract +### Deploy the emitter contract This contract emits logs that trigger the upkeep. This code can be part of your dApp. For example, you might emit log triggers when your users initiate a trade or other action requiring data retrieval. For this Getting Started guide, use a very simple emitter so you can test the upkeep and data retrieval. @@ -121,7 +123,7 @@ This contract emits logs that trigger the upkeep. This code can be part of your style="max-width: 70%;" /> -## Register the upkeep +### Register the upkeep Register a new **Log trigger** upkeep. See [Automation Log Triggers](/chainlink-automation/guides/log-trigger) to learn more about how to register Log Trigger upkeeps. @@ -151,7 +153,7 @@ Register a new **Log trigger** upkeep. See [Automation Log Triggers](/chainlink- 1. Leave the **Check data** value and other fields blank for now, and click **Register Upkeep**. MetaMask prompts you to confirm the transaction. Wait for the transaction to complete. -## Fund the upkeep contract +### Fund the upkeep contract In this example, the upkeep contract pays for onchain verification of reports from Data Streams. The Automation subscription does not cover the cost. @@ -163,7 +165,7 @@ Open MetaMask and send 1 testnet LINK on _Arbitrum Sepolia_ to the upkeep contra style="max-width: 70%;" /> -## Emit a log +### Emit a log Now, you can use your emitter contract to emit a log and initiate the upkeep, which retrieves data for the specified Data Streams asset ID. @@ -181,7 +183,7 @@ After the transaction is complete, the log is emitted, and the upkeep is trigger -## View the retrieved price +### View the retrieved price The retrieved price is stored as a variable in the contract and emitted in the logs. @@ -199,8 +201,32 @@ Alternatively, you can view the price emitted in the logs for your upkeep transa ## Examine the code -The example code you deployed has all the interfaces and functions required to work with Chainlink Automation as an upkeep contract. It follows a similar flow to the trading flow in the [Architecture](/data-streams#example-trading-flow) documentation but uses a basic log emitter to simulate the client contract that would initiate a `StreamsLookup`. After the contract receives and verifies the report, `performUpkeep` stores the price from the report in the `last_retrieved_price` and emits a `PriceUpdate` log message with the price. You could modify this to use the data in a way that works for your specific use case and application. - -The code example uses `revert` with `StreamsLookup` to convey call information about what streams to retrieve. See the [EIP-3668 rationale](https://eips.ethereum.org/EIPS/eip-3668#rationale) for more information about how to use `revert` in this way. +The example code you deployed has all the interfaces and functions required to work with Chainlink Automation as an upkeep contract. It follows a similar flow to the trading flow in the [Architecture](/data-streams#example-trading-flow) documentation but uses a basic log emitter to simulate the client contract that would initiate a `StreamsLookup`. The code example uses `revert` with `StreamsLookup` to convey call information about what streams to retrieve. See the [EIP-3668 rationale](https://eips.ethereum.org/EIPS/eip-3668#rationale) for more information about how to use `revert` in this way. + +### Initializing the upkeep contract + +When deploying the contract, you define the verifier proxy address for the Data Streams feed you want to read from. You can find this address on the [Data Streams Feed IDs](/data-streams/stream-ids) page. The verifier proxy address provides functions that are required for this example: + +- The `s_feeManager` function to estimate the verification fees. +- The `verify` function to verify the report onchain. + +### Emitting a log, retrieving, and verifying the report + +After registering your upkeep contract with Chainlink Automation with a log trigger, you can emit a log with the `emitLog` function from your emitter contract. + + 1. The emitted log triggers the Chainlink Automation upkeep. + 2. Chainlink Automation then uses `StreamsLookup` to retrieve a signed report from the Data Streams Engine, returns the data in a callback (`checkCallback`), and runs the `performUpkeep` function on your registered upkeep contract. + 3. The `performUpkeep` function calls the `verify` function on the verifier contract to verify the report onchain. + 4. In this example, the `performUpkeep` function also stores the price from the report in the `last_retrieved_price` state variable and emits a `PriceUpdate` log message with the price. + +### Viewing the retrieved price + +The `last_retrieved_price` getter function of your upkeep contract retrieves the last price stored by the `performUpkeep` function in the `last_retrieved_price` state variable of the `StreamsUpkeep` contract. Additionally, the `performUpkeep` function emits a `PriceUpdate` log message with the retrieved price. + +### Optional: Handle Data Streams fetching errors offchain with `checkErrorHandler` + +When Automation detects the triggering event, it runs the `checkLog` function of your upkeep contract, which includes a `StreamsLookup` revert custom error. The `StreamsLookup` revert enables your upkeep to fetch a report from Data Streams. If the report is fetched successfully, the `checkCallback` function is evaluated offchain. Otherwise, the `checkErrorHandler` function is evaluated offchain to determine what Automation should do next. + +In this example, the `checkErrorHandler` is set to always return `true` for `upkeepNeeded`. This implies that the upkeep is always triggered, even if the report fetching fails. You can modify the `checkErrorHandler` function to handle errors offchain in a way that works for your specific use case. Read more about [using the StreamsLookup error handler](/chainlink-automation/guides/streams-lookup-error-handler). diff --git a/src/features/data-streams/common/gettingStartedHardhat.mdx b/src/features/data-streams/common/gettingStartedHardhat.mdx index 6418d318dfd..daa91e61f8e 100644 --- a/src/features/data-streams/common/gettingStartedHardhat.mdx +++ b/src/features/data-streams/common/gettingStartedHardhat.mdx @@ -166,9 +166,7 @@ You can find the upkeep transaction hash at [Chainlink Automation UI](https://au ## Examine the code -The example code you deployed has all the interfaces and functions required to work with Chainlink Automation as an upkeep contract. It follows a similar flow to the trading flow in the [Architecture](/data-streams#example-trading-flow) documentation but uses a basic log emitter to simulate the client contract that would initiate a `StreamsLookup`. After the contract receives and verifies the report, `performUpkeep` stores the price from the report in the `s_last_retrieved_price` and emits a `PriceUpdate` log message with the price. You could modify this to use the data in a way that works for your specific use case and application. - -The code example uses `revert` with `StreamsLookup` to convey call information about what streams to retrieve. See the [EIP-3668 rationale](https://eips.ethereum.org/EIPS/eip-3668#rationale) for more information about how to use `revert` in this way. +The example code you deployed has all the interfaces and functions required to work with Chainlink Automation as an upkeep contract. It follows a similar flow to the trading flow in the [Architecture](/data-streams#example-trading-flow) documentation but uses a basic log emitter to simulate the client contract that would initiate a `StreamsLookup`. The code example uses `revert` with `StreamsLookup` to convey call information about what streams to retrieve. See the [EIP-3668 rationale](https://eips.ethereum.org/EIPS/eip-3668#rationale) for more information about how to use `revert` in this way. @@ -212,4 +210,10 @@ You can use the [`emitLog` task](https://github.com/smartcontractkit/smart-contr ### Viewing the retrieved price -The [`getLastRetrievedPrice`](https://github.com/smartcontractkit/smart-contract-examples/blob/main/data-streams/getting-started/hardhat/tasks/getLastRetrievedPrice.js) Hardhat task retrieves the last price updated by the `performUpkeep` function in the `s_last_retrieved_price` state variable of the `StreamsUpkeep` contract. +The [`getLastRetrievedPrice`](https://github.com/smartcontractkit/smart-contract-examples/blob/main/data-streams/getting-started/hardhat/tasks/getLastRetrievedPrice.js) Hardhat task retrieves the last price updated by the `performUpkeep` function in the `s_last_retrieved_price` state variable of the `StreamsUpkeepRegistrar` contract. + +### Optional: Handle Data Streams fetching errors offchain with `checkErrorHandler` + +When Automation detects the triggering event, it runs the `checkLog` function of your upkeep contract, which includes a `StreamsLookup` revert custom error. The `StreamsLookup` revert enables your upkeep to fetch a report from Data Streams. If the report is fetched successfully, the `checkCallback` function is evaluated offchain. Otherwise, the `checkErrorHandler` function is evaluated offchain to determine what Automation should do next. + +In this example, the `checkErrorHandler` is set to always return `true` for `upkeepNeeded`. This implies that the upkeep is always triggered, even if the report fetching fails. You can modify the `checkErrorHandler` function to handle errors offchain in a way that works for your specific use case. Read more about [using the StreamsLookup error handler](/chainlink-automation/guides/streams-lookup-error-handler).