Skip to content

Commit f18c829

Browse files
dwightjlkhadni
andauthored
Update contract addresses (#1844)
* Update contract addresses * Update src/content/any-api/api-reference.mdx Co-authored-by: Karim H. <[email protected]> --------- Co-authored-by: Karim H. <[email protected]>
1 parent 6aebf1e commit f18c829

18 files changed

+52
-53
lines changed

src/content/any-api/api-reference.mdx

Lines changed: 26 additions & 27 deletions
Large diffs are not rendered by default.

src/content/any-api/testnet-oracles.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ To retrieve the LINK token address or get faucet details for your testnet of cho
2121

2222
## Operator Contracts
2323

24-
Testnet [Operator contracts](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/Operator.sol) are deployed and maintained on the following networks:
24+
Testnet [Operator contracts](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/operatorforwarder/dev/Operator.sol) are deployed and maintained on the following networks:
2525

2626
| Testnet | Oracle Address |
2727
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------- |

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ Proxy contracts can vary from one data feed to another, but the [`AggregatorProx
6868

6969
An aggregator is the contract that receives periodic data updates from the oracle network. Aggregators store aggregated data onchain so that consumers can retrieve it and act upon it within the same transaction.
7070

71-
You can access this data using the Data Feed address and the [`AggregatorV3Interface` contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol).
71+
You can access this data using the Data Feed address and the [`AggregatorV3Interface` contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol).
7272

7373
Aggregators receive updates from the oracle network only when the **Deviation Threshold** or **Heartbeat Threshold** triggers an update during an aggregation round. The first condition that is met triggers an update to the data.
7474

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ LINK is an [ERC-677](https://github.com/ethereum/EIPs/issues/677) compliant toke
3434

3535
Learn more about [ERC-677 and the LINK token](/resources/link-token-contracts).
3636

37-
### Oracle Contract
37+
### Operator Contract
3838

39-
[`Oracle` contracts](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.6/Oracle.sol) are owned by oracle node operators, which run alongside offchain oracle nodes.
39+
[`Operator` contracts](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/operatorforwarder/dev/Operator.sol) are owned by oracle node operators, which run alongside offchain oracle nodes.
4040

4141
#### Request
4242

@@ -48,17 +48,17 @@ The client contract that initiates this cycle must create a request with the fol
4848

4949
To learn about how to find oracles to suit your needs, see [Find Existing Jobs](/any-api/find-oracle).
5050

51-
Oracle contracts are responsible for handling onchain requests made through the LINK token, by implementing `onTokenTransfer` as a <a href="https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.6/LinkTokenReceiver.sol">`LinkTokenReceiver`</a>. Upon execution of this function, the oracle contract **emits an `OracleRequest` event** containing information about the request. This event is crucial, as it is monitored by the offchain oracle node which acts upon it.
51+
Operator contracts are responsible for handling onchain requests made through the LINK token, by implementing `onTokenTransfer` as a <a href="https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/operatorforwarder/dev/LinkTokenReceiver.sol">`LinkTokenReceiver`</a>. Upon execution of this function, the operator contract **emits an `OracleRequest` event** containing information about the request. This event is crucial, as it is monitored by the offchain oracle node which acts upon it.
5252

5353
#### Fulfillment
5454

55-
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.
55+
For fulfillment, the operator 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

5757
### 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

61-
The most common job type for a Node is to make a GET request to an API, retrieve some data from it, parse the response, convert the result into blockchain compatible data, then submit it in a transaction back to the oracle contract, using the `fulfillOracleRequest` function.
61+
The most common job type for a Node is to make a GET request to an API, retrieve some data from it, parse the response, convert the result into blockchain compatible data, then submit it in a transaction back to the operator contract, using the `fulfillOracleRequest` function.
6262

6363
For more information on how to become a node operator, learn how to [run a Chainlink node](/chainlink-nodes/v1/running-a-chainlink-node).
6464

src/content/chainlink-nodes/contracts/forwarder.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ In the EVM world, [externally-owned account](https://ethereum.org/en/developers/
1414
To solve these challenges, we introduced two major features that will allow node operators to set up different transaction-sending strategies more securely while lowering their infrastructure costs:
1515

1616
- Chainlink nodes support multiple EOAs.
17-
- [Forwarder](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/AuthorizedForwarder.sol) contracts allow a node operator to manage multiple EOAs and make them look like a single address. If you use a web2 analogy, forwarder contracts act like a reverse proxy server where the user is served by the same address and does not see which server the traffic is coming from. To do so, nodes call the [forward](#forward) function on the forwarder contract.
17+
- [Forwarder](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/operatorforwarder/dev/AuthorizedForwarder.sol) contracts allow a node operator to manage multiple EOAs and make them look like a single address. If you use a web2 analogy, forwarder contracts act like a reverse proxy server where the user is served by the same address and does not see which server the traffic is coming from. To do so, nodes call the [forward](#forward) function on the forwarder contract.
1818

1919
Combining multiple EOAs and forwarder contracts allows greater flexibility and security in terms of design:
2020

@@ -25,7 +25,7 @@ Combining multiple EOAs and forwarder contracts allows greater flexibility and s
2525

2626
## API Reference
2727

28-
The forwarder contract inherits [AuthorizedReceiver.sol](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/AuthorizedReceiver.sol) and [ConfirmedOwnerWithProposal.sol](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/ConfirmedOwnerWithProposal.sol). Read the [Receiver](/chainlink-nodes/contracts/receiver) and [Ownership](/chainlink-nodes/contracts/ownership) API references to learn more.
28+
The forwarder contract inherits [AuthorizedReceiver.sol](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/operatorforwarder/dev/AuthorizedReceiver.sol) and [ConfirmedOwnerWithProposal.sol](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/shared/access/ConfirmedOwnerWithProposal.sol). Read the [Receiver](/chainlink-nodes/contracts/receiver) and [Ownership](/chainlink-nodes/contracts/ownership) API references to learn more.
2929

3030
### Methods
3131

src/content/chainlink-nodes/contracts/operator.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ import { Aside } from "@components"
88

99
Oracles must deploy an onchain contract to handle requests made through the LINK token (Read [Basic Request Model](/architecture-overview/architecture-request-model) to learn more).
1010

11-
When the _Basic Request_ model was introduced, node operators had to deploy [Oracle contracts](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.4/Oracle.sol). However, these come with some limitations, and soon, we introduced [operator contracts](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/Operator.sol).
11+
When the _Basic Request_ model was introduced, node operators had to deploy the legacy [Oracle contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.4/Oracle.sol). However, these come with some limitations, and soon, we introduced [operator contracts](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/operatorforwarder/dev/Operator.sol).
1212

1313
<Aside type="note">
14-
<p>Node operators are recommended to use _Operator.sol_ instead of _Oracle.sol_.</p>
14+
<p>Node operators must use _Operator.sol_ instead of _Oracle.sol_.</p>
1515
</Aside>
1616

1717
In addition to replacing oracle contracts, operator contracts come with additional features that add more security and flexibility for node operators.
@@ -22,7 +22,7 @@ In addition to replacing oracle contracts, operator contracts come with addition
2222

2323
In the EVM architecture, a word is made up of 32 bytes. One limitation of the [Oracle.sol](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.4/Oracle.sol) contract is that it limits responses to requests to 32 bytes.
2424

25-
[Operator.sol](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/Operator.sol) doesn't have the same limitation as it supports a response made of multiple EVM words.
25+
[Operator.sol](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/operatorforwarder/dev/Operator.sol) doesn't have the same limitation as it supports a response made of multiple EVM words.
2626

2727
### Factory deployment
2828

@@ -50,7 +50,7 @@ As discussed in the [forwarder](/chainlink-nodes/contracts/forwarder) contracts
5050

5151
## API reference
5252

53-
The operator contract inherits [AuthorizedReceiver](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/AuthorizedReceiver.sol) and [ConfirmedOwnerWithProposal](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/ConfirmedOwnerWithProposal.sol). Read [AuthorizedReceiver](/chainlink-nodes/contracts/receiver) and [ConfirmedOwnerWithProposal](/chainlink-nodes/contracts/ownership) API references.
53+
The operator contract inherits [AuthorizedReceiver](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/operatorforwarder/dev/AuthorizedReceiver.sol) and [ConfirmedOwnerWithProposal](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/shared/access/ConfirmedOwnerWithProposal.sol). Read [AuthorizedReceiver](/chainlink-nodes/contracts/receiver) and [ConfirmedOwnerWithProposal](/chainlink-nodes/contracts/ownership) API references.
5454

5555
### Methods
5656

src/content/chainlink-nodes/contracts/ownership.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ date: Last Modified
44
title: "Ownership"
55
---
66

7-
[ConfirmedOwnerWithProposal](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/ConfirmedOwnerWithProposal.sol) is inherited by [operator](/chainlink-nodes/contracts/operator) and [forwarder](/chainlink-nodes/contracts/forwarder) contracts. It contains helpers for basic contract ownership.
7+
[ConfirmedOwnerWithProposal](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/shared/access/ConfirmedOwnerWithProposal.sol) is inherited by [operator](/chainlink-nodes/contracts/operator) and [forwarder](/chainlink-nodes/contracts/forwarder) contracts. It contains helpers for basic contract ownership.
88

99
## API reference
1010

src/content/chainlink-nodes/contracts/receiver.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ title: "Receiver"
66

77
import { Aside } from "@components"
88

9-
[AuthorizedReceiver](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/AuthorizedReceiver.sol) is an abstract contract inherited by [operator](/chainlink-nodes/contracts/operator) and [forwarder](/chainlink-nodes/contracts/forwarder) contracts.
9+
[AuthorizedReceiver](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/operatorforwarder/dev/AuthorizedReceiver.sol) is an abstract contract inherited by [operator](/chainlink-nodes/contracts/operator) and [forwarder](/chainlink-nodes/contracts/forwarder) contracts.
1010

1111
<Aside type="note">
1212
Calling [setAuthorizedSenders](#setauthorizedsenders) has a different effect depending if it is called from an [operator](/chainlink-nodes/contracts/operator) or a [forwarder](/chainlink-nodes/contracts/forwarder) contract:

src/content/chainlink-nodes/job-specs/direct-request-existing-job.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ title: "Existing Job Example specs"
77
This is an example v2 (TOML) job spec for returning gas price using [etherscan](https://docs.etherscan.io/api-endpoints/gas-tracker#get-gas-oracle) in one Chainlink API Call. Note that the job :
88

99
- Uses an [external adapter](/chainlink-nodes/external-adapters/external-adapters) to consume the etherscan API: [EtherScan External Adapter](https://github.com/smartcontractkit/external-adapters-js/tree/develop/packages/sources/etherscan). Note that this is done using the [bridge](/chainlink-nodes/oracle-jobs/all-tasks/#bridge-task) task: `type="bridge" name="etherscan"`.
10-
- Calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/Operator.sol) with this job.
10+
- Calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/operatorforwarder/dev/Operator.sol) with this job.
1111

1212
To test this job spec from a smart contract, see this [Example](/any-api/get-request/examples/existing-job-request).
1313

src/content/chainlink-nodes/job-specs/direct-request-get-bool.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ date: Last Modified
44
title: "GET > Bool Example Job Spec"
55
---
66

7-
This is an example v2 (TOML) job spec for calling any public API, parsing the result then returning a _bool_ in one Chainlink API Call. Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/Operator.sol) with this job.
7+
This is an example v2 (TOML) job spec for calling any public API, parsing the result then returning a _bool_ in one Chainlink API Call. Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/operatorforwarder/dev/Operator.sol) with this job.
88

99
```toml
1010
type = "directrequest"

src/content/chainlink-nodes/job-specs/direct-request-get-bytes.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ date: Last Modified
44
title: "GET > Bytes Example Job Spec"
55
---
66

7-
This is an example v2 (TOML) job spec for returning _bytes_ in one Chainlink API Call. Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/Operator.sol) with this job.
7+
This is an example v2 (TOML) job spec for returning _bytes_ in one Chainlink API Call. Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/operatorforwarder/dev/Operator.sol) with this job.
88
To test it from a smart contract, see this [Example](/any-api/get-request/examples/large-responses).
99

