Skip to content

Commit

Permalink
feat: add IL market deployments to opbnbtestnet
Browse files Browse the repository at this point in the history
  • Loading branch information
GitGuru7 committed Dec 11, 2023
1 parent a15c8ea commit 2de9fd8
Show file tree
Hide file tree
Showing 24 changed files with 27,292 additions and 592 deletions.
14,064 changes: 13,501 additions & 563 deletions deployments/opbnbtestnet.json

Large diffs are not rendered by default.

206 changes: 206 additions & 0 deletions deployments/opbnbtestnet/ComptrollerBeacon.json

Large diffs are not rendered by default.

2,744 changes: 2,744 additions & 0 deletions deployments/opbnbtestnet/ComptrollerImpl.json

Large diffs are not rendered by default.

176 changes: 176 additions & 0 deletions deployments/opbnbtestnet/Comptroller_Core.json

Large diffs are not rendered by default.

257 changes: 257 additions & 0 deletions deployments/opbnbtestnet/DefaultProxyAdmin.json

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

1,274 changes: 1,274 additions & 0 deletions deployments/opbnbtestnet/PoolLens.json

Large diffs are not rendered by default.

945 changes: 945 additions & 0 deletions deployments/opbnbtestnet/PoolRegistry.json

Large diffs are not rendered by default.

1,189 changes: 1,189 additions & 0 deletions deployments/opbnbtestnet/PoolRegistry_Implementation.json

Large diffs are not rendered by default.

267 changes: 267 additions & 0 deletions deployments/opbnbtestnet/PoolRegistry_Proxy.json

Large diffs are not rendered by default.

206 changes: 206 additions & 0 deletions deployments/opbnbtestnet/VTokenBeacon.json

Large diffs are not rendered by default.

3,021 changes: 3,021 additions & 0 deletions deployments/opbnbtestnet/VTokenImpl.json

Large diffs are not rendered by default.

246 changes: 246 additions & 0 deletions deployments/opbnbtestnet/VToken_vBTCB_Core.json

Large diffs are not rendered by default.

246 changes: 246 additions & 0 deletions deployments/opbnbtestnet/VToken_vETH_Core.json

Large diffs are not rendered by default.

246 changes: 246 additions & 0 deletions deployments/opbnbtestnet/VToken_vUSDT_Core.json

Large diffs are not rendered by default.

246 changes: 246 additions & 0 deletions deployments/opbnbtestnet/VToken_vWBNB_Core.json

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

102 changes: 97 additions & 5 deletions helpers/deploymentConfig.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import { contracts as governanceBscMainnet } from "@venusprotocol/governance-contracts/deployments/bscmainnet.json";
import { contracts as governanceBscTestnet } from "@venusprotocol/governance-contracts/deployments/bsctestnet.json";
import { contracts as governanceEthereum } from "@venusprotocol/governance-contracts/deployments/ethereum.json";
import { contracts as governanceOpbnbTestnet } from "@venusprotocol/governance-contracts/deployments/opbnbtestnet.json";
import { contracts as governanceSepolia } from "@venusprotocol/governance-contracts/deployments/sepolia.json";
import { contracts as venusProtocolBscMainnet } from "@venusprotocol/venus-protocol/deployments/bscmainnet.json";
import { contracts as venusProtocolBscTestnet } from "@venusprotocol/venus-protocol/deployments/bsctestnet.json";
import { contracts as venusProtocolEthereum } from "@venusprotocol/venus-protocol/deployments/ethereum.json";
import { contracts as venusProtocolOpbnbTestnet } from "@venusprotocol/venus-protocol/deployments/opbnbtestnet.json";
import { contracts as venusProtocolSepolia } from "@venusprotocol/venus-protocol/deployments/sepolia.json";
import { ethers } from "hardhat";
import { DeploymentsExtension } from "hardhat-deploy/types";
Expand Down Expand Up @@ -95,6 +97,7 @@ const ANY_CONTRACT = ethers.constants.AddressZero;

const BSC_BLOCKS_PER_YEAR = 10_512_000; // assuming a block is mined every 3 seconds
const ETH_BLOCKS_PER_YEAR = 2_252_571; // assuming a block is mined every 14 seconds
const OPBNB_BLOCKS_PER_YEAR = 31_536_000; // assuming a block is mined every 1 seconds

