Skip to content

Commit 4d673b3

Browse files
Sentence case; move one CCIP page in nav (#1814)
* Sentence case; move one CCIP page in nav * Bump up
1 parent ce87ce9 commit 4d673b3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+148
-148
lines changed

src/config/sidebar.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -856,6 +856,10 @@ export const SIDEBAR: Partial<Record<Sections, SectionEntry[]>> = {
856856
},
857857
],
858858
},
859+
{
860+
title: "Service Limits",
861+
url: "ccip/service-limits",
862+
},
859863
{
860864
title: "Service Responsibility",
861865
url: "ccip/service-responsibility",
@@ -930,10 +934,6 @@ export const SIDEBAR: Partial<Record<Sections, SectionEntry[]>> = {
930934
title: "Best Practices",
931935
url: "ccip/best-practices",
932936
},
933-
{
934-
title: "Service Limits",
935-
url: "ccip/service-limits",
936-
},
937937
],
938938
},
939939
{

src/content/architecture-overview/architecture-decentralized-model.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ import { ClickToZoom } from "@components"
1717

1818
This page describes how data aggregation is applied to produce Chainlink Data Feeds and provides more insight as to how Data Feeds are updated.
1919

20-
## Data Aggregation
20+
## Data aggregation
2121

2222
Each data feed is updated by multiple, independent Chainlink oracle operators. The [AccessControlledOffchainAggregator](https://github.com/smartcontractkit/libocr/blob/master/contract/AccessControlledOffchainAggregator.sol) aggregates the data onchain.
2323

2424
Offchain Reporting (OCR) further enhances the aggregation process. To learn more about OCR and how it works, see the [Offchain Reporting](/architecture-overview/off-chain-reporting) page.
2525

2626
<ClickToZoom src="/images/contract-devs/price-aggr.png" />
2727

28-
## Shared Data Resource
28+
## Shared data resource
2929

3030
Each data feed is built and funded by the community of users who rely on accurate, up-to-date data in their smart contracts. As more users rely on and contribute to a data feed, the quality of the data feed improves. For this reason, each data feed has its own properties depending on the needs of its community of users.
3131

src/content/architecture-overview/architecture-overview.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,21 @@ metadata:
1212
title: "Data Feeds Architecture"
1313
---
1414

15-
## Basic Request Model
15+
## Basic request model
1616

1717
Chainlink connects smart contracts with external data using its decentralized oracle network. Chainlink API requests are handled 1:1 by an oracle.
1818

1919
The [Basic Request Model](/architecture-overview/architecture-request-model) describes the onchain architecture of requesting data from a single oracle source.
2020

2121
To learn how to make a GET request using a single oracle, see [Make a GET Request](/any-api/get-request/introduction).
2222

23-
## Decentralized Data Model
23+
## Decentralized data model
2424

2525
For a more robust and trustworthy answer, you can aggregate data from many oracles. With onchain aggregation, data is aggregated from a decentralized network of independent oracle nodes. This architecture is applied to Chainlink Data Feeds, which can aggregate data such as asset price data.
2626

2727
The [Decentralized Data Model](/architecture-overview/architecture-decentralized-model) describes how data is aggregated, and how consumer contracts can retrieve this data.
2828

29-
## Offchain Reporting
29+
## Offchain reporting
3030

3131
Offchain Reporting (OCR) is an improvement on the decentralization and scalability of Chainlink networks. With our Offchain Reporting aggregators, all nodes communicate using a peer to peer network. During the communication process, a lightweight consensus algorithm runs where each node reports its price observation and signs it. A single aggregate transaction is then transmitted, which saves a significant amount of gas.
3232

src/content/architecture-overview/architecture-request-model.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ metadata:
1414

1515
import { ClickToZoom } from "@components"
1616

17-
## Contracts Overview
17+
## Contracts overview
1818

1919
All source code is open source and available in the [Chainlink Github repository](https://github.com/smartcontractkit/chainlink).
2020

@@ -54,7 +54,7 @@ Oracle contracts are responsible for handling onchain requests made through the
5454

5555
For fulfillment, the oracle contract has a `fulfillOracleRequest` function which is used by the node to fulfill a request once it has the result of the job. This function returns the result to the `ChainlinkClient` using the callback function defined in the original request.
5656

57-
### Offchain Oracle Node
57+
### Offchain oracle node
5858

5959
The offchain oracle node is responsible for listening for events emitted by its corresponding onchain smart contract. Once it detects an `OracleRequest` event, it uses the data emitted to perform a job.
6060

src/content/ccip/architecture.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import { Aside, ClickToZoom } from "@components"
1717
page.
1818
</Aside>
1919

20-
## High-Level Architecture
20+
## High-level architecture
2121

2222
Below is a diagram displaying the basic architecture of CCIP. Routers are smart contracts that provide a simple and consistent interface for users. Users can interact with routers to:
2323

@@ -45,7 +45,7 @@ CCIP enables a _sender_ on a _source blockchain_ to send a _message_ to a _recei
4545
| Receiver | A smart contract or an EOA. **Note**: An EOA cannot receive arbitrary data. It can only receive tokens. |
4646
| Destination Blockchain | The blockchain the receiver resides on. |
4747

48-
## Detailed Architecture
48+
## Detailed architecture
4949

5050
The figure below outlines the different components involved in a cross-chain transaction:
5151

@@ -112,7 +112,7 @@ Token pools provide rate limiting, which is a security feature enabling token is
112112

113113
The Risk Management contract maintains the list of Risk Management node addresses that are allowed to bless or curse. The contract also holds the quorum logic for blessing a committed Merkle Root and cursing CCIP on a destination blockchain. Read the [Risk Management Network Concepts](/ccip/concepts#risk-management-network) section to learn more.
114114

115-
### Offchain Components
115+
### Offchain components
116116

117117
#### Committing DON
118118

@@ -164,7 +164,7 @@ Each [lane](/ccip/concepts#lane) also has an aggregate rate limit that limits th
164164

165165
Consider an example where a lane has a maximum capacity of 100,000 USD, a refill rate of 167 USD per second, and several token transfers with a total value of 60,000 USD have been executed. In that example, the remaining available capacity is 40,000 USD. If a user intends to transfer tokens equating to 50,000 USD, they must wait at least 60 seconds for capacity to refill the additional 10,000 USD that is required. The maximum throughput in USD value on the lane is 100,000 USD every 10 minutes.
166166

167-
## CCIP Execution latency
167+
## CCIP execution latency
168168

169169
Chainlink CCIP has been purposely designed to take a security-first approach to minimize the risk of block reorgs on the source blockchain. The end-to-end transaction time of a CCIP cross-chain transaction largely depends on the time it takes for the transaction on the source chain to reach [finality](/ccip/concepts#finality). The time to reach finality varies by blockchain. For example, on Ethereum, it takes about [15 minutes for a block to be finalized](https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/#finality). When cross-chain transactions are initiated from a chain with faster finality, such as Avalanche, which has a [time-to-finality of around one second](https://support.avax.network/en/articles/5325234-what-is-transactional-finality), the end-to-end transaction time is faster.
170170

src/content/ccip/concepts/manual-execution.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,17 @@ Depending on the situation, you can take one of the following steps:
6464

6565
When manual execution is initiated, a Merkle proof is generated for the message to be executed. During execution, the CCIP explorer submits the Merkle proof and the new gas limit (if the initial failure was due to a low gas limit). This Merkle proof is verified by the [OffRamp contract](/ccip/architecture#offramp) against the Merkle root in the [CommitStore contract](/ccip/architecture#commit-store), and that was blessed by the [Risk Management Network](/ccip/architecture#risk-management-network). This mirrors the automated execution performed by the [CCIP Executing DON](/ccip/architecture#executing-don), with the addition that the execution is resubmitted using the gas limit you provide.
6666

67-
## Frequently Asked Questions
67+
## Frequently asked questions
6868

6969
1. **Can anyone execute a transaction on the CCIP explorer even if they are not the initiator of the transaction?**
7070

7171
Yes, any EOA can manually execute a CCIP message that is eligible for manual execution. However, the executing account must have sufficient native gas tokens (such as ETH on Ethereum or MATIC on Polygon) to cover the gas costs associated with the delivery of the CCIP message.
7272

7373
<br />
7474

75-
1. **If a user sends multiple messages and the first message isnt successfully delivered and goes into a _manual execution_ mode, does that mean all subsequent messages from the user will also be stuck?**
75+
1. **If a user sends multiple messages and the first message isn't successfully delivered and goes into a _manual execution_ mode, does that mean all subsequent messages from the user will also be stuck?**
7676

77-
It depends. If a message goes into manual execution mode due to receiver errors (unhandled exceptions or gas limit issues), subsequent messages dont get automatically blocked, unless they would encounter the same error. However, suppose a message goes into manual execution mode after the Smart Execution time window expires (currently 8 hours). In that case, subsequent messages must wait for the first message to be processed to maintain the default sequence.
77+
It depends. If a message goes into manual execution mode due to receiver errors (unhandled exceptions or gas limit issues), subsequent messages don't get automatically blocked, unless they would encounter the same error. However, suppose a message goes into manual execution mode after the Smart Execution time window expires (currently 8 hours). In that case, subsequent messages must wait for the first message to be processed to maintain the default sequence.
7878

7979
<br />
8080

src/content/chainlink-automation/concepts/best-practice.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ As with all smart contract testing, it is important to test the boundaries of yo
3434

3535
Test all of your mission-critical contracts, and stress-test the contract to confirm the performance and correct operation of your use case under load and adversarial conditions. The Chainlink Automation Network will continue to operate under stress, but so should your contract. For a list of supported testnet blockchains, please review the [supported networks page](/chainlink-automation/overview/supported-networks).
3636

37-
### Using ERC-677 Tokens
37+
### Using ERC-677 tokens
3838

3939
For registration on Mainnet, you need ERC-677 LINK. Many token bridges give you ERC-20 LINK tokens. Use PegSwap to [convert Chainlink tokens (LINK) to be ERC-677 compatible](https://pegswap.chain.link/). To register on a supported testnet, get [LINK](/resources/link-token-contracts) for the testnet that you want to use from our faucet.
4040

src/content/chainlink-automation/guides/compatible-contracts.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Before you deploy contracts to use with Chainlink Automation, read the [Best Pra
2222

2323
</Aside>
2424

25-
## Automation Compatible Contracts
25+
## Automation compatible contracts
2626

2727
A contract is Automation-compatible when it follows a specified interface that allows the Chainlink Automation Network to determine if, when, and how the contract should be automated.
2828

src/content/chainlink-automation/guides/flexible-upkeeps.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,4 +117,4 @@ In this example the total gas used by each `performUpkeep()` function was 133,46
117117

118118
## Conclusion
119119

120-
Using Chainlink Automation efficiently not only allows you to reduce the gas fees, but also keeps them within predictable limits. Thats the reason why [several Defi protocols](https://chainlinktoday.com/prominent-founders-examine-chainlink-keepers-role-in-defis-evolution/) outsource their maintenance tasks to Chainlink Automation.
120+
Using Chainlink Automation efficiently not only allows you to reduce the gas fees, but also keeps them within predictable limits. That's the reason why [several Defi protocols](https://chainlinktoday.com/prominent-founders-examine-chainlink-keepers-role-in-defis-evolution/) outsource their maintenance tasks to Chainlink Automation.

src/content/chainlink-automation/guides/forwarder.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ To make this work you will need to:
3030
- Create `setForwarder` function so you can update the `forwarder` address
3131
- After registration run `setForwarder` with the forwarder address in your UI, or programmatically fetch it using `registry.getForwarder(upkeepID)` using the Registry interface.
3232

33-
## Code Example
33+
## Code example
3434

3535
The code sample below uses the Forwarder:
3636

src/content/chainlink-automation/guides/job-scheduler.mdx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,25 +28,25 @@ In the [Chainlink Automation App](https://automation.chain.link/), click the blu
2828

2929
<ClickToZoom src="/images/automation/auto-ui-home.png" />
3030

31-
### Connecting your Wallet
31+
### Connecting your wallet
3232

3333
If you do not already have a wallet connected with the Chainlink Automation network, the interface will prompt you to do so. Click the **Connect Wallet** button and follow the remaining prompts to connect your wallet to one of the [Automation supported blockchain networks](/chainlink-automation/overview/supported-networks).
3434

3535
<ClickToZoom src="/images/automation/auto-ui-wallet.png" />
3636

37-
## Trigger Selection
37+
## Trigger selection
3838

3939
Select **Time-based** trigger.
4040

4141
<ClickToZoom src="/images/automation/ui_select_trigger.png" />
4242

43-
## Using Time-Based Triggers
43+
## Using time-based triggers
4444

4545
When you select the time-based trigger, you are prompted to enter a _contract address_. Provide the address of the contract you want to automate. If you did not verify the contract on chain, you will need to paste the [Application Binary Interface](https://docs.soliditylang.org/en/develop/abi-spec.html) (ABI) of the deployed contract into the corresponding text box. Select the function name that you want to execute and provide any static inputs. If you want to use dynamic inputs please see [Custom logic Upkeeps](/chainlink-automation/guides/register-upkeep)
4646

4747
<ClickToZoom src="/images/automation/automation-time-based-trigger.png" />
4848

49-
### Specifying the Time Schedule
49+
### Specifying the time schedule
5050

5151
After you have successfully entered your contract address and ABI, specify your time schedule in the form of a [CRON expression](https://en.wikipedia.org/wiki/Cron). CRON expressions provide a shorthand way of creating a time schedule. You can use the provided example buttons in the Automation app to experiment with different schedules. Then, create your own time schedule.
5252

@@ -80,7 +80,7 @@ After entering your CRON expression, click **Next**.
8080

8181
<ClickToZoom src="/images/automation/automation-cron-expression.png" />
8282

83-
## Entering Upkeep Details
83+
## Entering upkeep details
8484

8585
Provide the following information in the Automation app:
8686

@@ -107,7 +107,7 @@ Provide the following information in the Automation app:
107107

108108
<ClickToZoom src="/images/automation/automation-upkeep-details.png" />
109109

110-
## Complete Upkeep Registration
110+
## Complete upkeep registration
111111

112112
Click **Register upkeep** and confirm the transaction in MetaMask.
113113
![Upkeep Registration Success Message](/images/automation/automation-registration-submitted.png)

src/content/chainlink-automation/guides/log-trigger.mdx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Create powerful smart contracts that use log data as both trigger and input. Thi
2020
your upkeep on a testnet before deploying it to a mainnet.
2121
</Aside>
2222

23-
## Emit a Log
23+
## Emit a log
2424

2525
1. Open `CountEmitLog.sol` in Remix. This contract contains an event `WantsToCount` that keeps track of the address of the message sender. The function `emitCountLog` emits this event.
2626

@@ -60,19 +60,19 @@ Create powerful smart contracts that use log data as both trigger and input. Thi
6060

6161
<ClickToZoom src="/images/automation/auto-ui-home.png" />
6262

63-
### Connecting your Wallet
63+
### Connecting your wallet
6464

6565
If you do not already have a wallet connected with the Chainlink Automation network, the interface will prompt you to do so. Click the **Connect Wallet** button and follow the remaining prompts to connect your wallet to one of the [Automation supported blockchain networks](/chainlink-automation/overview/supported-networks).
6666

6767
<ClickToZoom src="/images/automation/auto-ui-wallet.png" />
6868

69-
## Trigger Selection
69+
## Trigger selection
7070

7171
Select **Log Trigger**.
7272

7373
<ClickToZoom src="/images/automation/ui_select_trigger.png" />
7474

75-
## Using Log Triggers
75+
## Using log triggers
7676

7777
<Aside type="tip" title="Reorg protection">
7878
Your upkeeps will be protected against logs that are emitted during a reorg.
@@ -94,7 +94,7 @@ Select **Log Trigger**.
9494

9595
<ClickToZoom src="/images/automation/log_trig_3_logsig_filter_populated.png" />
9696

97-
## Entering Upkeep Details
97+
## Entering upkeep details
9898

9999
Provide the following information in the Automation app:
100100

@@ -125,7 +125,7 @@ Provide the following information in the Automation app:
125125
- **Check data**: Optional input field that you may use depending on whether you are using it in your contract.
126126
- **Your email address (optional)**: This email address will be used to send you an email notification when your upkeep is underfunded.
127127

128-
## Complete Upkeep Registration
128+
## Complete upkeep registration
129129

130130
Click **Register upkeep** and confirm the transaction in MetaMask.
131131
![Upkeep Registration Success Message](/images/automation/automation-registration-submitted.png)
@@ -134,6 +134,6 @@ Your upkeeps will be displayed in your list of **Active Upkeeps**. You must moni
134134

135135
<ClickToZoom src="/images/automation/log-trig-config.png" />
136136

137-
## Performing Upkeep
137+
## Performing upkeep
138138

139139
Navigate back to the Etherscan page for `CountEmitLog.sol`. Under _Write Contract_, click the button to **emitCountLog**. Refresh the upkeep details page. You may have to wait a few moments. Under _History_, you should see the upkeep has been performed.

src/content/chainlink-automation/guides/manage-upkeeps.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { Aside } from "@components"
1414

1515
Manage your Upkeeps to get the best performance.
1616

17-
## Fund your Upkeep
17+
## Fund your upkeep
1818

1919
You must monitor the balance of your Upkeep. If the Upkeep LINK balance drops below the [minimum balance](/chainlink-automation/overview/automation-economics#minimum-balance), the Chainlink Automation Network will not perform the Upkeep.
2020

@@ -39,7 +39,7 @@ Follow these steps to fund your Upkeep:
3939
1. **Receive a success message** and verify that the funds were added to the Upkeep
4040
![Funds Added Successful Message](/images/automation/automation-add-funds.png)
4141

42-
## Maintain a Minimum Balance
42+
## Maintain a minimum balance
4343

4444
Each Upkeep has a [minimum balance](/chainlink-automation/overview/automation-economics#minimum-balance) to ensure that an Upkeeps will still run should a sudden spike occur. If your Upkeep LINK balance drops below this amount, the Upkeep will not be performed.
4545

src/content/chainlink-automation/guides/register-upkeep.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,25 +36,25 @@ Create powerful automation for your smart contract that leverages custom logic t
3636

3737
<ClickToZoom src="/images/automation/auto-ui-home.png" />
3838

39-
### Connecting your Wallet
39+
### Connecting your wallet
4040

4141
If you do not already have a wallet connected with the Chainlink Automation network, the interface will prompt you to do so. Click the **Connect Wallet** button and follow the remaining prompts to connect your wallet to one of the [Automation supported blockchain networks](/chainlink-automation/overview/supported-networks).
4242

4343
<ClickToZoom src="/images/automation/auto-ui-wallet.png" />
4444

45-
## Trigger Selection
45+
## Trigger selection
4646

4747
Select **Custom Logic** trigger.
4848

4949
{" "}
5050

5151
<ClickToZoom src="/images/automation/ui_select_trigger.png" />
5252

53-
## Using Custom Logic Triggers
53+
## Using custom logic triggers
5454

5555
Provide the address of your [compatible contract](/chainlink-automation/guides/compatible-contracts). You do not need to verify the contract onchain, but it must be [compatible](/chainlink-automation/guides/compatible-contracts) with the `AutomationCompatibleInterface` contract.
5656

57-
## Entering Upkeep Details
57+
## Entering upkeep details
5858

5959
Provide the following information in the Automation app:
6060

@@ -84,7 +84,7 @@ Provide the following information in the Automation app:
8484
- **Check data**: This field is provided as an input for when your `checkUpkeep` function is simulated. Either leave this field blank or specify a hexadecimal value starting with `0x`. To learn how to make flexible upkeeps using `checkData`, see the [Flexible Upkeeps](/chainlink-automation/guides/flexible-upkeeps) guide.
8585
- **Your email address (optional)**: This email address will be used to send you an email notification when your upkeep is underfunded.
8686

87-
## Complete Upkeep Registration
87+
## Complete upkeep registration
8888

8989
Click **Register upkeep** and confirm the transaction in MetaMask.
9090
![Upkeep Registration Success Message](/images/automation/automation-registration-submitted.png)

0 commit comments

Comments
 (0)