Skip to content
Open
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
1 change: 1 addition & 0 deletions deploy/004-single-token-converter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,5 +108,6 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
};

func.tags = ["SingleTokenConverter", "Converters"];
func.id = "xvs-and-prime-converters"; // id required to prevent re-execution

export default func;
39 changes: 39 additions & 0 deletions deploy/007-single-token-converter.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import { parseUnits } from "ethers/lib/utils";
import { ethers } from "hardhat";
import { DeployFunction } from "hardhat-deploy/types";
import { HardhatRuntimeEnvironment } from "hardhat/types";

import { ADDRESS_ONE } from "../helpers/utils";

const MIN_AMOUNT_TO_CONVERT = parseUnits("10", 18).toString();

const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
const { deployments, getNamedAccounts } = hre;
const { deploy } = deployments;
const { deployer } = await getNamedAccounts();

const usdcAddress = (await ethers.getContractOrNull("USDC"))?.address || ADDRESS_ONE;

const acmAddress = (await ethers.getContractOrNull("AccessControlManager"))?.address || ADDRESS_ONE;
const oracleAddress = (await ethers.getContractOrNull("ResilientOracle"))?.address || ADDRESS_ONE;
const singleTokenConverterBeacon = await ethers.getContract("SingleTokenConverterBeacon")!;

const SingleTokenConverter = await ethers.getContractFactory("SingleTokenConverter");

const destinationAddress = (await ethers.getContractOrNull("VTreasury"))?.address || ADDRESS_ONE;

const args: string[] = [acmAddress, oracleAddress, destinationAddress, usdcAddress, MIN_AMOUNT_TO_CONVERT];

await deploy("USDCTreasuryConverter", {
from: deployer,
contract: "BeaconProxy",
args: [singleTokenConverterBeacon.address, SingleTokenConverter.interface.encodeFunctionData("initialize", args)],
log: true,
autoMine: true,
});
};

func.tags = ["SingleTokenConverter"];
func.id = "usdc-treasury-converter"; // id required to prevent re-execution

export default func;
3 changes: 3 additions & 0 deletions deployments/bscmainnet/.migrations.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"xvs-and-prime-converters": true
}
91 changes: 71 additions & 20 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3146,7 +3146,7 @@ __metadata:
languageName: node
linkType: hard

"@venusprotocol/governance-contracts@npm:^1.4.0-dev.1":
"@venusprotocol/governance-contracts@npm:^1.4.0, @venusprotocol/governance-contracts@npm:^1.4.0-dev.1":
version: 1.4.0
resolution: "@venusprotocol/governance-contracts@npm:1.4.0"
dependencies:
Expand Down Expand Up @@ -3206,7 +3206,42 @@ __metadata:
languageName: node
linkType: hard

"@venusprotocol/protocol-reserve@^2.0.0, @venusprotocol/protocol-reserve@workspace:.":
"@venusprotocol/protocol-reserve@npm:^1.1.0, @venusprotocol/protocol-reserve@npm:^1.4.0":
version: 1.5.0
resolution: "@venusprotocol/protocol-reserve@npm:1.5.0"
dependencies:
"@nomiclabs/hardhat-ethers": ^2.2.3
"@openzeppelin/contracts": ^4.8.3
"@openzeppelin/contracts-upgradeable": ^4.8.3
"@openzeppelin/hardhat-upgrades": ^1.21.0
"@solidity-parser/parser": ^0.13.2
"@venusprotocol/solidity-utilities": ^1.3.0
ethers: ^5.7.0
hardhat-deploy: ^0.11.14
module-alias: ^2.2.2
checksum: 813bc162103ab756e84bbb0e65fd416ed105cb4a06f9fe55d4a2a066af5bd63b11ca9f2c791376148114ce2b469970c8fe29c85ee1d47f9da9841f2eac8b01e0
languageName: node
linkType: hard

"@venusprotocol/protocol-reserve@npm:^2.0.0":
version: 2.2.0
resolution: "@venusprotocol/protocol-reserve@npm:2.2.0"
dependencies:
"@nomiclabs/hardhat-ethers": ^2.2.3
"@openzeppelin/contracts": ^4.8.3
"@openzeppelin/contracts-upgradeable": ^4.8.3
"@openzeppelin/hardhat-upgrades": ^1.21.0
"@solidity-parser/parser": ^0.13.2
"@venusprotocol/solidity-utilities": ^2.0.0
"@venusprotocol/venus-protocol": ^7.5.0
ethers: ^5.7.0
hardhat-deploy: ^0.11.14
module-alias: ^2.2.2
checksum: ae875b95c1adabcc73ca52f74bf3f875c15e8a29cc6cbdf08038542692e5c397d986424194f1e1819659b0bc17d53770e75e7f74304ecbee24e9e84dd4ef79ed
languageName: node
linkType: hard

