Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add lend #16

Merged
merged 4 commits into from
Jul 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/contract-addresses/_category_.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"position": 3,
"label": "🔹 Contract Addresses"
"label": "Contract Addresses"
}
5 changes: 5 additions & 0 deletions docs/contract-addresses/testnet.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,8 @@ sidebar_position: 2
- chainId: 300
- LnDefaultBridge(v2): [0xBe23e871318E49C747CB909AC65aCCFAEAac3a37](https://sepolia.explorer.zksync.io/address/0xBe23e871318E49C747CB909AC65aCCFAEAac3a37)
- LnBridge(v3): [0xDc55fF59F82AA50D8A4A61dB8CcaDffD26Fb7dD2](https://sepolia.explorer.zksync.io/address/0xDc55fF59F82AA50D8A4A61dB8CcaDffD26Fb7dD2)

## Base Sepolia

- chainId: 84532
- LnBridge(v3): [0x29D148A9e87C763292a33A55B9dBcAf44A194102](https://sepolia.basescan.org/address/0x29D148A9e87C763292a33A55B9dBcAf44A194102)
2 changes: 1 addition & 1 deletion docs/introduction/_category_.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"position": 1,
"label": "🔹 Introduction"
"label": "Introduction"
}
2 changes: 1 addition & 1 deletion docs/protocol/_category_.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"position": 2,
"label": "🔹 Protocol"
"label": "Protocol"
}
2 changes: 1 addition & 1 deletion docs/relayer/_category_.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"position": 5,
"label": "🔹 Relayer"
"label": "Relayer"
}
2 changes: 2 additions & 0 deletions docs/relayer/client.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ Here's a brief overview of the steps to deploy a Relayer:

If you're not using Helix's public service, you'll need to deploy your own Indexer service. This may involve setting up and configuring an Indexer to index and provide on-chain data.

If you are not connected to the Helix public service, the Helix app will not be able to display your relayer information and will be unable to complete recommendations when users send transactions.

- **Building from Source**

Download the Relayer's source code and compile it according to the instructions in the project's documentation. Typically, this involves installing build tools, dependencies, and running build commands.
Expand Down
46 changes: 46 additions & 0 deletions docs/relayer/register.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,52 @@ You can also use safewallet to run relayer, just configure the following 3 param
- **safeWalletRole:**
the Role of the account, can be `signer` or `executor`, the `executor` will send execution transaction when there are enough signatures.

### Advanced Features
You can leverage the decentralized lending feature to achieve two purposes:
- Earn interest on account assets from the lending market during relayer idle times, reducing the cost of funds as a relayer.
- Provide relay services for an asset bridge without needing to hold that specific asset.

Currently, Helix relayer supports the AAVE lending pool. This feature is only supported for SafeWallet accounts. To use this feature, you need to create a SafeWallet with the same address across different networks and then transfer the tokens to this wallet.

For example, if you want to use the lending feature on Arbitrum, you will need to add configuration information similar to the example below.
```js
"rpcnodes": [
{
"name": "arbitrum",
"rpc": "https://arb1.arbitrum.io/rpc",
"lendMarket": [
{
"protocol": "aave",
"healthFactorLimit": 3.0,
"collaterals": [
{
"symbol": "weth",
"autosupplyAmount": 0.2
},
{
"symbol": "usdt",
"autosupplyAmount": 2000
}
],
"tokens": [
{
"symbol": "weth",
"minRepay": 0.0001,
"minReserved": 0
}
]
}
]
},
]
```
- **lenMarket**: Represents the list of lending markets.
- `healthFactorLimit` represents the lending risk factor, with a recommended value of 3. The larger the value, the safer it is, but the corresponding lending amount is lower.
- `collaterals` represents the collateral, and `autosupplyAmount` indicates the automatic collateral limit when the account has a balance and the collateral amount has not reached this value.
- `tokens` represent the lending tokens, and the client will also automatically repay the loan when the account has a balance of these assets.
- `Priority Usage` When a relay order is generated, the usage order of relay account assets is **Account Balance** > **Collateral Redemption** > **Lending Assets**. The redemption of collateral or the use of lending assets will only be enabled if they are in the configuration list.
- `Native Token Handling` The handling of any native token assets, including supply, withdraw, or lending, is represented by its wrapped token in configure file. However, the use of assets in the account remains as native tokens.

### Install & Run

After completing the configuration, you can execute the following commands one by one to compile and start the client:
Expand Down
2 changes: 1 addition & 1 deletion docs/user-guide/_category_.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"position": 4,
"label": "🔹 User Guide"
"label": "User Guide"
}
24 changes: 12 additions & 12 deletions sidebars.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,20 @@ import type { SidebarsConfig } from "@docusaurus/plugin-content-docs";
*/
const sidebars: SidebarsConfig = {
// By default, Docusaurus generates a sidebar from the docs folder structure
tutorialSidebar: [{ type: "autogenerated", dirName: "." }],

// But you can create a sidebar manually
/*
tutorialSidebar: [
'intro',
'hello',
{
type: 'category',
label: 'Tutorial',
items: ['tutorial-basics/create-a-document'],
},
{ type: "autogenerated", dirName: "." },
{
type: 'category',
label: 'Audit',
items: [
{
type: 'link',
label: 'Audit Report',
href: 'https://github.com/helix-bridge/contracts/blob/master/helix-contract/audit/2024-07-04%20Audit%20Report%20-%20Helix%20Bridge%20v1.0.pdf',
}
],
},
],
*/
};

export default sidebars;
Loading