export type BlocksPerYear = {
[key: string]: number;
Expand All @@ -106,13 +109,16 @@ export const blocksPerYear: BlocksPerYear = {
bscmainnet: BSC_BLOCKS_PER_YEAR,
sepolia: ETH_BLOCKS_PER_YEAR,
ethereum: ETH_BLOCKS_PER_YEAR,
opbnbtestnet: OPBNB_BLOCKS_PER_YEAR,
};

export const SEPOLIA_MULTISIG = "0x94fa6078b6b8a26f0b6edffbe6501b22a10470fb";
export const ETHEREUM_MULTISIG = "0x285960C5B22fD66A736C7136967A3eB15e93CC67";
export const OPBNBTESTNET_MULTISIG = "0xb15f6EfEbC276A3b9805df81b5FB3D50C2A62BDf";

const DEFAULT_REDUCE_RESERVES_BLOCK_DELTA = "6171";
const REDUCE_RESERVES_BLOCK_DELTA_OPBNBTESTNET = "300";

const preconfiguredAddresses = {
hardhat: {
VTreasury: "account:deployer",
Expand Down Expand Up @@ -162,11 +168,11 @@ const preconfiguredAddresses = {
AccessControlManager: governanceEthereum.AccessControlManager.address,
},
opbnbtestnet: {
VTreasury: "0x3370915301E8a6A6baAe6f461af703e2498409F3",
VTreasury: venusProtocolOpbnbTestnet.VTreasuryV8.address,
NormalTimelock: OPBNBTESTNET_MULTISIG,
FastTrackTimelock: OPBNBTESTNET_MULTISIG,
CriticalTimelock: OPBNBTESTNET_MULTISIG,
AccessControlManager: "0x049f77F7046266d27C3bC96376f53C17Ef09c986",
AccessControlManager: governanceOpbnbTestnet.AccessControlManager.address,
},
};

Expand Down Expand Up @@ -2868,9 +2874,95 @@ export const globalConfig: NetworkConfig = {
tokenAddress: ethers.constants.AddressZero,
},
],
poolConfig: [], // TODO
accessControlConfig: [], // TODO
preconfiguredAddresses: preconfiguredAddresses.sepolia,
poolConfig: [
{
id: "Core",
name: "Core",
closeFactor: convertToUnit("0.5", 18),
liquidationIncentive: convertToUnit("1.1", 18),
minLiquidatableCollateral: convertToUnit("100", 18),
vtokens: [
{
name: "Venus BTCB (Core)",
asset: "BTCB",
symbol: "vBTCB_Core",
rateModel: InterestRateModels.JumpRate.toString(),
baseRatePerYear: "0",
multiplierPerYear: convertToUnit("0.05", 18),
jumpMultiplierPerYear: convertToUnit("0.8", 18),
kink_: convertToUnit("0.75", 18),
collateralFactor: convertToUnit("0.75", 18),
liquidationThreshold: convertToUnit("0.8", 18),
reserveFactor: convertToUnit("0.2", 18),
initialSupply: convertToUnit("0.3", 18), // 0.3 BTCB
supplyCap: convertToUnit(300, 18),
borrowCap: convertToUnit(250, 18),
reduceReservesBlockDelta: REDUCE_RESERVES_BLOCK_DELTA_OPBNBTESTNET,
vTokenReceiver: preconfiguredAddresses.opbnbtestnet.VTreasury,
},
{
name: "Venus ETH (Core)",
asset: "ETH",
symbol: "vETH_Core",
rateModel: InterestRateModels.JumpRate.toString(),
baseRatePerYear: "0",
multiplierPerYear: convertToUnit("0.045", 18),
jumpMultiplierPerYear: convertToUnit("0.8", 18),
kink_: convertToUnit("0.8", 18),
collateralFactor: convertToUnit("0.75", 18),
liquidationThreshold: convertToUnit("0.8", 18),
reserveFactor: convertToUnit("0.2", 18),
initialSupply: convertToUnit(5, 18), // 5 ETH
supplyCap: convertToUnit(5500, 18),
borrowCap: convertToUnit(4600, 18),
reduceReservesBlockDelta: REDUCE_RESERVES_BLOCK_DELTA_OPBNBTESTNET,
vTokenReceiver: preconfiguredAddresses.opbnbtestnet.VTreasury,
},
{
name: "Venus USDT (Core)",
asset: "USDT",
symbol: "vUSDT_Core",
rateModel: InterestRateModels.JumpRate.toString(),
baseRatePerYear: "0",
multiplierPerYear: convertToUnit("0.07", 18),
jumpMultiplierPerYear: convertToUnit("0.8", 18),
kink_: convertToUnit("0.8", 18),
collateralFactor: convertToUnit("0.8", 18),
liquidationThreshold: convertToUnit("0.82", 18),
reserveFactor: convertToUnit("0.1", 18),
initialSupply: convertToUnit(10_000, 18), // 10,000 USDT
supplyCap: convertToUnit(10_000_000, 18),
borrowCap: convertToUnit(9_000_000, 18),
reduceReservesBlockDelta: REDUCE_RESERVES_BLOCK_DELTA_OPBNBTESTNET,
vTokenReceiver: preconfiguredAddresses.opbnbtestnet.VTreasury,
},
{
name: "Venus WBNB (Core)",
asset: "WBNB",
symbol: "vWBNB_Core",
rateModel: InterestRateModels.JumpRate.toString(),
baseRatePerYear: convertToUnit("0.02", 18),
multiplierPerYear: convertToUnit("0.2", 18),
jumpMultiplierPerYear: convertToUnit("3", 18),
kink_: convertToUnit("0.5", 18),
collateralFactor: convertToUnit("0.45", 18),
liquidationThreshold: convertToUnit("0.5", 18),
reserveFactor: convertToUnit("0.25", 18),
initialSupply: convertToUnit(45, 18), // 45 WBNB
supplyCap: convertToUnit(80_000, 18),
borrowCap: convertToUnit(56_000, 18),
reduceReservesBlockDelta: REDUCE_RESERVES_BLOCK_DELTA_OPBNBTESTNET,
vTokenReceiver: preconfiguredAddresses.opbnbtestnet.VTreasury,
},
],
rewards: [],
},
],
accessControlConfig: [
...poolRegistryPermissions(),
...normalTimelockPermissions(preconfiguredAddresses.opbnbtestnet.NormalTimelock),
],
preconfiguredAddresses: preconfiguredAddresses.opbnbtestnet,
},
};

Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,10 @@
"@types/node": "^12.20.50",
"@typescript-eslint/eslint-plugin": "^5.27.1",
"@typescript-eslint/parser": "^5.27.1",
"@venusprotocol/governance-contracts": "1.4.0-dev.2",
"@venusprotocol/oracle": "1.8.0-dev.3",
"@venusprotocol/governance-contracts": "1.4.0-dev.8",
"@venusprotocol/oracle": "1.8.0-dev.7",
"@venusprotocol/protocol-reserve": "1.2.0-dev.2",
"@venusprotocol/venus-protocol": "6.0.1-dev.2",
"@venusprotocol/venus-protocol": "6.1.0-dev.6",
"bignumber.js": "9.0.0",
"chai": "^4.3.6",
"dotenv": "^10.0.0",
Expand Down
58 changes: 37 additions & 21 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2941,17 +2941,25 @@ __metadata:
languageName: node
linkType: hard