"@venusprotocol/protocol-reserve@workspace:.":
version: 0.0.0-use.local
resolution: "@venusprotocol/protocol-reserve@workspace:."
dependencies:
Expand Down Expand Up @@ -3268,23 +3303,6 @@ __metadata:
languageName: unknown
linkType: soft

"@venusprotocol/protocol-reserve@npm:^1.1.0":
version: 1.5.0
resolution: "@venusprotocol/protocol-reserve@npm:1.5.0"
dependencies:
"@nomiclabs/hardhat-ethers": ^2.2.3
"@openzeppelin/contracts": ^4.8.3
"@openzeppelin/contracts-upgradeable": ^4.8.3
"@openzeppelin/hardhat-upgrades": ^1.21.0
"@solidity-parser/parser": ^0.13.2
"@venusprotocol/solidity-utilities": ^1.3.0
ethers: ^5.7.0
hardhat-deploy: ^0.11.14
module-alias: ^2.2.2
checksum: 813bc162103ab756e84bbb0e65fd416ed105cb4a06f9fe55d4a2a066af5bd63b11ca9f2c791376148114ce2b469970c8fe29c85ee1d47f9da9841f2eac8b01e0
languageName: node
linkType: hard

"@venusprotocol/solidity-utilities@npm:2.0.0, @venusprotocol/solidity-utilities@npm:^2.0.0":
version: 2.0.0
resolution: "@venusprotocol/solidity-utilities@npm:2.0.0"
Expand All @@ -3299,7 +3317,7 @@ __metadata:
languageName: node
linkType: hard

"@venusprotocol/solidity-utilities@npm:^1.3.0":
"@venusprotocol/solidity-utilities@npm:^1.2.0, @venusprotocol/solidity-utilities@npm:^1.3.0":
version: 1.3.0
resolution: "@venusprotocol/solidity-utilities@npm:1.3.0"
checksum: d1109365a5e01959c47b25fb129373db93792e60bf1bc0ed324b63c2a64f6e4a7878ebf016cfade94bc41a2c1245d3e861fdc6b8c5844ac210ed1d73e7307e72
Expand All @@ -3313,6 +3331,21 @@ __metadata:
languageName: node
linkType: hard

"@venusprotocol/token-bridge@npm:^1.1.0":
version: 1.1.0
resolution: "@venusprotocol/token-bridge@npm:1.1.0"
dependencies:
"@layerzerolabs/solidity-examples": ^1.0.0
"@openzeppelin/contracts": ^4.8.3
"@openzeppelin/contracts-upgradeable": ^4.8.3
"@openzeppelin/hardhat-upgrades": ^1.21.0
"@solidity-parser/parser": ^0.13.2
ethers: ^5.7.0
module-alias: ^2.2.2
checksum: 86c0e758491b63ce7da57aacf764a4d040a54fdc89994c92a79363e4cbb33b84cd1db38630e76cbcc26f6f7a5a676b3ac96871ad98486701982ea4699bdc15f1
languageName: node
linkType: hard

"@venusprotocol/token-bridge@npm:^2.0.0":
version: 2.1.0
resolution: "@venusprotocol/token-bridge@npm:2.1.0"
Expand Down Expand Up @@ -3343,6 +3376,24 @@ __metadata:
languageName: node
linkType: hard

"@venusprotocol/venus-protocol@npm:^7.5.0":
version: 7.5.0
resolution: "@venusprotocol/venus-protocol@npm:7.5.0"
dependencies:
"@nomicfoundation/hardhat-ethers": ^3.0.0
"@openzeppelin/contracts": 4.9.3
"@openzeppelin/contracts-upgradeable": ^4.8.0
"@venusprotocol/governance-contracts": ^1.4.0
"@venusprotocol/protocol-reserve": ^1.4.0
"@venusprotocol/solidity-utilities": ^1.2.0
"@venusprotocol/token-bridge": ^1.1.0
bignumber.js: ^9.1.2
dotenv: ^16.0.1
module-alias: ^2.2.2
checksum: 0a39304b6f2e0db05a20dacf6d678f3245be878a121e7d1ddeb503c28974dea9cbec0228be3d03f77abb97d1adb8e6e8ad8708cb730a5833e62c4e6735fb6eea
languageName: node
linkType: hard

"@venusprotocol/venus-protocol@npm:^9.1.0":
version: 9.1.0
resolution: "@venusprotocol/venus-protocol@npm:9.1.0"
Expand Down