1010
```toml

src/content/chainlink-nodes/job-specs/direct-request-get-int256.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ date: Last Modified
44
title: "GET > Int256 Example Job Spec"
55
---
66

7-
This is an example v2 (TOML) job spec for calling any public API, retrieving a number , removing its decimals then returning _int256_ in one Chainlink API Call. Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/Operator.sol) with this job.
7+
This is an example v2 (TOML) job spec for calling any public API, retrieving a number , removing its decimals then returning _int256_ in one Chainlink API Call. Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/operatorforwarder/dev/Operator.sol) with this job.
88

99
```toml
1010
type = "directrequest"

src/content/chainlink-nodes/job-specs/direct-request-get-string.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ title: "GET > String Example Job Spec"
66

77
import { CodeSample } from "@components"
88

9-
This is an example v2 (TOML) job spec for returning a _string_ in one Chainlink API Call. Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/Operator.sol) with this job.
9+
This is an example v2 (TOML) job spec for returning a _string_ in one Chainlink API Call. Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/operatorforwarder/dev/Operator.sol) with this job.
1010
To test it from a smart contract, see this [Example](/any-api/get-request/examples/array-response).
1111

1212
{/* prettier-ignore */}

src/content/chainlink-nodes/job-specs/direct-request-get-uint256.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ date: Last Modified
44
title: "GET > Uint256 Example Job Spec"
55
---
66

7-
This is an example v2 (TOML) job spec for calling any public API, retrieving a number , removing its decimals then returning _uint256_ in one Chainlink API Call. Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/Operator.sol) with this job.
7+
This is an example v2 (TOML) job spec for calling any public API, retrieving a number , removing its decimals then returning _uint256_ in one Chainlink API Call. Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/operatorforwarder/dev/Operator.sol) with this job.
88
To test it from a smart contract, see this [Example](/any-api/get-request/examples/single-word-response).
99

1010
```toml

src/content/chainlink-nodes/job-specs/multi-word-job.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ date: Last Modified
44
title: "MultiWord Example Job Spec"
55
---
66

7-
This is an example v2 (TOML) job spec for returning multiple responses in 1 Chainlink API Call.Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.7/Operator.sol) with this job.
7+
This is an example v2 (TOML) job spec for returning multiple responses in 1 Chainlink API Call.Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/operatorforwarder/dev/Operator.sol) with this job.
88
To test it from a smart contract, see this [Example](/any-api/get-request/examples/multi-variable-responses).
99

1010
```toml

0 commit comments

Comments
 (0)