"@venusprotocol/governance-contracts@npm:1.4.0-dev.2, @venusprotocol/governance-contracts@npm:^1.4.0-dev.1":
version: 1.4.0-dev.2
resolution: "@venusprotocol/governance-contracts@npm:1.4.0-dev.2"
checksum: eea8efe2ef9bf1165d4f639049015d2acd8a1d98f643bb50c59f5b4c93762833709411c2d32b82e9be662f64a61605b4186fcacad44bd227c934f4b55f801880
"@venusprotocol/governance-contracts@npm:1.4.0-dev.8":
version: 1.4.0-dev.8
resolution: "@venusprotocol/governance-contracts@npm:1.4.0-dev.8"
dependencies:
"@venusprotocol/solidity-utilities": ^1.1.0
hardhat-deploy-ethers: ^0.3.0-beta.13
module-alias: ^2.2.2
checksum: 0a9a1540574f6f63ce97afe9263f21ca984f7e3caa1e316ba65597fdb553658ac0cf53b09f8814cf89f3e00b1e0dec603c04294e638d4cf740dba37c0f5a6328
languageName: node
linkType: hard

"@venusprotocol/governance-contracts@npm:^1.3.0":
version: 1.3.0
resolution: "@venusprotocol/governance-contracts@npm:1.3.0"
checksum: 9cbc44e5fffd2f33e273c96e3f77b2d9afe254b3f8c22533eecb96f79011715afafd72f2a716bab5509164fa4f3e0629b94450f16619bba221d8d5a9e632b610
"@venusprotocol/governance-contracts@npm:^1.4.0-dev.2, @venusprotocol/governance-contracts@npm:^1.4.0-dev.8":
version: 1.4.0-dev.9
resolution: "@venusprotocol/governance-contracts@npm:1.4.0-dev.9"
dependencies:
"@venusprotocol/solidity-utilities": ^1.1.0
hardhat-deploy-ethers: ^0.3.0-beta.13
module-alias: ^2.2.2
checksum: 25583a20738973d2ade4a1fdf84dcacf0caec42004f5bf755fdfa29b3602f2b9184638f2d828359195bf8baa3b082797cad941874be1a91a61900b343420cead
languageName: node
linkType: hard

