Skip to content

Commit e702037

Browse files
committed
Merge branch 'main' into develop
# Conflicts: # deployments/deployed-contracts-rinkeby.json # markets/bend/commons.ts
2 parents c804e70 + b7b36e1 commit e702037

File tree

137 files changed

+19726
-11742
lines changed

Some content is hidden

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

137 files changed

+19726
-11742
lines changed

.gitignore

+6-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ deployed-contracts.json
1717
!/deployments/deployed-contracts-main*.json
1818
!/deployments/deployed-contracts-rinkeby*.json
1919
!/deployments/deployed-contracts-develop*.json
20-
!/deployments/deployed-contracts-kovan*.json
20+
!/deployments/deployed-contracts-goerli*.json
21+
!/deployments/deployed-contracts-sepolia*.json
2122

2223
/flattened
2324
bend-flattened.*
@@ -37,3 +38,7 @@ cache
3738
artifacts
3839
storage_layout
3940
out.html
41+
42+
# Foundry
43+
cache_forge
44+
out

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "lib/forge-std"]
2+
path = lib/forge-std
3+
url = https://github.com/foundry-rs/forge-std

.npmrc

-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +0,0 @@
1-
@benddao:registry=https://npm.pkg.github.com
2-
engine-strict=true

README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313

1414
# BendDAO Lending Protocol
1515

16-
This repository contains the smart contracts source code and markets configuration for BendDAO Lending Protocol. The repository uses Hardhat as development enviroment for compilation, testing and deployment tasks.
16+
This repository contains the smart contracts source code and markets configuration for BendDAO Lending Protocol. The repository uses Hardhat as development environment for compilation, testing and deployment tasks.
1717

1818
## What is BendDAO Lending Protocol?
1919

20-
BendDAO Lending Protocol is a decentralized non-custodial NFT lending protocol where users can participate as depositors or borrowers. Depositors provide liquidity to the market to earn a passive income, while borrowers are able to borrow in an overcollateralized fashion, using NFTs as collaterl.
20+
BendDAO Lending Protocol is a decentralized non-custodial NFT lending protocol where users can participate as depositors or borrowers. Depositors provide liquidity to the market to earn a passive income, while borrowers are able to borrow in an overcollateralized fashion, using NFTs as collateral.
2121

2222
## Documentation
2323

@@ -75,7 +75,7 @@ The repository uses Docker Compose to manage sensitive keys and load the configu
7575
Follow the next steps to setup the repository:
7676

7777
- Install `docker` and `docker-compose`
78-
- Create an enviroment file named `.env` and fill the next enviroment variables
78+
- Create an environment file named `.env` and fill the next environment variables
7979

8080
```
8181
# Mnemonic, only first address will be used
@@ -85,7 +85,7 @@ MNEMONIC=""
8585
ALCHEMY_KEY=""
8686
INFURA_KEY=""
8787
88-
# Optional Etherscan key, for automatize the verification of the contracts at Etherscan
88+
# Optional Etherscan key, to automatize the verification of the contracts at Etherscan
8989
ETHERSCAN_KEY=""
9090
9191
```

abis/ChainlinkAggregatorHelper.json

