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/quickstarts/automated-portfolio-manager.mdx
+15-3Lines changed: 15 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,16 +19,25 @@ A live demo is available at https://automated-portfolio-manager.vercel.app.
19
19
20
20
The example contract supports dynamic asset management using tokens that adhere to the ERC20 standard. For this demonstration, Mimic Tokens representing gold (mXAU), Wrapped Bitcoin (mWBTC), and Ethereum (mETH) are used as the underlying assets. These tokens are automatically bought or sold to mirror changes in crypto market sentiment and gold volatility (GVZ) to ensure the portfolio adjusts to evolving market conditions. This functionality demonstrates how blockchain and Chainlink technologies can be used to create a dynamic investment strategy that adapts to global financial movements in real time.
21
21
22
-
**Note**: In a real-world use case, you can integrate the portfolio rebalancing mechanism with any DeFi protocol, such as a swapping mechanism or investments in ERC-4626 vaults.
22
+
**Note**: In a real-world use case, you can integrate the portfolio rebalancing mechanism with any DeFi protocol, such as a swapping mechanism or investments in ERC-4626 vaults.
This tutorial represents an example of using a Chainlink product or service and is provided to help you understand how to interact with Chainlink's systems and services so that you can integrate them into your own. This template is provided "AS IS" and "AS AVAILABLE" without warranties of any kind, has not been audited, and may be missing key checks or error handling to make the usage of the product more clear. Do not use the code in this example in a production environment without completing your own audits and application of best practices. Neither Chainlink Labs, the Chainlink Foundation, nor Chainlink node operators are responsible for unintended outputs that are generated due to errors in code.
27
+
This tutorial represents an example of using a Chainlink product or service and is provided to help you understand how
28
+
to interact with Chainlink's systems and services so that you can integrate them into your own. This template is
29
+
provided "AS IS" and "AS AVAILABLE" without warranties of any kind, has not been audited, and may be missing key
30
+
checks or error handling to make the usage of the product more clear. Do not use the code in this example in a
31
+
production environment without completing your own audits and application of best practices. Neither Chainlink Labs,
32
+
the Chainlink Foundation, nor Chainlink node operators are responsible for unintended outputs that are generated due
33
+
to errors in code.
28
34
</Aside>
29
35
30
36
<Asidetype="caution"title="Disclaimer">
31
-
The rebalancing strategy and logic outlined in this tutorial are solely for educational purposes and have not been backtested. This content is not meant to be financial advice and should not be interpreted as such. The example is intended to demonstrate the potential of Chainlink products. Users are strongly advised to perform their own due diligence before making any financial decisions.
37
+
The rebalancing strategy and logic outlined in this tutorial are solely for educational purposes and have not been
38
+
backtested. This content is not meant to be financial advice and should not be interpreted as such. The example is
39
+
intended to demonstrate the potential of Chainlink products. Users are strongly advised to perform their own due
40
+
diligence before making any financial decisions.
32
41
</Aside>
33
42
34
43
## Table of Content
@@ -113,6 +122,7 @@ Run the following script to deploy your `OffchainDataFetcher` contract on Ethere
1. Open your `.env.local` file and add your Sepolia RPC URL:
220
+
210
221
```
211
222
NEXT_PUBLIC_SEPOLIA_RPC_URL=your_sepolia_rpc_url
212
223
```
224
+
213
225
You can use the same RPC URL you used for contract deployment or get one from providers like [Alchemy](https://www.alchemy.com/) or [Infura](https://www.infura.io/).
Copy file name to clipboardExpand all lines: src/content/quickstarts/ccip-direct-staking.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: "Direct Staking Guide for Third-Party Integrators"
3
3
description: "A guide for third-party integrators to integrate with direct staking solutions that allow users to stake L1 assets from L2 networks using Chainlink CCIP."
4
-
excerpt: "Learn how to integrate with direct staking solutions using Chainlink CCIP. This guide covers fast stake and slow stake implementations, fee estimation, allowance management, and cross-chain tracking using the chainlink-csr repository with Lido as an example."
4
+
excerpt: "Learn how to integrate with direct staking solutions using Chainlink CCIP Programmable Token Transfers. This comprehensive integration guide covers fast stake (instant swaps via liquidity pools) and slow stake (cross-chain bridging) implementations, CCIP fee estimation and encoding, ERC-20 token allowance management, cross-chain transaction tracking, and error handling patterns. Includes hands-on tutorial with Lido wstETH staking on Base Mainnet, TypeScript utilities from chainlink-csr repository, and production-ready reference implementations for third-party integrators building offchain components for liquid staking protocols."
Copy file name to clipboardExpand all lines: src/content/quickstarts/deploy-your-first-contract.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,7 +55,7 @@ Deploying smart contracts onchain requires a wallet and ETH. The ETH pays for th
55
55
56
56

57
57
58
-
1. Go to [faucets.chain.link](https://faucets.chain.link/sepolia) and follow the steps to send testnet ETH to your MetaMask wallet address. After the faucet completes the transaction, you should have testnet ETH in your MetaMask wallet on the Sepolia testnet. Optionally, you can get testnet ETH from one of the [alternative faucets](https://faucetlink.to/sepolia).
58
+
1. Go to [faucets.chain.link](https://faucets.chain.link/sepolia) and follow the steps to send testnet ETH to your MetaMask wallet address. After the faucet completes the transaction, you should have testnet ETH in your MetaMask wallet on the Sepolia testnet. Optionally, you can get testnet ETH from one of the [alternative faucets](https://faucetlink.to/sepolia).
59
59
60
60
Now that you configured your wallet and funded it with testnet ETH, you can write, compile, and deploy your contract.
Copy file name to clipboardExpand all lines: src/content/quickstarts/eth-balance-monitor.mdx
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -130,22 +130,22 @@ The [`EthBalanceMonitor` contract](https://github.com/smartcontractkit/documenta
130
130
131
131
Functions with an asterisk (`*`) denote features that only the owner can change. Click on each function to learn more about its parameters and design patterns:
|`getUnderfundedAddresses`| View function used in `checkUpkeep` to find underfunded balances. |
145
-
|`getForwarderAddress`| Views the upkeep's forwarder address.|
146
-
|`getMinWaitPeriodSeconds`| Views the global minimum period between top ups. |
147
-
|`getWatchList`| Views addresses to watch minimum balance and how much to top it up. |
148
-
|`getAccountInfo`| Provides information about the specific target address, including the last time it was topped up. This function is _external only_. |
|`getUnderfundedAddresses`| View function used in `checkUpkeep` to find underfunded balances. |
145
+
|`getForwarderAddress`| Views the upkeep's forwarder address. |
146
+
|`getMinWaitPeriodSeconds`| Views the global minimum period between top ups. |
147
+
|`getWatchList`| Views addresses to watch minimum balance and how much to top it up. |
148
+
|`getAccountInfo`| Provides information about the specific target address, including the last time it was topped up. This function is _external only_. |
149
149
150
150
### `setWatchList` Function
151
151
@@ -163,9 +163,9 @@ Only the owner can `setWatchList`. Each of the parameters should be set with dis
|`forwarderAddress`| Unique forwarder address used to secure your upkeep |
169
169
170
170
Only the `forwarderAddress` can `performUpkeep`. Your upkeep's forwarder address can be found on the [Chainlink Automation app](https://automation.chain.link/) after you create the upkeep. Only the owner can set a new `forwarderAddress` after deployment.
Copy file name to clipboardExpand all lines: src/content/quickstarts/giveaway.mdx
+34-34Lines changed: 34 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -83,11 +83,11 @@ For demo purposes, use Sepolia for this tutorial. Create a block explorer API ke
83
83
- The private key for your deployer account. If your deployer account is in MetaMask, [export your private key from MetaMask](https://support.metamask.io/hc/en-us/articles/360015289632-How-to-export-an-account-s-private-key).
84
84
- The block explorer API key from Etherscan that you [created earlier](#create-a-block-explorer-api-key).
|`NETWORK_RPC_URL`| The RPC URL for the network you want to deploy to. |`https://eth-sepolia.g.alchemy.com/v2/your-api-key`|
89
-
|`PRIVATE_KEY`| The private key of the account you want to deploy from. <br/> Add `0x` before your key. |`0xabc123abc123abc123abc123abc123...`|
90
-
|`EXPLORER_KEY`| The block explorer API key needed for contract verification. |`ABC123ABC123ABC123ABC123ABC123ABC1`|
89
+
|`PRIVATE_KEY`| The private key of the account you want to deploy from. <br/> Add `0x` before your key. |`0xabc123abc123abc123abc123abc123...`|
90
+
|`EXPLORER_KEY`| The block explorer API key needed for contract verification. |`ABC123ABC123ABC123ABC123ABC123ABC1`|
91
91
92
92
1. In the `contracts` directory, create a `.env` file for your contract environment variables:
93
93
@@ -148,35 +148,35 @@ Install [GNU make](https://www.gnu.org/software/make/) if you do not already hav
148
148
149
149
### macOS
150
150
151
-
1. The Xcode command line tools include `make`. If you've previously installed Xcode, skip to step 2 to verify your installation. Otherwise, open a Terminal window and run:
152
-
```sh
153
-
xcode-select --install
154
-
```
155
-
Alternatively, if you prefer to [use Homebrew](https://formulae.brew.sh/formula/make), be aware that GNU `make` is installed as `gmake`.
156
-
1. Verify your `make` installation:
157
-
```sh
158
-
make
159
-
```
160
-
If `make` is installed successfully, you will get the following output:
161
-
```sh
162
-
make: *** No targets specified or no makefile found. Stop.
163
-
```
151
+
1. The Xcode command line tools include `make`. If you've previously installed Xcode, skip to step 2 to verify your installation. Otherwise, open a Terminal window and run:
152
+
```sh
153
+
xcode-select --install
154
+
```
155
+
Alternatively, if you prefer to [use Homebrew](https://formulae.brew.sh/formula/make), be aware that GNU `make` is installed as `gmake`.
156
+
1. Verify your `make` installation:
157
+
```sh
158
+
make
159
+
```
160
+
If `make` is installed successfully, you will get the following output:
161
+
```sh
162
+
make: *** No targets specified or no makefile found. Stop.
163
+
```
164
164
165
165
### Windows
166
166
167
-
1. If you're using WSL, open an Ubuntu terminal and run:
168
-
```sh
169
-
sudo apt install make
170
-
```
171
-
1.[Edit your path variable to include `make`](https://help.ubuntu.com/community/EnvironmentVariables#Persistent_environment_variables).
172
-
1. Verify your `make` installation:
173
-
```sh
174
-
make
175
-
```
176
-
If `make` is installed successfully, you will get the following output:
177
-
```sh
178
-
make: *** No targets specified or no makefile found. Stop.
179
-
```
167
+
1. If you're using WSL, open an Ubuntu terminal and run:
168
+
```sh
169
+
sudo apt install make
170
+
```
171
+
1.[Edit your path variable to include `make`](https://help.ubuntu.com/community/EnvironmentVariables#Persistent_environment_variables).
172
+
1. Verify your `make` installation:
173
+
```sh
174
+
make
175
+
```
176
+
If `make` is installed successfully, you will get the following output:
177
+
```sh
178
+
make: *** No targets specified or no makefile found. Stop.
179
+
```
180
180
181
181
Install contract dependencies if changes have been made to contracts:
182
182
@@ -232,10 +232,10 @@ Set environment variables to run the UI and then view it locally.
232
232
233
233
1. Prepare your UI environment variables. These are needed for each time you want to run the UI:
|`UI_GIVEAWAY_MANAGER_CONTRACT_ADDRESS`| The address of the Giveaway Contract Manager contract that you [deployed earlier](#deploy-contract)|
238
-
|`UI_LINK_TOKEN_CONTRACT_ADDRESS`| For Ethereum Sepolia: <CopyTexttext="0x779877A7B0D9E8603169DdbD7836e478b4624789"code/> <br/> See all [LINK token contract addresses](/resources/link-token-contracts)|
|`UI_GIVEAWAY_MANAGER_CONTRACT_ADDRESS`| The address of the Giveaway Contract Manager contract that you [deployed earlier](#deploy-contract)|
238
+
|`UI_LINK_TOKEN_CONTRACT_ADDRESS`| For Ethereum Sepolia: <CopyTexttext="0x779877A7B0D9E8603169DdbD7836e478b4624789"code/> <br/> See all [LINK token contract addresses](/resources/link-token-contracts)|
239
239
|`UI_KEEPER_REGISTRY_CONTRACT_ADDRESS`| For Ethereum Sepolia: <CopyTexttext="0xE16Df59B887e3Caa439E0b29B42bA2e7976FD8b2"code/> <br/> This app currently supports Automation v1.2. See all [Automation registry contract addresses](/chainlink-automation/overview/supported-networks)|
240
240
241
241
1. Navigate to the `/client/packages/ui` directory, and run these commands to set up your UI environment variables. Do not use quotes to assign values:
0 commit comments