You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/chainlink-automation/concepts/best-practice.mdx
+9-1Lines changed: 9 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -10,11 +10,19 @@ whatsnext:
10
10
}
11
11
---
12
12
13
+
import { Aside } from"@components"
14
+
13
15
This guide outlines the best practices when using Chainlink Automation. These best practices are important for using Chainlink Automation securely and reliably when you [create Automation-compatible contracts](/chainlink-automation/guides/compatible-contracts).
14
16
15
17
### Use the latest version of Chainlink Automation
16
18
17
-
To get the best reliability and security guarantees for your upkeep, use the latest version of Chainlink Automation and [migrate existing upkeeps](/chainlink-automation/guides/migrate-to-v2). Versions earlier than 2.1 are no longer supported, and existing upkeeps on versions earlier than 2.1 will stop being performed on August 29, 2024.
19
+
To get the best reliability and security guarantees for your upkeep, use the latest version of Chainlink Automation.
20
+
21
+
<Asidetype="caution"title="Deprecation of older upkeeps">
22
+
[Migrate existing upkeeps](/chainlink-automation/guides/migrate-to-v2) before **August 29, 2024**. Versions earlier
23
+
than 2.1 are no longer supported, and existing upkeeps on versions earlier than 2.1 will stop being performed on
24
+
August 29, 2024.
25
+
</Aside>
18
26
19
27
### Make registry and registrar addresses configurable
Copy file name to clipboardExpand all lines: src/content/chainlink-automation/guides/forwarder.mdx
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ This tutorial explains how to use the `Forwarder` to add additional security to
16
16
17
17
## What is a Forwarder? When is it used?
18
18
19
-
Starting with Automation 2.0, each registered upkeep under the Chainlink Automation network will have its own unique `Forwarder` contract. The `Forwarder` address will only be known after registration, as we deploy a new forwarder for each upkeep. The `Forwarder` contract is the intermediary between the Automation Registry and your Upkeep contract. The `Forwarder`will always be the `msg.Sender` for your upkeep.
19
+
Each registered upkeep under the Chainlink Automation network has its own unique `Forwarder` contract. The `Forwarder` address will only be known after registration, as we deploy a new forwarder for each upkeep. The `Forwarder` contract is the intermediary between the Automation Registry and your Upkeep contract. The `Forwarder`is always the `msg.Sender` for your upkeep.
20
20
21
21
If your `performUpkeep` function is open and callable by anyone without risk of accepting unintentional external data, you don't need to use the `Forwarder`.
22
22
@@ -27,7 +27,7 @@ If your upkeep's perform function needs to be permissioned, please consider addi
27
27
To make this work you will need to:
28
28
29
29
- Create `forwarder` as a mutable address variable on your contract that only _you_ can update. `forwarder` is a unique value that cannot change for your upkeep.
30
-
- Create `setForwarder` function so you can update the `forwarder` address
30
+
- Create `setForwarder` function so you can update the `forwarder` address.
31
31
- After registration run `setForwarder` with the forwarder address in your UI, or programmatically fetch it using `registry.getForwarder(upkeepID)` using the Registry interface.
Copy file name to clipboardExpand all lines: src/content/chainlink-automation/guides/migrate-to-v2.mdx
+7-9Lines changed: 7 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
1
---
2
2
section: automation
3
3
date: Last Modified
4
-
title: "Migrate to v2"
4
+
title: "Migrate to v2.1"
5
5
---
6
6
7
7
import { Aside, ClickToZoom } from"@components"
8
8
9
-
Chainlink Automation 2.0 is a consensus-driven Automation solution that allows you to cut onchain gas costs by using cryptographically verified offchain compute. Automation 2.0 provides 10M gas worth of offchain compute, which is significantly more than previous versions. Additionally, Automation 2.0 provides increased reliability, performance, log trigger capability, and the ability to use `StreamsLookup` to retrieve Data Streams.
9
+
Chainlink Automation 2.1 is a consensus-driven Automation solution that allows you to cut onchain gas costs by using cryptographically verified offchain compute. Automation 2.1 provides 10M gas worth of offchain compute, which is significantly more than previous versions. Additionally, Automation 2.1 provides increased reliability, performance, log trigger capability, and the ability to use `StreamsLookup` to retrieve Data Streams.
10
10
11
-
You can migrate most upkeeps that use Automation version 1.2 and later in the [Chainlink Automation App](https://automation.chain.link/) or [in the block scanner](#migrating-upkeeps-using-block-scanner). When you migrate upkeeps through the registry, you retain the Upkeep ID. Before you migrate, read the [migration checklist](#migration-checklist) to maximize your benefits from Automation 2.0.
11
+
You can migrate most upkeeps that use Automation version 1.2 and later in the [Chainlink Automation App](https://automation.chain.link/) or [in the block scanner](#migrating-upkeeps-using-block-scanner). When you migrate upkeeps through the registry, you retain the Upkeep ID. Before you migrate, read the [migration checklist](#migration-checklist) to maximize your benefits from Automation 2.1.
12
12
13
13
For upkeeps on older registry versions 1.0 (Ethereum Mainnet), and 1.1 (BNB Mainnet and Polygon Mainnet), you must migrate manually by cancelling and re-registering your upkeep in the [Chainlink Automation App](https://automation.chain.link/). After you do this manual migration, future migrations will be easier because your new upkeeps will be eligible for the simpler migration process.
14
14
@@ -29,8 +29,6 @@ The Chainlink Automation App offers a streamlined migration process for upkeeps
29
29
<ahref="https://automation.chain.link">Open the Chainlink Automation App</a>
30
30
</div>
31
31
32
-
Note: Automation 2.0 runs on registry version 2.1. This discrepancy will be reconciled in a future version.
1. To start migrating a specific upkeep, select the upkeep. In the **Details** page, expand the **Actions** menu and select **Migrate upkeep**.
@@ -95,7 +93,7 @@ For upkeeps on registry versions 1.0 and 1.1, you must migrate upkeeps manually:
95
93
1. Return to the main [Chainlink Automation App](https://automation.chain.link/) landing page. Register a new upkeep, providing the **Upkeep address** of your old upkeep.
96
94
1. If your upkeep restricts `msg.sender` to the previous registry address, [update your contract](#update-permissions) to use the new forwarder address.
97
95
98
-
After migration, you have a new upkeep on Automation 2.0 with the same interface as your old upkeep. Future migrations are eligible for the simpler migration process.
96
+
After migration, you have a new upkeep on Automation 2.1 with the same interface as your old upkeep. Future migrations are eligible for the simpler migration process.
99
97
100
98
After the migration is complete:
101
99
@@ -115,7 +113,7 @@ Your new upkeep has a new [unique forwarder](#unique-forwarder) to increase secu
115
113
116
114
### Forwarders by upkeep type
117
115
118
-
This diagram shows the flow of different contracts that Automation 2.0 deploys for new and migrated upkeeps. Compared to custom logic and log trigger upkeeps, time-based upkeeps have an additional contract:
116
+
This diagram shows the flow of different contracts that Automation 2.1 deploys for new and migrated upkeeps. Compared to custom logic and log trigger upkeeps, time-based upkeeps have an additional contract:
@@ -128,7 +126,7 @@ Before you migrate, be aware of several important changes listed here.
128
126
129
127
### Unique forwarder
130
128
131
-
Automation 2.0 Upkeeps are called from a unique forwarder per upkeep and not from the registry. If your upkeep restricts `msg.sender` to the previous registry address, you must update it to the newly created [forwarder address](/chainlink-automation/guides/forwarder). The forwarder address becomes available only after the upkeep has been migrated. This forwarder address will remain constant in future migrations.
129
+
Automation 2.1 upkeeps are called from a unique forwarder per upkeep and not from the registry. If your upkeep restricts `msg.sender` to the previous registry address, you must update it to the newly created [forwarder address](/chainlink-automation/guides/forwarder). The forwarder address becomes available only after the upkeep has been migrated. This forwarder address will remain constant in future migrations.
132
130
133
131
### Update programmatic upkeeps
134
132
@@ -139,7 +137,7 @@ Note that migration moves upkeeps from one registry to another. If you interact
139
137
140
138
#### Get the latest ABI
141
139
142
-
The latest ABI for Automation 2.0 is in the [@chainlink npm package](https://www.npmjs.com/package/@chainlink/contracts?activeTab=code):
140
+
The latest ABI for Automation 2.1 is in the [@chainlink npm package](https://www.npmjs.com/package/@chainlink/contracts?activeTab=code):
Try Chainlink Automation in the [Getting Started](/chainlink-automation/overview/getting-started) guide.
21
22
</Aside>
22
23
24
+
<ChainlinkAutomationcallout="deprecation" />
25
+
23
26
Automate your smart contracts using a secure and hyper-reliable decentralized network that uses the same external network of node operators that secures billions in value. Building on Chainlink Automation will accelerate your innovation, save you time and money, and help you get to market faster so you don't have to deal with the setup cost, ongoing maintenance, and risks associated with a centralized automation stack.
24
27
25
28
To learn more about how the Chainlink Automation Network automates your smart contracts, visit the [Concepts](/chainlink-automation/concepts/automation-concepts) and [Architecture](/chainlink-automation/concepts/automation-architecture) pages. You can also learn more through our [additional Automation resources](https://chain.link/automation#masterclass).
Chainlink Automation only requires an execution fee for transactions onchain. This fee includes the transaction cost, a node operator percentage fee (refer to the formula below), and a small fixed gas overhead accounting for gas between the network and the registry. The percentage fee compensates the Automation Network for monitoring and performing your upkeep. The Automation percentage fee varies by chain and is listed on our [Supported Networks](/chainlink-automation/overview/supported-networks) page.
To use Chainlink Automation on certain networks, you may need to conduct token transfers. You can transfer tokens by using [Chainlink CCIP](/ccip/tutorials/cross-chain-tokens) or third-party applications such as [XSwap](https://xswap.link/).
0 commit comments