+168
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
[
2+
{
3+
"anonymous": false,
4+
"inputs": [
5+
{
6+
"indexed": true,
7+
"internalType": "address",
8+
"name": "previousOwner",
9+
"type": "address"
10+
},
11+
{
12+
"indexed": true,
13+
"internalType": "address",
14+
"name": "newOwner",
15+
"type": "address"
16+
}
17+
],
18+
"name": "OwnershipTransferred",
19+
"type": "event"
20+
},
21+
{
22+
"anonymous": false,
23+
"inputs": [
24+
{
25+
"indexed": true,
26+
"internalType": "address",
27+
"name": "reserve",
28+
"type": "address"
29+
},
30+
{
31+
"indexed": true,
32+
"internalType": "address",
33+
"name": "aggregator",
34+
"type": "address"
35+
}
36+
],
37+
"name": "ReserveAggregatorRemoved",
38+
"type": "event"
39+
},
40+
{
41+
"anonymous": false,
42+
"inputs": [
43+
{
44+
"indexed": true,
45+
"internalType": "address",
46+
"name": "reserve",
47+
"type": "address"
48+
},
49+
{
50+
"indexed": true,
51+
"internalType": "address",
52+
"name": "aggregator",
53+
"type": "address"
54+
}
55+
],
56+
"name": "ReserveAggregatorUpdated",
57+
"type": "event"
58+
},
59+
{
60+
"inputs": [],
61+
"name": "addressProvider",
62+
"outputs": [
63+
{
64+
"internalType": "address",
65+
"name": "",
66+
"type": "address"
67+
}
68+
],
69+
"stateMutability": "view",
70+
"type": "function"
71+
},
72+
{
73+
"inputs": [
74+
{
75+
"internalType": "address",
76+
"name": "addressProvider_",
77+
"type": "address"
78+
}
79+
],
80+
"name": "initialize",
81+
"outputs": [],
82+
"stateMutability": "nonpayable",
83+
"type": "function"
84+
},
85+
{
86+
"inputs": [],
87+
"name": "owner",
88+
"outputs": [
89+
{
90+
"internalType": "address",
91+
"name": "",
92+
"type": "address"
93+
}
94+
],
95+
"stateMutability": "view",
96+
"type": "function"
97+
},
98+
{
99+
"inputs": [
100+
{
101+
"internalType": "address",
102+
"name": "reserve",
103+
"type": "address"
104+
}
105+
],
106+
"name": "removeReserveAggregator",
107+
"outputs": [],
108+
"stateMutability": "nonpayable",
109+
"type": "function"
110+
},
111+
{
112+
"inputs": [],
113+
"name": "renounceOwnership",
114+
"outputs": [],
115+
"stateMutability": "nonpayable",
116+
"type": "function"
117+
},
118+
{
119+
"inputs": [
120+
{
121+
"internalType": "address",
122+
"name": "",
123+
"type": "address"
124+
}
125+
],
126+
"name": "reserveAggregators",
127+
"outputs": [
128+
{
129+
"internalType": "address",
130+
"name": "",
131+
"type": "address"
132+
}
133+
],
134+
"stateMutability": "view",
135+
"type": "function"
136+
},
137+
{
138+
"inputs": [
139+
{
140+
"internalType": "address",
141+
"name": "newOwner",
142+
"type": "address"
143+
}
144+
],
145+
"name": "transferOwnership",
146+
"outputs": [],
147+
"stateMutability": "nonpayable",
148+
"type": "function"
149+
},
150+
{
151+
"inputs": [
152+
{
153+
"internalType": "address",
154+
"name": "reserve",
155+
"type": "address"
156+
},
157+
{
158+
"internalType": "address",
159+
"name": "aggregator",
160+
"type": "address"
161+
}
162+
],
163+
"name": "updateReserveAggregator",
164+
"outputs": [],
165+
"stateMutability": "nonpayable",
166+
"type": "function"
167+
}
168+
]

abis/IIncentivesController.json

+18
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
11
[
2+
{
3+
"inputs": [
4+
{
5+
"internalType": "contract IScaledBalanceToken[]",
6+
"name": "_assets",
7+
"type": "address[]"
8+
},
9+
{
10+
"internalType": "uint256[]",
11+
"name": "_emissionsPerSecond",
12+
"type": "uint256[]"
13+
}
14+
],
15+
"name": "configureAssets",
16+
"outputs": [],
17+
"stateMutability": "nonpayable",
18+
"type": "function"
19+
},
220
{
321
"inputs": [
422
{

abis/LendPool.json

+57
Original file line numberDiff line numberDiff line change
@@ -697,6 +697,45 @@
697697
"stateMutability": "view",
698698
"type": "function"
699699
},
700+
{
701+
"inputs": [
702+
{
703+
"internalType": "address",
704+
"name": "nftAsset",
705+
"type": "address"
706+
},
707+
{
708+
"internalType": "uint256",
709+
"name": "nftTokenId",
710+
"type": "uint256"
711+
}
712+
],
713+
"name": "getNftAuctionEndTime",
714+
"outputs": [
715+
{
716+
"internalType": "uint256",
717+
"name": "loanId",
718+
"type": "uint256"
719+
},
720+
{
721+
"internalType": "uint256",
722+
"name": "bidStartTimestamp",
723+
"type": "uint256"
724+
},
725+
{
726+
"internalType": "uint256",
727+
"name": "bidEndTimestamp",
728+
"type": "uint256"
729+
},
730+
{
731+
"internalType": "uint256",
732+
"name": "redeemEndTimestamp",
733+
"type": "uint256"
734+
}
735+
],
736+
"stateMutability": "view",
737+
"type": "function"
738+
},
700739
{
701740
"inputs": [
702741
{
@@ -921,6 +960,24 @@
921960
"stateMutability": "view",
922961
"type": "function"
923962
},
963+
{
964+
"inputs": [],
965+
"name": "getPausedTime",
966+
"outputs": [
967+
{
968+
"internalType": "uint256",
969+
"name": "",
970+
"type": "uint256"
971+
},
972+
{
973+
"internalType": "uint256",
974+
"name": "",
975+
"type": "uint256"
976+
}
977+
],
978+
"stateMutability": "view",
979+
"type": "function"
980+
},
924981
{
925982
"inputs": [
926983
{

0 commit comments

Comments
 (0)