Expand Down Expand Up @@ -2982,10 +2990,10 @@ __metadata:
"@types/node": ^12.20.50
"@typescript-eslint/eslint-plugin": ^5.27.1
"@typescript-eslint/parser": ^5.27.1
"@venusprotocol/governance-contracts": 1.4.0-dev.2
"@venusprotocol/oracle": 1.8.0-dev.3
"@venusprotocol/governance-contracts": 1.4.0-dev.8
"@venusprotocol/oracle": 1.8.0-dev.7
"@venusprotocol/protocol-reserve": 1.2.0-dev.2
"@venusprotocol/venus-protocol": 6.0.1-dev.2
"@venusprotocol/venus-protocol": 6.1.0-dev.6
bignumber.js: 9.0.0
chai: ^4.3.6
dotenv: ^10.0.0
Expand Down Expand Up @@ -3015,23 +3023,23 @@ __metadata:
languageName: unknown
linkType: soft

"@venusprotocol/oracle@npm:1.8.0-dev.3":
version: 1.8.0-dev.3
resolution: "@venusprotocol/oracle@npm:1.8.0-dev.3"
"@venusprotocol/oracle@npm:1.8.0-dev.7":
version: 1.8.0-dev.7
resolution: "@venusprotocol/oracle@npm:1.8.0-dev.7"
dependencies:
"@chainlink/contracts": ^0.5.1
"@defi-wonderland/smock": ^2.3.4
"@nomicfoundation/hardhat-network-helpers": ^1.0.8
"@openzeppelin/contracts": ^4.6.0
"@openzeppelin/contracts-upgradeable": ^4.7.3
"@venusprotocol/governance-contracts": ^1.3.0
"@venusprotocol/governance-contracts": ^1.4.0-dev.8
"@venusprotocol/venus-protocol": 0.7.0
ethers: ^5.6.8
hardhat: ^2.16.1
hardhat-deploy: ^0.11.14
module-alias: ^2.2.2
solidity-docgen: ^0.6.0-beta.29
checksum: 2cdb3a96c5566e317636bb240d61356edbb19534be3c7f745920e2d4737aa2ccb21ad5ea35cd0d2668d2d64b28b789d8b5801e0102ae55a7e4b70ab5db1de6eb
checksum: 2b376c44ac969e2dd2dc5fd2b4ab7e652796722288ba88e33e7ff012bb451bb5fdbe59ad120245bdf854dbaad9cc2a3de42cefd7159d041e4357bc1e3f9bc40a
languageName: node
linkType: hard

Expand Down Expand Up @@ -3059,6 +3067,13 @@ __metadata:
languageName: node
linkType: hard

"@venusprotocol/solidity-utilities@npm:^1.1.0":
version: 1.1.0
resolution: "@venusprotocol/solidity-utilities@npm:1.1.0"
checksum: 3b17ec451cd0ba5aaea76686c7bef35757fb158709214be094f73ebd0d643c79817159f7aa162cc694e1a5ee1f02b20e26211a65929113b985827959aae99fa7
languageName: node
linkType: hard

"@venusprotocol/venus-protocol@npm:0.7.0":
version: 0.7.0
resolution: "@venusprotocol/venus-protocol@npm:0.7.0"
Expand All @@ -3071,18 +3086,19 @@ __metadata:
languageName: node
linkType: hard

"@venusprotocol/venus-protocol@npm:6.0.1-dev.2":
version: 6.0.1-dev.2
resolution: "@venusprotocol/venus-protocol@npm:6.0.1-dev.2"
"@venusprotocol/venus-protocol@npm:6.1.0-dev.6":
version: 6.1.0-dev.6
resolution: "@venusprotocol/venus-protocol@npm:6.1.0-dev.6"
dependencies:
"@openzeppelin/contracts": 4.9.3
"@openzeppelin/contracts-upgradeable": ^4.8.0
"@venusprotocol/governance-contracts": ^1.4.0-dev.1
"@venusprotocol/governance-contracts": ^1.4.0-dev.2
"@venusprotocol/protocol-reserve": 1.2.0-dev.2
"@venusprotocol/solidity-utilities": ^1.1.0
bignumber.js: ^9.1.2
dotenv: ^16.0.1
module-alias: ^2.2.2
checksum: 0b1da169b6ddd1799f2d2d9667d61ced50244acdad68588cb84b051e89ebeb8940a28db9fc890d9b499bd8fc6f774c4163b3bcd0a2a8d2a75080c9c0af80d2e9
checksum: bb860943b2fec91904736315ef0b763aee0b90801bd500d9ea54f503e822eecd91f23928b13d0fed75594fed4affa6854ac2753f22b8f3d3e47aaadc972d5256
languageName: node
linkType: hard

Expand Down

0 comments on commit 2de9fd8

Please sign in to comment.