diff --git a/package.json b/package.json index 1c4af55f..982f9780 100644 --- a/package.json +++ b/package.json @@ -48,12 +48,12 @@ "@types/node": "^20.5.9", "@typescript-eslint/eslint-plugin": "^5.40.1", "@typescript-eslint/parser": "^5.40.1", - "@venusprotocol/governance-contracts": "^1.4.0-dev.9", - "@venusprotocol/isolated-pools": "^2.3.0-dev.4", - "@venusprotocol/oracle": "^1.8.0-dev.8", - "@venusprotocol/protocol-reserve": "^1.1.0", - "@venusprotocol/solidity-utilities": "^1.1.0", - "@venusprotocol/venus-protocol": "^6.1.0-dev.5", + "@venusprotocol/governance-contracts": "1.4.0", + "@venusprotocol/isolated-pools": "^2.3.0", + "@venusprotocol/oracle": "^1.8.0", + "@venusprotocol/protocol-reserve": "^1.2.0", + "@venusprotocol/solidity-utilities": "^1.3.0", + "@venusprotocol/venus-protocol": "^7.0.0", "assemblyscript": "0.19.23", "chai": "^4.3.6", "eslint": "^8.25.0", @@ -81,7 +81,8 @@ "typescript": "^4.8.4" }, "resolutions": { - "@venusprotocol/governance-contracts": "1.4.0-dev.5" + "@venusprotocol/governance-contracts": "1.4.0", + "@venusprotocol/venus-protocol": "7.0.0" }, "husky": { "hooks": { diff --git a/patches/@venusprotocol+governance-contracts+1.4.0-dev.9.patch b/patches/@venusprotocol+governance-contracts+1.4.0-dev.9.patch deleted file mode 100644 index ecedc1b8..00000000 --- a/patches/@venusprotocol+governance-contracts+1.4.0-dev.9.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/node_modules/@venusprotocol/governance-contracts/contracts/legacy/GovernorAlpha.sol b/node_modules/@venusprotocol/governance-contracts/contracts/legacy/GovernorAlpha.sol -index fca5350..4713034 100644 ---- a/node_modules/@venusprotocol/governance-contracts/contracts/legacy/GovernorAlpha.sol -+++ b/node_modules/@venusprotocol/governance-contracts/contracts/legacy/GovernorAlpha.sol -@@ -27,8 +27,8 @@ contract GovernorAlpha { - - /// @notice The duration of voting on a proposal, in blocks - function votingPeriod() public pure returns (uint) { -- return (60 * 60 * 24 * 3) / 3; -- } // ~3 days in blocks (assuming 3s blocks) -+ return 100; -+ } // A reasonable amount of block suitable for testing - - /// @notice The address of the Venus Protocol Timelock - TimelockInterface public timelock; -diff --git a/node_modules/@venusprotocol/governance-contracts/contracts/legacy/GovernorAlpha2.sol b/node_modules/@venusprotocol/governance-contracts/contracts/legacy/GovernorAlpha2.sol -index c009718..0e8e8ec 100644 ---- a/node_modules/@venusprotocol/governance-contracts/contracts/legacy/GovernorAlpha2.sol -+++ b/node_modules/@venusprotocol/governance-contracts/contracts/legacy/GovernorAlpha2.sol -@@ -27,8 +27,8 @@ contract GovernorAlpha2 { - - /// @notice The duration of voting on a proposal, in blocks - function votingPeriod() public pure returns (uint) { -- return (60 * 60 * 24 * 3) / 3; -- } // ~3 days in blocks (assuming 3s blocks) -+ return 100; -+ } // A reasonable amount of block suitable for testing - - /// @notice The address of the Venus Protocol Timelock - TimelockInterface public timelock; diff --git a/patches/@venusprotocol+venus-protocol+6.1.0-dev.6.patch b/patches/@venusprotocol+venus-protocol+6.1.0-dev.6.patch deleted file mode 100644 index 5cd7f5f3..00000000 --- a/patches/@venusprotocol+venus-protocol+6.1.0-dev.6.patch +++ /dev/null @@ -1,268 +0,0 @@ -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerInterface.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerInterface.sol -index a6c8838..2d54e80 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerInterface.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerInterface.sol -@@ -1,6 +1,6 @@ - pragma solidity ^0.5.16; - --import "../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../Tokens/VTokens/VToken.sol"; - import "../Oracle/PriceOracle.sol"; - import "../Tokens/VAI/VAIControllerInterface.sol"; - -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerLensInterface.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerLensInterface.sol -index 2f56b52..fcd8940 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerLensInterface.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerLensInterface.sol -@@ -1,7 +1,7 @@ - pragma solidity ^0.5.16; - pragma experimental ABIEncoderV2; - --import "../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../Tokens/VTokens/VToken.sol"; - - interface ComptrollerLensInterface { - function liquidateCalculateSeizeTokens( -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerStorage.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerStorage.sol -index f662961..9ca7ba3 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerStorage.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerStorage.sol -@@ -2,7 +2,7 @@ - - pragma solidity ^0.5.16; - --import { VToken } from "../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../Tokens/VTokens/VToken.sol"; - import { PriceOracle } from "../Oracle/PriceOracle.sol"; - import { VAIControllerInterface } from "../Tokens/VAI/VAIControllerInterface.sol"; - import { ComptrollerLensInterface } from "./ComptrollerLensInterface.sol"; -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/FacetBase.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/FacetBase.sol -index 0897c1e..d563c78 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/FacetBase.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/FacetBase.sol -@@ -2,7 +2,7 @@ - - pragma solidity 0.5.16; - --import { VToken, ComptrollerErrorReporter, ExponentialNoError } from "../../../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken, ComptrollerErrorReporter, ExponentialNoError } from "../../../Tokens/VTokens/VToken.sol"; - import { IVAIVault } from "../../../Comptroller/ComptrollerInterface.sol"; - import { ComptrollerV15Storage } from "../../../Comptroller/ComptrollerStorage.sol"; - import { IAccessControlManagerV5 } from "@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV5.sol"; -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/MarketFacet.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/MarketFacet.sol -index 654a351..fd6bc14 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/MarketFacet.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/MarketFacet.sol -@@ -4,7 +4,7 @@ pragma solidity 0.5.16; - - import { IMarketFacet } from "../interfaces/IMarketFacet.sol"; - import { FacetBase } from "./FacetBase.sol"; --import { VToken } from "../../../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; - - /** - * @title MarketFacet -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/PolicyFacet.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/PolicyFacet.sol -index 9702f65..5e35254 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/PolicyFacet.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/PolicyFacet.sol -@@ -2,7 +2,7 @@ - - pragma solidity 0.5.16; - --import { VToken } from "../../../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; - import { IPolicyFacet } from "../interfaces/IPolicyFacet.sol"; - - import { XVSRewardsHelper } from "./XVSRewardsHelper.sol"; -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/RewardFacet.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/RewardFacet.sol -index d84f6e4..68357f7 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/RewardFacet.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/RewardFacet.sol -@@ -2,7 +2,7 @@ - - pragma solidity 0.5.16; - --import { VToken } from "../../../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; - import { IRewardFacet } from "../interfaces/IRewardFacet.sol"; - import { XVSRewardsHelper } from "./XVSRewardsHelper.sol"; - import { SafeBEP20, IBEP20 } from "../../../Utils/SafeBEP20.sol"; -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/SetterFacet.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/SetterFacet.sol -index 692b39c..ad996dd 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/SetterFacet.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/SetterFacet.sol -@@ -2,7 +2,7 @@ - - pragma solidity 0.5.16; - --import { VToken } from "../../../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; - import { ISetterFacet } from "../interfaces/ISetterFacet.sol"; - import { PriceOracle } from "../../../Oracle/PriceOracle.sol"; - import { ComptrollerLensInterface } from "../../ComptrollerLensInterface.sol"; -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/XVSRewardsHelper.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/XVSRewardsHelper.sol -index 46bb333..15f4ad1 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/XVSRewardsHelper.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/XVSRewardsHelper.sol -@@ -2,7 +2,7 @@ - - pragma solidity 0.5.16; - --import { VToken } from "../../../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; - import { FacetBase } from "./FacetBase.sol"; - - /** -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IMarketFacet.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IMarketFacet.sol -index 684d76f..4e8ce87 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IMarketFacet.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IMarketFacet.sol -@@ -2,7 +2,7 @@ - - pragma solidity 0.5.16; - --import { VToken } from "../../../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; - - interface IMarketFacet { - function isComptroller() external pure returns (bool); -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IPolicyFacet.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IPolicyFacet.sol -index 3eac49c..faf85a5 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IPolicyFacet.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IPolicyFacet.sol -@@ -2,7 +2,7 @@ - - pragma solidity 0.5.16; - --import { VToken } from "../../../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; - - interface IPolicyFacet { - function mintAllowed(address vToken, address minter, uint256 mintAmount) external returns (uint256); -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IRewardFacet.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IRewardFacet.sol -index 6b5eb75..94badd6 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IRewardFacet.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IRewardFacet.sol -@@ -2,7 +2,7 @@ - - pragma solidity 0.5.16; - --import { VToken } from "../../../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; - import { ComptrollerTypes } from "../../ComptrollerStorage.sol"; - - interface IRewardFacet { -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/ISetterFacet.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/ISetterFacet.sol -index 43e629f..a802986 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/ISetterFacet.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/ISetterFacet.sol -@@ -3,7 +3,7 @@ - pragma solidity 0.5.16; - - import { PriceOracle } from "../../../Oracle/PriceOracle.sol"; --import { VToken } from "../../../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; - import { ComptrollerTypes } from "../../ComptrollerStorage.sol"; - import { VAIControllerInterface } from "../../../Tokens/VAI/VAIController.sol"; - import { ComptrollerLensInterface } from "../../../Comptroller/ComptrollerLensInterface.sol"; -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Lens/ComptrollerLens.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Lens/ComptrollerLens.sol -index 47e18e3..2394a23 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Lens/ComptrollerLens.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Lens/ComptrollerLens.sol -@@ -2,7 +2,7 @@ pragma solidity ^0.5.16; - pragma experimental ABIEncoderV2; - - import "../Tokens/VTokens/VBep20.sol"; --import { VToken } from "../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../Tokens/VTokens/VToken.sol"; - import { ExponentialNoError } from "../Utils/ExponentialNoError.sol"; - import "../Tokens/EIP20Interface.sol"; - import "../Oracle/PriceOracle.sol"; -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Lens/SnapshotLens.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Lens/SnapshotLens.sol -index 11b56be..04303bd 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Lens/SnapshotLens.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Lens/SnapshotLens.sol -@@ -1,7 +1,7 @@ - pragma solidity ^0.5.16; - pragma experimental ABIEncoderV2; - --import { VToken } from "../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../Tokens/VTokens/VToken.sol"; - import { ExponentialNoError } from "../Utils/ExponentialNoError.sol"; - import "../Utils/SafeMath.sol"; - import "../Comptroller/ComptrollerInterface.sol"; -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Oracle/PriceOracle.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Oracle/PriceOracle.sol -index 15f44c1..f8f5685 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Oracle/PriceOracle.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Oracle/PriceOracle.sol -@@ -1,6 +1,6 @@ - pragma solidity ^0.5.16; - --import "../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../Tokens/VTokens/VToken.sol"; - - contract PriceOracle { - /// @notice Indicator that this is a PriceOracle contract (for inspection) -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAIController.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAIController.sol -index e1c21d3..191422a 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAIController.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAIController.sol -@@ -5,7 +5,7 @@ import "../../Utils/ErrorReporter.sol"; - import "../../Utils/Exponential.sol"; - import "../../Comptroller/ComptrollerInterface.sol"; - import "@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV5.sol"; --import { VToken, EIP20Interface } from "../VTokens/VToken.sol"; -+import { CorePoolVToken as VToken, EIP20Interface } from "../VTokens/VToken.sol"; - import "./VAIUnitroller.sol"; - import "./VAI.sol"; - -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VTokens/VBep20.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VTokens/VBep20.sol -index e788777..31a188a 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VTokens/VBep20.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VTokens/VBep20.sol -@@ -1,6 +1,6 @@ - pragma solidity ^0.5.16; - --import { VToken, VBep20Interface, ComptrollerInterface, InterestRateModel, VTokenInterface } from "./VToken.sol"; -+import { CorePoolVToken as VToken, VBep20Interface, ComptrollerInterface, InterestRateModel, VTokenInterface } from "./VToken.sol"; - import { EIP20Interface } from "../EIP20Interface.sol"; - import { EIP20NonStandardInterface } from "../EIP20NonStandardInterface.sol"; - -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VTokens/VToken.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VTokens/VToken.sol -index 7786270..8334f51 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VTokens/VToken.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VTokens/VToken.sol -@@ -14,7 +14,7 @@ import { IAccessControlManagerV5 } from "@venusprotocol/governance-contracts/con - * @notice Abstract base for vTokens - * @author Venus - */ --contract VToken is VTokenInterface, Exponential, TokenErrorReporter { -+contract CorePoolVToken is VTokenInterface, Exponential, TokenErrorReporter { - struct MintLocalVars { - MathError mathErr; - uint exchangeRateMantissa; -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/test/MockVBNB.sol b/node_modules/@venusprotocol/venus-protocol/contracts/test/MockVBNB.sol -index 3d98cda..ad7e7a1 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/test/MockVBNB.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/test/MockVBNB.sol -@@ -1,6 +1,6 @@ - pragma solidity ^0.5.16; - --import "../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../Tokens/VTokens/VToken.sol"; - - /** - * @title Venus's vBNB Contract -diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/test/VBep20MockDelegate.sol b/node_modules/@venusprotocol/venus-protocol/contracts/test/VBep20MockDelegate.sol -index fe9520f..f7eceb0 100644 ---- a/node_modules/@venusprotocol/venus-protocol/contracts/test/VBep20MockDelegate.sol -+++ b/node_modules/@venusprotocol/venus-protocol/contracts/test/VBep20MockDelegate.sol -@@ -1,6 +1,6 @@ - pragma solidity ^0.5.16; - --import "../Tokens/VTokens/VToken.sol"; -+import { CorePoolVToken as VToken } from "../Tokens/VTokens/VToken.sol"; - - /** - * @title Venus's VBep20 Contract diff --git a/patches/@venusprotocol+venus-protocol+7.0.0.patch b/patches/@venusprotocol+venus-protocol+7.0.0.patch new file mode 100644 index 00000000..8f640e42 --- /dev/null +++ b/patches/@venusprotocol+venus-protocol+7.0.0.patch @@ -0,0 +1,1008 @@ +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerInterface.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerInterface.sol +index a6c8838..2d54e80 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerInterface.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerInterface.sol +@@ -1,6 +1,6 @@ + pragma solidity ^0.5.16; + +-import "../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from "../Tokens/VTokens/VToken.sol"; + import "../Oracle/PriceOracle.sol"; + import "../Tokens/VAI/VAIControllerInterface.sol"; + +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerLensInterface.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerLensInterface.sol +index 2f56b52..fcd8940 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerLensInterface.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerLensInterface.sol +@@ -1,7 +1,7 @@ + pragma solidity ^0.5.16; + pragma experimental ABIEncoderV2; + +-import "../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from "../Tokens/VTokens/VToken.sol"; + + interface ComptrollerLensInterface { + function liquidateCalculateSeizeTokens( +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerStorage.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerStorage.sol +index f662961..000d430 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerStorage.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/ComptrollerStorage.sol +@@ -2,7 +2,7 @@ + + pragma solidity ^0.5.16; + +-import { VToken } from "../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from "../Tokens/VTokens/VToken.sol"; + import { PriceOracle } from "../Oracle/PriceOracle.sol"; + import { VAIControllerInterface } from "../Tokens/VAI/VAIControllerInterface.sol"; + import { ComptrollerLensInterface } from "./ComptrollerLensInterface.sol"; +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/FacetBase.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/FacetBase.sol +index 0897c1e..d563c78 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/FacetBase.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/FacetBase.sol +@@ -2,7 +2,7 @@ + + pragma solidity 0.5.16; + +-import { VToken, ComptrollerErrorReporter, ExponentialNoError } from "../../../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken, ComptrollerErrorReporter, ExponentialNoError } from "../../../Tokens/VTokens/VToken.sol"; + import { IVAIVault } from "../../../Comptroller/ComptrollerInterface.sol"; + import { ComptrollerV15Storage } from "../../../Comptroller/ComptrollerStorage.sol"; + import { IAccessControlManagerV5 } from "@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV5.sol"; +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/MarketFacet.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/MarketFacet.sol +index 654a351..9c670f4 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/MarketFacet.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/MarketFacet.sol +@@ -4,7 +4,7 @@ pragma solidity 0.5.16; + + import { IMarketFacet } from "../interfaces/IMarketFacet.sol"; + import { FacetBase } from "./FacetBase.sol"; +-import { VToken } from "../../../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; + + /** + * @title MarketFacet +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/PolicyFacet.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/PolicyFacet.sol +index 9702f65..4cc47dd 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/PolicyFacet.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/PolicyFacet.sol +@@ -2,7 +2,7 @@ + + pragma solidity 0.5.16; + +-import { VToken } from "../../../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; + import { IPolicyFacet } from "../interfaces/IPolicyFacet.sol"; + + import { XVSRewardsHelper } from "./XVSRewardsHelper.sol"; +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/RewardFacet.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/RewardFacet.sol +index d84f6e4..fb63e60 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/RewardFacet.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/RewardFacet.sol +@@ -2,7 +2,7 @@ + + pragma solidity 0.5.16; + +-import { VToken } from "../../../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; + import { IRewardFacet } from "../interfaces/IRewardFacet.sol"; + import { XVSRewardsHelper } from "./XVSRewardsHelper.sol"; + import { SafeBEP20, IBEP20 } from "../../../Utils/SafeBEP20.sol"; +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/SetterFacet.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/SetterFacet.sol +index 692b39c..b411bc7 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/SetterFacet.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/SetterFacet.sol +@@ -2,7 +2,7 @@ + + pragma solidity 0.5.16; + +-import { VToken } from "../../../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; + import { ISetterFacet } from "../interfaces/ISetterFacet.sol"; + import { PriceOracle } from "../../../Oracle/PriceOracle.sol"; + import { ComptrollerLensInterface } from "../../ComptrollerLensInterface.sol"; +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/XVSRewardsHelper.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/XVSRewardsHelper.sol +index 46bb333..0a9351e 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/XVSRewardsHelper.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/facets/XVSRewardsHelper.sol +@@ -2,7 +2,7 @@ + + pragma solidity 0.5.16; + +-import { VToken } from "../../../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; + import { FacetBase } from "./FacetBase.sol"; + + /** +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IMarketFacet.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IMarketFacet.sol +index 684d76f..b585587 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IMarketFacet.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IMarketFacet.sol +@@ -2,7 +2,7 @@ + + pragma solidity 0.5.16; + +-import { VToken } from "../../../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; + + interface IMarketFacet { + function isComptroller() external pure returns (bool); +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IPolicyFacet.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IPolicyFacet.sol +index 3eac49c..faf85a5 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IPolicyFacet.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IPolicyFacet.sol +@@ -2,7 +2,7 @@ + + pragma solidity 0.5.16; + +-import { VToken } from "../../../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; + + interface IPolicyFacet { + function mintAllowed(address vToken, address minter, uint256 mintAmount) external returns (uint256); +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IRewardFacet.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IRewardFacet.sol +index 6b5eb75..94badd6 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IRewardFacet.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/IRewardFacet.sol +@@ -2,7 +2,7 @@ + + pragma solidity 0.5.16; + +-import { VToken } from "../../../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; + import { ComptrollerTypes } from "../../ComptrollerStorage.sol"; + + interface IRewardFacet { +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/ISetterFacet.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/ISetterFacet.sol +index 6464f5c..a3d1a9d 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/ISetterFacet.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Comptroller/Diamond/interfaces/ISetterFacet.sol +@@ -3,7 +3,7 @@ + pragma solidity 0.5.16; + + import { PriceOracle } from "../../../Oracle/PriceOracle.sol"; +-import { VToken } from "../../../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from "../../../Tokens/VTokens/VToken.sol"; + import { ComptrollerTypes } from "../../ComptrollerStorage.sol"; + import { VAIControllerInterface } from "../../../Tokens/VAI/VAIControllerInterface.sol"; + import { ComptrollerLensInterface } from "../../../Comptroller/ComptrollerLensInterface.sol"; +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Lens/ComptrollerLens.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Lens/ComptrollerLens.sol +index 47e18e3..2394a23 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Lens/ComptrollerLens.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Lens/ComptrollerLens.sol +@@ -2,7 +2,7 @@ pragma solidity ^0.5.16; + pragma experimental ABIEncoderV2; + + import "../Tokens/VTokens/VBep20.sol"; +-import { VToken } from "../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from "../Tokens/VTokens/VToken.sol"; + import { ExponentialNoError } from "../Utils/ExponentialNoError.sol"; + import "../Tokens/EIP20Interface.sol"; + import "../Oracle/PriceOracle.sol"; +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Lens/SnapshotLens.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Lens/SnapshotLens.sol +index 11b56be..04303bd 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Lens/SnapshotLens.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Lens/SnapshotLens.sol +@@ -1,7 +1,7 @@ + pragma solidity ^0.5.16; + pragma experimental ABIEncoderV2; + +-import { VToken } from "../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from "../Tokens/VTokens/VToken.sol"; + import { ExponentialNoError } from "../Utils/ExponentialNoError.sol"; + import "../Utils/SafeMath.sol"; + import "../Comptroller/ComptrollerInterface.sol"; +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Lens/VenusLens.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Lens/VenusLens.sol +index a2448a4..805e5fa 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Lens/VenusLens.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Lens/VenusLens.sol +@@ -2,7 +2,7 @@ pragma solidity ^0.5.16; + pragma experimental ABIEncoderV2; + + import "../Tokens/VTokens/VBep20.sol"; +-import "../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from "../Tokens/VTokens/VToken.sol"; + import "../Oracle/PriceOracle.sol"; + import "../Tokens/EIP20Interface.sol"; + import "../Tokens/XVS/XVS.sol"; +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Oracle/PriceOracle.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Oracle/PriceOracle.sol +index 15f44c1..7b4f135 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Oracle/PriceOracle.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Oracle/PriceOracle.sol +@@ -1,16 +1,16 @@ + pragma solidity ^0.5.16; + +-import "../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from '../Tokens/VTokens/VToken.sol'; + + contract PriceOracle { +- /// @notice Indicator that this is a PriceOracle contract (for inspection) +- bool public constant isPriceOracle = true; ++ /// @notice Indicator that this is a PriceOracle contract (for inspection) ++ bool public constant isPriceOracle = true; + +- /** +- * @notice Get the underlying price of a vToken asset +- * @param vToken The vToken to get the underlying price of +- * @return The underlying asset price mantissa (scaled by 1e18). +- * Zero means the price is unavailable. +- */ +- function getUnderlyingPrice(VToken vToken) external view returns (uint); ++ /** ++ * @notice Get the underlying price of a vToken asset ++ * @param vToken The vToken to get the underlying price of ++ * @return The underlying asset price mantissa (scaled by 1e18). ++ * Zero means the price is unavailable. ++ */ ++ function getUnderlyingPrice(VToken vToken) external view returns (uint); + } +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAIController.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAIController.sol +index 508a07a..c818fdd 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAIController.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VAI/VAIController.sol +@@ -6,7 +6,7 @@ import { VAIControllerErrorReporter } from "../../Utils/ErrorReporter.sol"; + import { Exponential } from "../../Utils/Exponential.sol"; + import { ComptrollerInterface } from "../../Comptroller/ComptrollerInterface.sol"; + import { IAccessControlManagerV5 } from "@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV5.sol"; +-import { VToken, EIP20Interface } from "../VTokens/VToken.sol"; ++import { CorePoolVToken as VToken, EIP20Interface } from "../VTokens/VToken.sol"; + import { VAIUnitroller, VAIControllerStorageG4 } from "./VAIUnitroller.sol"; + import { VAI } from "./VAI.sol"; + import { IPrime } from "../Prime/IPrime.sol"; +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VTokens/VBep20.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VTokens/VBep20.sol +index e788777..31a188a 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VTokens/VBep20.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VTokens/VBep20.sol +@@ -1,6 +1,6 @@ + pragma solidity ^0.5.16; + +-import { VToken, VBep20Interface, ComptrollerInterface, InterestRateModel, VTokenInterface } from "./VToken.sol"; ++import { CorePoolVToken as VToken, VBep20Interface, ComptrollerInterface, InterestRateModel, VTokenInterface } from "./VToken.sol"; + import { EIP20Interface } from "../EIP20Interface.sol"; + import { EIP20NonStandardInterface } from "../EIP20NonStandardInterface.sol"; + +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VTokens/VToken.sol b/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VTokens/VToken.sol +index 7786270..8334f51 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VTokens/VToken.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/Tokens/VTokens/VToken.sol +@@ -14,7 +14,7 @@ import { IAccessControlManagerV5 } from "@venusprotocol/governance-contracts/con + * @notice Abstract base for vTokens + * @author Venus + */ +-contract VToken is VTokenInterface, Exponential, TokenErrorReporter { ++contract CorePoolVToken is VTokenInterface, Exponential, TokenErrorReporter { + struct MintLocalVars { + MathError mathErr; + uint exchangeRateMantissa; +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/test/MockVBNB.sol b/node_modules/@venusprotocol/venus-protocol/contracts/test/MockVBNB.sol +index 3d98cda..11c3a84 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/test/MockVBNB.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/test/MockVBNB.sol +@@ -1,6 +1,6 @@ + pragma solidity ^0.5.16; + +-import "../Tokens/VTokens/VToken.sol"; ++import { CorePoolVToken as VToken } from '../Tokens/VTokens/VToken.sol'; + + /** + * @title Venus's vBNB Contract +@@ -8,364 +8,379 @@ import "../Tokens/VTokens/VToken.sol"; + * @author Venus + */ + contract MockVBNB is VToken { +- /** +- * @notice Construct a new vBNB money market +- * @param comptroller_ The address of the Comptroller +- * @param interestRateModel_ The address of the interest rate model +- * @param initialExchangeRateMantissa_ The initial exchange rate, scaled by 1e18 +- * @param name_ BEP-20 name of this token +- * @param symbol_ BEP-20 symbol of this token +- * @param decimals_ BEP-20 decimal precision of this token +- * @param admin_ Address of the administrator of this token +- */ +- constructor( +- ComptrollerInterface comptroller_, +- InterestRateModel interestRateModel_, +- uint initialExchangeRateMantissa_, +- string memory name_, +- string memory symbol_, +- uint8 decimals_, +- address payable admin_ +- ) public { +- // Creator of the contract is admin during initialization +- admin = msg.sender; +- +- initialize(comptroller_, interestRateModel_, initialExchangeRateMantissa_, name_, symbol_, decimals_); +- +- // Set the proper admin now that initialization is done +- admin = admin_; +- } +- +- /** +- * @notice Send BNB to VBNB to mint +- */ +- function() external payable { +- (uint err, ) = mintInternal(msg.value); +- requireNoError(err, "mint failed"); ++ /** ++ * @notice Construct a new vBNB money market ++ * @param comptroller_ The address of the Comptroller ++ * @param interestRateModel_ The address of the interest rate model ++ * @param initialExchangeRateMantissa_ The initial exchange rate, scaled by 1e18 ++ * @param name_ BEP-20 name of this token ++ * @param symbol_ BEP-20 symbol of this token ++ * @param decimals_ BEP-20 decimal precision of this token ++ * @param admin_ Address of the administrator of this token ++ */ ++ constructor( ++ ComptrollerInterface comptroller_, ++ InterestRateModel interestRateModel_, ++ uint initialExchangeRateMantissa_, ++ string memory name_, ++ string memory symbol_, ++ uint8 decimals_, ++ address payable admin_ ++ ) public { ++ // Creator of the contract is admin during initialization ++ admin = msg.sender; ++ ++ initialize( ++ comptroller_, ++ interestRateModel_, ++ initialExchangeRateMantissa_, ++ name_, ++ symbol_, ++ decimals_ ++ ); ++ ++ // Set the proper admin now that initialization is done ++ admin = admin_; ++ } ++ ++ /** ++ * @notice Send BNB to VBNB to mint ++ */ ++ function() external payable { ++ (uint err, ) = mintInternal(msg.value); ++ requireNoError(err, 'mint failed'); ++ } ++ ++ /*** User Interface ***/ ++ ++ /** ++ * @notice Sender supplies assets into the market and receives vTokens in exchange ++ * @dev Reverts upon any failure ++ */ ++ // @custom:event Emits Transfer event ++ // @custom:event Emits Mint event ++ function mint() external payable { ++ (uint err, ) = mintInternal(msg.value); ++ requireNoError(err, 'mint failed'); ++ } ++ ++ /** ++ * @notice Sender redeems vTokens in exchange for the underlying asset ++ * @dev Accrues interest whether or not the operation succeeds, unless reverted ++ * @param redeemTokens The number of vTokens to redeem into underlying ++ * @return uint Returns 0 on success, otherwise returns a failure code (see ErrorReporter.sol for details). ++ */ ++ // @custom:event Emits Redeem event on success ++ // @custom:event Emits Transfer event on success ++ // @custom:event Emits RedeemFee when fee is charged by the treasury ++ function redeem(uint redeemTokens) external returns (uint) { ++ return redeemInternal(redeemTokens); ++ } ++ ++ /** ++ * @notice Sender redeems vTokens in exchange for a specified amount of underlying asset ++ * @dev Accrues interest whether or not the operation succeeds, unless reverted ++ * @param redeemAmount The amount of underlying to redeem ++ * @return uint Returns 0 on success, otherwise returns a failure code (see ErrorReporter.sol for details). ++ */ ++ // @custom:event Emits Redeem event on success ++ // @custom:event Emits Transfer event on success ++ // @custom:event Emits RedeemFee when fee is charged by the treasury ++ function redeemUnderlying(uint redeemAmount) external returns (uint) { ++ return redeemUnderlyingInternal(redeemAmount); ++ } ++ ++ /** ++ * @notice Sender borrows assets from the protocol to their own address ++ * @param borrowAmount The amount of the underlying asset to borrow ++ * @return uint Returns 0 on success, otherwise returns a failure code (see ErrorReporter.sol for details). ++ */ ++ // @custom:event Emits Borrow event on success ++ function borrow(uint borrowAmount) external returns (uint) { ++ return borrowInternal(msg.sender, msg.sender, borrowAmount); ++ } ++ ++ /** ++ * @notice Sender repays their own borrow ++ * @dev Reverts upon any failure ++ */ ++ // @custom:event Emits RepayBorrow event on success ++ function repayBorrow() external payable { ++ (uint err, ) = repayBorrowInternal(msg.value); ++ requireNoError(err, 'repayBorrow failed'); ++ } ++ ++ /** ++ * @notice Sender repays a borrow belonging to borrower ++ * @dev Reverts upon any failure ++ * @param borrower The account with the debt being payed off ++ */ ++ // @custom:event Emits RepayBorrow event on success ++ function repayBorrowBehalf(address borrower) external payable { ++ (uint err, ) = repayBorrowBehalfInternal(borrower, msg.value); ++ requireNoError(err, 'repayBorrowBehalf failed'); ++ } ++ ++ /** ++ * @notice The sender liquidates the borrowers collateral. ++ * The collateral seized is transferred to the liquidator. ++ * @dev Reverts upon any failure ++ * @param borrower The borrower of this vToken to be liquidated ++ * @param vTokenCollateral The market in which to seize collateral from the borrower ++ */ ++ // @custom:event Emit LiquidateBorrow event on success ++ function liquidateBorrow(address borrower, VToken vTokenCollateral) external payable { ++ (uint err, ) = liquidateBorrowInternal(borrower, msg.value, vTokenCollateral); ++ requireNoError(err, 'liquidateBorrow failed'); ++ } ++ ++ function setTotalReserves(uint totalReserves_) external payable { ++ totalReserves = totalReserves_; ++ } ++ ++ /*** Safe Token ***/ ++ ++ /** ++ * @notice Perform the actual transfer in, which is a no-op ++ * @param from Address sending the BNB ++ * @param amount Amount of BNB being sent ++ * @return The actual amount of BNB transferred ++ */ ++ function doTransferIn(address from, uint amount) internal returns (uint) { ++ // Sanity checks ++ require(msg.sender == from, 'sender mismatch'); ++ require(msg.value == amount, 'value mismatch'); ++ return amount; ++ } ++ ++ function doTransferOut(address payable to, uint amount) internal { ++ /* Send the BNB, with minimal gas and revert on failure */ ++ to.transfer(amount); ++ } ++ ++ /** ++ * @notice Gets balance of this contract in terms of BNB, before this message ++ * @dev This excludes the value of the current message, if any ++ * @return The quantity of BNB owned by this contract ++ */ ++ function getCashPrior() internal view returns (uint) { ++ (MathError err, uint startingBalance) = subUInt(address(this).balance, msg.value); ++ require(err == MathError.NO_ERROR, 'cash prior math error'); ++ return startingBalance; ++ } ++ ++ function requireNoError(uint errCode, string memory message) internal pure { ++ if (errCode == uint(Error.NO_ERROR)) { ++ return; + } + +- /*** User Interface ***/ ++ bytes memory fullMessage = new bytes(bytes(message).length + 5); ++ uint i; + +- /** +- * @notice Sender supplies assets into the market and receives vTokens in exchange +- * @dev Reverts upon any failure +- */ +- // @custom:event Emits Transfer event +- // @custom:event Emits Mint event +- function mint() external payable { +- (uint err, ) = mintInternal(msg.value); +- requireNoError(err, "mint failed"); ++ for (i = 0; i < bytes(message).length; i++) { ++ fullMessage[i] = bytes(message)[i]; + } + +- /** +- * @notice Sender redeems vTokens in exchange for the underlying asset +- * @dev Accrues interest whether or not the operation succeeds, unless reverted +- * @param redeemTokens The number of vTokens to redeem into underlying +- * @return uint Returns 0 on success, otherwise returns a failure code (see ErrorReporter.sol for details). +- */ +- // @custom:event Emits Redeem event on success +- // @custom:event Emits Transfer event on success +- // @custom:event Emits RedeemFee when fee is charged by the treasury +- function redeem(uint redeemTokens) external returns (uint) { +- return redeemInternal(redeemTokens); ++ fullMessage[i + 0] = bytes1(uint8(32)); ++ fullMessage[i + 1] = bytes1(uint8(40)); ++ fullMessage[i + 2] = bytes1(uint8(48 + (errCode / 10))); ++ fullMessage[i + 3] = bytes1(uint8(48 + (errCode % 10))); ++ fullMessage[i + 4] = bytes1(uint8(41)); ++ ++ require(errCode == uint(Error.NO_ERROR), string(fullMessage)); ++ } ++ ++ /** ++ * @dev Function to simply retrieve block number ++ * This exists mainly for inheriting test contracts to stub this result. ++ */ ++ function getBlockNumber() internal view returns (uint) { ++ return block.number; ++ } ++ ++ /** ++ * @notice Reduces reserves by transferring to admin ++ * @dev Requires fresh interest accrual ++ * @param reduceAmount Amount of reduction to reserves ++ * @return uint Returns 0 on success, otherwise returns a failure code (see ErrorReporter.sol for details). ++ */ ++ function _reduceReservesFresh(uint reduceAmount) internal returns (uint) { ++ // totalReserves - reduceAmount ++ uint totalReservesNew; ++ ++ // Check caller is admin ++ if (msg.sender != admin) { ++ return fail(Error.UNAUTHORIZED, FailureInfo.REDUCE_RESERVES_ADMIN_CHECK); + } + +- /** +- * @notice Sender redeems vTokens in exchange for a specified amount of underlying asset +- * @dev Accrues interest whether or not the operation succeeds, unless reverted +- * @param redeemAmount The amount of underlying to redeem +- * @return uint Returns 0 on success, otherwise returns a failure code (see ErrorReporter.sol for details). +- */ +- // @custom:event Emits Redeem event on success +- // @custom:event Emits Transfer event on success +- // @custom:event Emits RedeemFee when fee is charged by the treasury +- function redeemUnderlying(uint redeemAmount) external returns (uint) { +- return redeemUnderlyingInternal(redeemAmount); ++ // We fail gracefully unless market's block number equals current block number ++ if (accrualBlockNumber != getBlockNumber()) { ++ return fail(Error.MARKET_NOT_FRESH, FailureInfo.REDUCE_RESERVES_FRESH_CHECK); + } + +- /** +- * @notice Sender borrows assets from the protocol to their own address +- * @param borrowAmount The amount of the underlying asset to borrow +- * @return uint Returns 0 on success, otherwise returns a failure code (see ErrorReporter.sol for details). +- */ +- // @custom:event Emits Borrow event on success +- function borrow(uint borrowAmount) external returns (uint) { +- return borrowInternal(msg.sender, msg.sender, borrowAmount); ++ // Fail gracefully if protocol has insufficient underlying cash ++ if (getCashPrior() < reduceAmount) { ++ return fail(Error.TOKEN_INSUFFICIENT_CASH, FailureInfo.REDUCE_RESERVES_CASH_NOT_AVAILABLE); + } + +- /** +- * @notice Sender repays their own borrow +- * @dev Reverts upon any failure +- */ +- // @custom:event Emits RepayBorrow event on success +- function repayBorrow() external payable { +- (uint err, ) = repayBorrowInternal(msg.value); +- requireNoError(err, "repayBorrow failed"); ++ // Check reduceAmount ≤ reserves[n] (totalReserves) ++ if (reduceAmount > totalReserves) { ++ return fail(Error.BAD_INPUT, FailureInfo.REDUCE_RESERVES_VALIDATION); + } + +- /** +- * @notice Sender repays a borrow belonging to borrower +- * @dev Reverts upon any failure +- * @param borrower The account with the debt being payed off +- */ +- // @custom:event Emits RepayBorrow event on success +- function repayBorrowBehalf(address borrower) external payable { +- (uint err, ) = repayBorrowBehalfInternal(borrower, msg.value); +- requireNoError(err, "repayBorrowBehalf failed"); +- } ++ ///////////////////////// ++ // EFFECTS & INTERACTIONS ++ // (No safe failures beyond this point) + +- /** +- * @notice The sender liquidates the borrowers collateral. +- * The collateral seized is transferred to the liquidator. +- * @dev Reverts upon any failure +- * @param borrower The borrower of this vToken to be liquidated +- * @param vTokenCollateral The market in which to seize collateral from the borrower +- */ +- // @custom:event Emit LiquidateBorrow event on success +- function liquidateBorrow(address borrower, VToken vTokenCollateral) external payable { +- (uint err, ) = liquidateBorrowInternal(borrower, msg.value, vTokenCollateral); +- requireNoError(err, "liquidateBorrow failed"); +- } ++ totalReservesNew = totalReserves - reduceAmount; + +- function setTotalReserves(uint totalReserves_) external payable { +- totalReserves = totalReserves_; +- } ++ // Store reserves[n+1] = reserves[n] - reduceAmount ++ totalReserves = totalReservesNew; + +- /*** Safe Token ***/ ++ // // doTransferOut reverts if anything goes wrong, since we can't be sure if side effects occurred. ++ doTransferOut(admin, reduceAmount); + +- /** +- * @notice Perform the actual transfer in, which is a no-op +- * @param from Address sending the BNB +- * @param amount Amount of BNB being sent +- * @return The actual amount of BNB transferred +- */ +- function doTransferIn(address from, uint amount) internal returns (uint) { +- // Sanity checks +- require(msg.sender == from, "sender mismatch"); +- require(msg.value == amount, "value mismatch"); +- return amount; +- } ++ emit ReservesReduced(admin, reduceAmount, totalReservesNew); + +- function doTransferOut(address payable to, uint amount) internal { +- /* Send the BNB, with minimal gas and revert on failure */ +- to.transfer(amount); +- } ++ return uint(Error.NO_ERROR); ++ } + +- /** +- * @notice Gets balance of this contract in terms of BNB, before this message +- * @dev This excludes the value of the current message, if any +- * @return The quantity of BNB owned by this contract +- */ +- function getCashPrior() internal view returns (uint) { +- (MathError err, uint startingBalance) = subUInt(address(this).balance, msg.value); +- require(err == MathError.NO_ERROR, "cash prior math error"); +- return startingBalance; ++ /** ++ * @notice Accrues interest and reduces reserves by transferring to admin ++ * @param reduceAmount Amount of reduction to reserves ++ * @return uint Returns 0 on success, otherwise returns a failure code (see ErrorReporter.sol for details). ++ */ ++ // @custom:event Emits ReservesReduced event ++ function _reduceReserves(uint reduceAmount) external nonReentrant returns (uint) { ++ uint error = accrueInterest(); ++ if (error != uint(Error.NO_ERROR)) { ++ // accrueInterest emits logs on errors, but on top of that we want to log the fact that an attempted reduce reserves failed. ++ return fail(Error(error), FailureInfo.REDUCE_RESERVES_ACCRUE_INTEREST_FAILED); + } +- +- function requireNoError(uint errCode, string memory message) internal pure { +- if (errCode == uint(Error.NO_ERROR)) { +- return; +- } +- +- bytes memory fullMessage = new bytes(bytes(message).length + 5); +- uint i; +- +- for (i = 0; i < bytes(message).length; i++) { +- fullMessage[i] = bytes(message)[i]; +- } +- +- fullMessage[i + 0] = bytes1(uint8(32)); +- fullMessage[i + 1] = bytes1(uint8(40)); +- fullMessage[i + 2] = bytes1(uint8(48 + (errCode / 10))); +- fullMessage[i + 3] = bytes1(uint8(48 + (errCode % 10))); +- fullMessage[i + 4] = bytes1(uint8(41)); +- +- require(errCode == uint(Error.NO_ERROR), string(fullMessage)); ++ // _reduceReservesFresh emits reserve-reduction-specific logs on errors, so we don't need to. ++ return _reduceReservesFresh(reduceAmount); ++ } ++ ++ /** ++ * @notice Applies accrued interest to total borrows and reserves ++ * @dev This calculates interest accrued from the last checkpointed block ++ * up to the current block and writes new checkpoint to storage. ++ */ ++ // @custom:event Emits AccrueInterest event ++ function accrueInterest() public returns (uint) { ++ /* Remember the initial block number */ ++ uint currentBlockNumber = getBlockNumber(); ++ uint accrualBlockNumberPrior = accrualBlockNumber; ++ ++ /* Short-circuit accumulating 0 interest */ ++ if (accrualBlockNumberPrior == currentBlockNumber) { ++ return uint(Error.NO_ERROR); + } + +- /** +- * @dev Function to simply retrieve block number +- * This exists mainly for inheriting test contracts to stub this result. ++ /* Read the previous values out of storage */ ++ uint cashPrior = getCashPrior(); ++ uint borrowsPrior = totalBorrows; ++ uint reservesPrior = totalReserves; ++ uint borrowIndexPrior = borrowIndex; ++ ++ /* Calculate the current borrow interest rate */ ++ uint borrowRateMantissa = interestRateModel.getBorrowRate( ++ cashPrior, ++ borrowsPrior, ++ reservesPrior ++ ); ++ require(borrowRateMantissa <= borrowRateMaxMantissa, 'borrow rate is absurdly high'); ++ ++ /* Calculate the number of blocks elapsed since the last accrual */ ++ (MathError mathErr, uint blockDelta) = subUInt(currentBlockNumber, accrualBlockNumberPrior); ++ require(mathErr == MathError.NO_ERROR, 'could not calculate block delta'); ++ ++ /* ++ * Calculate the interest accumulated into borrows and reserves and the new index: ++ * simpleInterestFactor = borrowRate * blockDelta ++ * interestAccumulated = simpleInterestFactor * totalBorrows ++ * totalBorrowsNew = interestAccumulated + totalBorrows ++ * totalReservesNew = interestAccumulated * reserveFactor + totalReserves ++ * borrowIndexNew = simpleInterestFactor * borrowIndex + borrowIndex + */ +- function getBlockNumber() internal view returns (uint) { +- return block.number; +- } +- +- /** +- * @notice Reduces reserves by transferring to admin +- * @dev Requires fresh interest accrual +- * @param reduceAmount Amount of reduction to reserves +- * @return uint Returns 0 on success, otherwise returns a failure code (see ErrorReporter.sol for details). +- */ +- function _reduceReservesFresh(uint reduceAmount) internal returns (uint) { +- // totalReserves - reduceAmount +- uint totalReservesNew; +- +- // Check caller is admin +- if (msg.sender != admin) { +- return fail(Error.UNAUTHORIZED, FailureInfo.REDUCE_RESERVES_ADMIN_CHECK); +- } +- +- // We fail gracefully unless market's block number equals current block number +- if (accrualBlockNumber != getBlockNumber()) { +- return fail(Error.MARKET_NOT_FRESH, FailureInfo.REDUCE_RESERVES_FRESH_CHECK); +- } +- +- // Fail gracefully if protocol has insufficient underlying cash +- if (getCashPrior() < reduceAmount) { +- return fail(Error.TOKEN_INSUFFICIENT_CASH, FailureInfo.REDUCE_RESERVES_CASH_NOT_AVAILABLE); +- } + +- // Check reduceAmount ≤ reserves[n] (totalReserves) +- if (reduceAmount > totalReserves) { +- return fail(Error.BAD_INPUT, FailureInfo.REDUCE_RESERVES_VALIDATION); +- } +- +- ///////////////////////// +- // EFFECTS & INTERACTIONS +- // (No safe failures beyond this point) +- +- totalReservesNew = totalReserves - reduceAmount; +- +- // Store reserves[n+1] = reserves[n] - reduceAmount +- totalReserves = totalReservesNew; +- +- // // doTransferOut reverts if anything goes wrong, since we can't be sure if side effects occurred. +- doTransferOut(admin, reduceAmount); ++ Exp memory simpleInterestFactor; ++ uint interestAccumulated; ++ uint totalBorrowsNew; ++ uint totalReservesNew; ++ uint borrowIndexNew; ++ ++ (mathErr, simpleInterestFactor) = mulScalar(Exp({ mantissa: borrowRateMantissa }), blockDelta); ++ if (mathErr != MathError.NO_ERROR) { ++ return ++ failOpaque( ++ Error.MATH_ERROR, ++ FailureInfo.ACCRUE_INTEREST_SIMPLE_INTEREST_FACTOR_CALCULATION_FAILED, ++ uint(mathErr) ++ ); ++ } + +- emit ReservesReduced(admin, reduceAmount, totalReservesNew); ++ (mathErr, interestAccumulated) = mulScalarTruncate(simpleInterestFactor, borrowsPrior); ++ if (mathErr != MathError.NO_ERROR) { ++ return ++ failOpaque( ++ Error.MATH_ERROR, ++ FailureInfo.ACCRUE_INTEREST_ACCUMULATED_INTEREST_CALCULATION_FAILED, ++ uint(mathErr) ++ ); ++ } + +- return uint(Error.NO_ERROR); ++ (mathErr, totalBorrowsNew) = addUInt(interestAccumulated, borrowsPrior); ++ if (mathErr != MathError.NO_ERROR) { ++ return ++ failOpaque( ++ Error.MATH_ERROR, ++ FailureInfo.ACCRUE_INTEREST_NEW_TOTAL_BORROWS_CALCULATION_FAILED, ++ uint(mathErr) ++ ); + } + +- /** +- * @notice Accrues interest and reduces reserves by transferring to admin +- * @param reduceAmount Amount of reduction to reserves +- * @return uint Returns 0 on success, otherwise returns a failure code (see ErrorReporter.sol for details). +- */ +- // @custom:event Emits ReservesReduced event +- function _reduceReserves(uint reduceAmount) external nonReentrant returns (uint) { +- uint error = accrueInterest(); +- if (error != uint(Error.NO_ERROR)) { +- // accrueInterest emits logs on errors, but on top of that we want to log the fact that an attempted reduce reserves failed. +- return fail(Error(error), FailureInfo.REDUCE_RESERVES_ACCRUE_INTEREST_FAILED); +- } +- // _reduceReservesFresh emits reserve-reduction-specific logs on errors, so we don't need to. +- return _reduceReservesFresh(reduceAmount); ++ (mathErr, totalReservesNew) = mulScalarTruncateAddUInt( ++ Exp({ mantissa: reserveFactorMantissa }), ++ interestAccumulated, ++ reservesPrior ++ ); ++ if (mathErr != MathError.NO_ERROR) { ++ return ++ failOpaque( ++ Error.MATH_ERROR, ++ FailureInfo.ACCRUE_INTEREST_NEW_TOTAL_RESERVES_CALCULATION_FAILED, ++ uint(mathErr) ++ ); + } + +- /** +- * @notice Applies accrued interest to total borrows and reserves +- * @dev This calculates interest accrued from the last checkpointed block +- * up to the current block and writes new checkpoint to storage. +- */ +- // @custom:event Emits AccrueInterest event +- function accrueInterest() public returns (uint) { +- /* Remember the initial block number */ +- uint currentBlockNumber = getBlockNumber(); +- uint accrualBlockNumberPrior = accrualBlockNumber; +- +- /* Short-circuit accumulating 0 interest */ +- if (accrualBlockNumberPrior == currentBlockNumber) { +- return uint(Error.NO_ERROR); +- } +- +- /* Read the previous values out of storage */ +- uint cashPrior = getCashPrior(); +- uint borrowsPrior = totalBorrows; +- uint reservesPrior = totalReserves; +- uint borrowIndexPrior = borrowIndex; +- +- /* Calculate the current borrow interest rate */ +- uint borrowRateMantissa = interestRateModel.getBorrowRate(cashPrior, borrowsPrior, reservesPrior); +- require(borrowRateMantissa <= borrowRateMaxMantissa, "borrow rate is absurdly high"); +- +- /* Calculate the number of blocks elapsed since the last accrual */ +- (MathError mathErr, uint blockDelta) = subUInt(currentBlockNumber, accrualBlockNumberPrior); +- require(mathErr == MathError.NO_ERROR, "could not calculate block delta"); +- +- /* +- * Calculate the interest accumulated into borrows and reserves and the new index: +- * simpleInterestFactor = borrowRate * blockDelta +- * interestAccumulated = simpleInterestFactor * totalBorrows +- * totalBorrowsNew = interestAccumulated + totalBorrows +- * totalReservesNew = interestAccumulated * reserveFactor + totalReserves +- * borrowIndexNew = simpleInterestFactor * borrowIndex + borrowIndex +- */ +- +- Exp memory simpleInterestFactor; +- uint interestAccumulated; +- uint totalBorrowsNew; +- uint totalReservesNew; +- uint borrowIndexNew; +- +- (mathErr, simpleInterestFactor) = mulScalar(Exp({ mantissa: borrowRateMantissa }), blockDelta); +- if (mathErr != MathError.NO_ERROR) { +- return +- failOpaque( +- Error.MATH_ERROR, +- FailureInfo.ACCRUE_INTEREST_SIMPLE_INTEREST_FACTOR_CALCULATION_FAILED, +- uint(mathErr) +- ); +- } +- +- (mathErr, interestAccumulated) = mulScalarTruncate(simpleInterestFactor, borrowsPrior); +- if (mathErr != MathError.NO_ERROR) { +- return +- failOpaque( +- Error.MATH_ERROR, +- FailureInfo.ACCRUE_INTEREST_ACCUMULATED_INTEREST_CALCULATION_FAILED, +- uint(mathErr) +- ); +- } +- +- (mathErr, totalBorrowsNew) = addUInt(interestAccumulated, borrowsPrior); +- if (mathErr != MathError.NO_ERROR) { +- return +- failOpaque( +- Error.MATH_ERROR, +- FailureInfo.ACCRUE_INTEREST_NEW_TOTAL_BORROWS_CALCULATION_FAILED, +- uint(mathErr) +- ); +- } +- +- (mathErr, totalReservesNew) = mulScalarTruncateAddUInt( +- Exp({ mantissa: reserveFactorMantissa }), +- interestAccumulated, +- reservesPrior ++ (mathErr, borrowIndexNew) = mulScalarTruncateAddUInt( ++ simpleInterestFactor, ++ borrowIndexPrior, ++ borrowIndexPrior ++ ); ++ if (mathErr != MathError.NO_ERROR) { ++ return ++ failOpaque( ++ Error.MATH_ERROR, ++ FailureInfo.ACCRUE_INTEREST_NEW_BORROW_INDEX_CALCULATION_FAILED, ++ uint(mathErr) + ); +- if (mathErr != MathError.NO_ERROR) { +- return +- failOpaque( +- Error.MATH_ERROR, +- FailureInfo.ACCRUE_INTEREST_NEW_TOTAL_RESERVES_CALCULATION_FAILED, +- uint(mathErr) +- ); +- } +- +- (mathErr, borrowIndexNew) = mulScalarTruncateAddUInt(simpleInterestFactor, borrowIndexPrior, borrowIndexPrior); +- if (mathErr != MathError.NO_ERROR) { +- return +- failOpaque( +- Error.MATH_ERROR, +- FailureInfo.ACCRUE_INTEREST_NEW_BORROW_INDEX_CALCULATION_FAILED, +- uint(mathErr) +- ); +- } +- +- ///////////////////////// +- // EFFECTS & INTERACTIONS +- // (No safe failures beyond this point) +- +- /* We write the previously calculated values into storage */ +- accrualBlockNumber = currentBlockNumber; +- borrowIndex = borrowIndexNew; +- totalBorrows = totalBorrowsNew; +- totalReserves = totalReservesNew; +- +- /* We emit an AccrueInterest event */ +- emit AccrueInterest(cashPrior, interestAccumulated, borrowIndexNew, totalBorrowsNew); +- +- return uint(Error.NO_ERROR); + } ++ ++ ///////////////////////// ++ // EFFECTS & INTERACTIONS ++ // (No safe failures beyond this point) ++ ++ /* We write the previously calculated values into storage */ ++ accrualBlockNumber = currentBlockNumber; ++ borrowIndex = borrowIndexNew; ++ totalBorrows = totalBorrowsNew; ++ totalReserves = totalReservesNew; ++ ++ /* We emit an AccrueInterest event */ ++ emit AccrueInterest(cashPrior, interestAccumulated, borrowIndexNew, totalBorrowsNew); ++ ++ return uint(Error.NO_ERROR); ++ } + } +diff --git a/node_modules/@venusprotocol/venus-protocol/contracts/test/VBep20MockDelegate.sol b/node_modules/@venusprotocol/venus-protocol/contracts/test/VBep20MockDelegate.sol +index fe9520f..13226a8 100644 +--- a/node_modules/@venusprotocol/venus-protocol/contracts/test/VBep20MockDelegate.sol ++++ b/node_modules/@venusprotocol/venus-protocol/contracts/test/VBep20MockDelegate.sol +@@ -1,6 +1,6 @@ + pragma solidity ^0.5.16; + +-import "../Tokens/VTokens/VToken.sol"; ++import {CorePoolVToken as VToken } from "../Tokens/VTokens/VToken.sol"; + + /** + * @title Venus's VBep20 Contract diff --git a/subgraphs/venus-governance/package.json b/subgraphs/venus-governance/package.json index b523c8b8..35985df8 100644 --- a/subgraphs/venus-governance/package.json +++ b/subgraphs/venus-governance/package.json @@ -26,6 +26,7 @@ "test:integration": "npx hardhat test tests/integration/index.ts --network localhost" }, "devDependencies": { + "@venusprotocol/cross-chain-governance-contracts": "https://github.com/VenusProtocol/governance-contracts#13673edfe3578336f13b05b2954bd08ce09189b0", "apollo-fetch": "^0.7.0", "urql": "^3.0.3", "venus-subgraph-utils": "0.0.0" diff --git a/subgraphs/venus/package.json b/subgraphs/venus/package.json index 21464351..1eaecfc8 100644 --- a/subgraphs/venus/package.json +++ b/subgraphs/venus/package.json @@ -25,7 +25,7 @@ "test:integration": "true" }, "dependencies": { - "@venusprotocol/venus-protocol": "5.2.0", + "@venusprotocol/venus-protocol": "7.0.0", "@venusprotocol/venus-protocol-orig-events": "npm:@venusprotocol/venus-protocol@2.2.1" } } diff --git a/yarn.lock b/yarn.lock index c989c031..fc9d4e15 100644 --- a/yarn.lock +++ b/yarn.lock @@ -97,12 +97,12 @@ __metadata: linkType: hard "@aws-sdk/types@npm:^3.1.0": - version: 3.460.0 - resolution: "@aws-sdk/types@npm:3.460.0" + version: 3.468.0 + resolution: "@aws-sdk/types@npm:3.468.0" dependencies: - "@smithy/types": ^2.5.0 + "@smithy/types": ^2.7.0 tslib: ^2.5.0 - checksum: 6e3b367bebb2840a7e6efca2bbf74afeea4ce6df2a96095f1641bf0424838ae9fd12da6cbe669f4f58244963e61f38216f7f80709feb71a521d68fbb17b18f4c + checksum: f30ecfbdf6deac44d75d8575f034169a11f5be131228bab8ce78a91105d813617edb6d9492dbf266be713e1bc8978029f3fa42c17c2268732378e1c3356ad583 languageName: node linkType: hard @@ -125,7 +125,7 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.22.9": +"@babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.23.5": version: 7.23.5 resolution: "@babel/compat-data@npm:7.23.5" checksum: 06ce244cda5763295a0ea924728c09bae57d35713b675175227278896946f922a63edf803c322f855a3878323d48d0255a2a3023409d2a123483c8a69ebb4744 @@ -156,25 +156,25 @@ __metadata: linkType: hard "@babel/core@npm:^7.14.0": - version: 7.23.5 - resolution: "@babel/core@npm:7.23.5" + version: 7.23.6 + resolution: "@babel/core@npm:7.23.6" dependencies: "@ampproject/remapping": ^2.2.0 "@babel/code-frame": ^7.23.5 - "@babel/generator": ^7.23.5 - "@babel/helper-compilation-targets": ^7.22.15 + "@babel/generator": ^7.23.6 + "@babel/helper-compilation-targets": ^7.23.6 "@babel/helper-module-transforms": ^7.23.3 - "@babel/helpers": ^7.23.5 - "@babel/parser": ^7.23.5 + "@babel/helpers": ^7.23.6 + "@babel/parser": ^7.23.6 "@babel/template": ^7.22.15 - "@babel/traverse": ^7.23.5 - "@babel/types": ^7.23.5 + "@babel/traverse": ^7.23.6 + "@babel/types": ^7.23.6 convert-source-map: ^2.0.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.3 semver: ^6.3.1 - checksum: 5e5dfb1e61f298676f1fca18c646dbf6fb164ca1056b0169b8d42b7f5c35e026d81823582ccb2358e93a61b035e22b3ad37e2abaae4bf43f1ffb93b6ce19466e + checksum: 4bddd1b80394a64b2ee33eeb216e8a2a49ad3d74f0ca9ba678c84a37f4502b2540662d72530d78228a2a349fda837fa852eea5cd3ae28465d1188acc6055868e languageName: node linkType: hard @@ -189,15 +189,15 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.17.3, @babel/generator@npm:^7.17.7, @babel/generator@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/generator@npm:7.23.5" +"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.17.3, @babel/generator@npm:^7.17.7, @babel/generator@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/generator@npm:7.23.6" dependencies: - "@babel/types": ^7.23.5 + "@babel/types": ^7.23.6 "@jridgewell/gen-mapping": ^0.3.2 "@jridgewell/trace-mapping": ^0.3.17 jsesc: ^2.5.1 - checksum: 845ddda7cf38a3edf4be221cc8a439dee9ea6031355146a1a74047aa8007bc030305b27d8c68ec9e311722c910610bde38c0e13a9ce55225251e7cb7e7f3edc8 + checksum: 1a1a1c4eac210f174cd108d479464d053930a812798e09fee069377de39a893422df5b5b146199ead7239ae6d3a04697b45fc9ac6e38e0f6b76374390f91fc6c languageName: node linkType: hard @@ -210,22 +210,22 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/helper-compilation-targets@npm:7.22.15" +"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.22.15, @babel/helper-compilation-targets@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/helper-compilation-targets@npm:7.23.6" dependencies: - "@babel/compat-data": ^7.22.9 - "@babel/helper-validator-option": ^7.22.15 - browserslist: ^4.21.9 + "@babel/compat-data": ^7.23.5 + "@babel/helper-validator-option": ^7.23.5 + browserslist: ^4.22.2 lru-cache: ^5.1.1 semver: ^6.3.1 - checksum: ce85196769e091ae54dd39e4a80c2a9df1793da8588e335c383d536d54f06baf648d0a08fc873044f226398c4ded15c4ae9120ee18e7dfd7c639a68e3cdc9980 + checksum: c630b98d4527ac8fe2c58d9a06e785dfb2b73ec71b7c4f2ddf90f814b5f75b547f3c015f110a010fd31f76e3864daaf09f3adcd2f6acdbfb18a8de3a48717590 languageName: node linkType: hard "@babel/helper-create-class-features-plugin@npm:^7.18.6": - version: 7.23.5 - resolution: "@babel/helper-create-class-features-plugin@npm:7.23.5" + version: 7.23.6 + resolution: "@babel/helper-create-class-features-plugin@npm:7.23.6" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 "@babel/helper-environment-visitor": ^7.22.20 @@ -238,7 +238,7 @@ __metadata: semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: fe7c6c0baca1838bba76ac1330df47b661d932354115ea9e2ea65b179f80b717987d3c3da7e1525fd648e5f2d86c620efc959cabda4d7562b125a27c3ac780d0 + checksum: 356b71b9f4a3a95917432bf6a452f475a292d394d9310e9c8b23c8edb564bee91e40d4290b8aa8779d2987a7c39ae717b2d76edc7c952078b8952df1a20259e3 languageName: node linkType: hard @@ -371,21 +371,21 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.22.15": +"@babel/helper-validator-option@npm:^7.23.5": version: 7.23.5 resolution: "@babel/helper-validator-option@npm:7.23.5" checksum: 537cde2330a8aede223552510e8a13e9c1c8798afee3757995a7d4acae564124fe2bf7e7c3d90d62d3657434a74340a274b3b3b1c6f17e9a2be1f48af29cb09e languageName: node linkType: hard -"@babel/helpers@npm:^7.17.8, @babel/helpers@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/helpers@npm:7.23.5" +"@babel/helpers@npm:^7.17.8, @babel/helpers@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/helpers@npm:7.23.6" dependencies: "@babel/template": ^7.22.15 - "@babel/traverse": ^7.23.5 - "@babel/types": ^7.23.5 - checksum: c16dc8a3bb3d0e02c7ee1222d9d0865ed4b92de44fb8db43ff5afd37a0fc9ea5e2906efa31542c95b30c1a3a9540d66314663c9a23b5bb9b5ec76e8ebc896064 + "@babel/traverse": ^7.23.6 + "@babel/types": ^7.23.6 + checksum: c5ba62497e1d717161d107c4b3de727565c68b6b9f50f59d6298e613afeca8895799b227c256e06d362e565aec34e26fb5c675b9c3d25055c52b945a21c21e21 languageName: node linkType: hard @@ -409,12 +409,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.14.0, @babel/parser@npm:^7.16.8, @babel/parser@npm:^7.17.3, @babel/parser@npm:^7.17.8, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.3, @babel/parser@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/parser@npm:7.23.5" +"@babel/parser@npm:^7.14.0, @babel/parser@npm:^7.16.8, @babel/parser@npm:^7.17.3, @babel/parser@npm:^7.17.8, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.5, @babel/parser@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/parser@npm:7.23.6" bin: parser: ./bin/babel-parser.js - checksum: ea763629310f71580c4a3ea9d3705195b7ba994ada2cc98f9a584ebfdacf54e92b2735d351672824c2c2b03c7f19206899f4d95650d85ce514a822b19a8734c7 + checksum: 140801c43731a6c41fd193f5c02bc71fd647a0360ca616b23d2db8be4b9739b9f951a03fc7c2db4f9b9214f4b27c1074db0f18bc3fa653783082d5af7c8860d5 languageName: node linkType: hard @@ -588,13 +588,14 @@ __metadata: linkType: hard "@babel/plugin-transform-for-of@npm:^7.0.0": - version: 7.23.3 - resolution: "@babel/plugin-transform-for-of@npm:7.23.3" + version: 7.23.6 + resolution: "@babel/plugin-transform-for-of@npm:7.23.6" dependencies: "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a6288122a5091d96c744b9eb23dc1b2d4cce25f109ac1e26a0ea03c4ea60330e6f3cc58530b33ba7369fa07163b71001399a145238b7e92bff6270ef3b9c32a0 + checksum: 228c060aa61f6aa89dc447170075f8214863b94f830624e74ade99c1a09316897c12d76e848460b0b506593e58dbc42739af6dc4cb0fe9b84dffe4a596050a36 languageName: node linkType: hard @@ -741,11 +742,11 @@ __metadata: linkType: hard "@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.18.3": - version: 7.23.5 - resolution: "@babel/runtime@npm:7.23.5" + version: 7.23.6 + resolution: "@babel/runtime@npm:7.23.6" dependencies: regenerator-runtime: ^0.14.0 - checksum: 164d9802424f06908e62d29b8fd3a87db55accf82f46f964ac481dcead11ff7df8391e3696e5fa91a8ca10ea8845bf650acd730fa88cf13f8026cd8d5eec6936 + checksum: 1a8eaf3d3a103ef5227b60ca7ab5c589118c36ca65ef2d64e65380b32a98a3f3b5b3ef96660fa0471b079a18b619a8317f3e7f03ab2b930c45282a8b69ed9a16 languageName: node linkType: hard @@ -778,21 +779,21 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.14.0, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.17.3, @babel/traverse@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/traverse@npm:7.23.5" +"@babel/traverse@npm:^7.14.0, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.17.3, @babel/traverse@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/traverse@npm:7.23.6" dependencies: "@babel/code-frame": ^7.23.5 - "@babel/generator": ^7.23.5 + "@babel/generator": ^7.23.6 "@babel/helper-environment-visitor": ^7.22.20 "@babel/helper-function-name": ^7.23.0 "@babel/helper-hoist-variables": ^7.22.5 "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/parser": ^7.23.5 - "@babel/types": ^7.23.5 - debug: ^4.1.0 + "@babel/parser": ^7.23.6 + "@babel/types": ^7.23.6 + debug: ^4.3.1 globals: ^11.1.0 - checksum: 0558b05360850c3ad6384e85bd55092126a8d5f93e29a8e227dd58fa1f9e1a4c25fd337c07c7ae509f0983e7a2b1e761ffdcfaa77a1e1bedbc867058e1de5a7d + checksum: 48f2eac0e86b6cb60dab13a5ea6a26ba45c450262fccdffc334c01089e75935f7546be195e260e97f6e43cea419862eda095018531a2718fef8189153d479f88 languageName: node linkType: hard @@ -806,14 +807,14 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.16.8, @babel/types@npm:^7.17.0, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.4, @babel/types@npm:^7.23.5, @babel/types@npm:^7.8.3": - version: 7.23.5 - resolution: "@babel/types@npm:7.23.5" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.16.8, @babel/types@npm:^7.17.0, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.4, @babel/types@npm:^7.23.6, @babel/types@npm:^7.8.3": + version: 7.23.6 + resolution: "@babel/types@npm:7.23.6" dependencies: "@babel/helper-string-parser": ^7.23.4 "@babel/helper-validator-identifier": ^7.22.20 to-fast-properties: ^2.0.0 - checksum: 3d21774480a459ef13b41c2e32700d927af649e04b70c5d164814d8e04ab584af66a93330602c2925e1a6925c2b829cc153418a613a4e7d79d011be1f29ad4b2 + checksum: 68187dbec0d637f79bc96263ac95ec8b06d424396678e7e225492be866414ce28ebc918a75354d4c28659be6efe30020b4f0f6df81cc418a2d30645b690a8de0 languageName: node linkType: hard @@ -977,9 +978,9 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.3": - version: 2.1.3 - resolution: "@eslint/eslintrc@npm:2.1.3" +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" dependencies: ajv: ^6.12.4 debug: ^4.3.2 @@ -990,14 +991,14 @@ __metadata: js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: 5c6c3878192fe0ddffa9aff08b4e2f3bcc8f1c10d6449b7295a5f58b662019896deabfc19890455ffd7e60a5bd28d25d0eaefb2f78b2d230aae3879af92b89e5 + checksum: 10957c7592b20ca0089262d8c2a8accbad14b4f6507e35416c32ee6b4dbf9cad67dfb77096bbd405405e9ada2b107f3797fe94362e1c55e0b09d6e90dd149127 languageName: node linkType: hard -"@eslint/js@npm:8.54.0": - version: 8.54.0 - resolution: "@eslint/js@npm:8.54.0" - checksum: 6d88a6f711ef0133566b5340e3178a178fbb297585766460f195d0a9db85688f1e5cf8559fd5748aeb3131e2096c66595b323d8edab22df015acda68f1ebde92 +"@eslint/js@npm:8.55.0": + version: 8.55.0 + resolution: "@eslint/js@npm:8.55.0" + checksum: fa33ef619f0646ed15649b0c2e313e4d9ccee8425884bdbfc78020d6b6b64c0c42fa9d83061d0e6158e1d4274f03f0f9008786540e2efab8fcdc48082259908c languageName: node linkType: hard @@ -2752,9 +2753,9 @@ __metadata: linkType: hard "@noble/hashes@npm:~1.3.0, @noble/hashes@npm:~1.3.1": - version: 1.3.2 - resolution: "@noble/hashes@npm:1.3.2" - checksum: fe23536b436539d13f90e4b9be843cc63b1b17666a07634a2b1259dded6f490be3d050249e6af98076ea8f2ea0d56f578773c2197f2aa0eeaa5fba5bc18ba474 + version: 1.3.3 + resolution: "@noble/hashes@npm:1.3.3" + checksum: 8a6496d1c0c64797339bc694ad06cdfaa0f9e56cd0c3f68ae3666cfb153a791a55deb0af9c653c7ed2db64d537aa3e3054629740d2f2338bb1dcb7ab60cd205b languageName: node linkType: hard @@ -3125,13 +3126,13 @@ __metadata: linkType: hard "@nomicfoundation/hardhat-network-helpers@npm:^1.0.4, @nomicfoundation/hardhat-network-helpers@npm:^1.0.8": - version: 1.0.9 - resolution: "@nomicfoundation/hardhat-network-helpers@npm:1.0.9" + version: 1.0.10 + resolution: "@nomicfoundation/hardhat-network-helpers@npm:1.0.10" dependencies: ethereumjs-util: ^7.1.4 peerDependencies: hardhat: ^2.9.5 - checksum: ff378795075af853aeaacb7bc0783928d947d7f9fb043c046fcaffdf1e1219c4af47b18ea7fa2c10fe0b25daef48f13ae8b103bc11ea494ecdfbe34a3dcdf936 + checksum: 675da8d3229946a2bac0df9d1b5cc278bba9cd1a8214b5ff6099dcba874d913df07b9772a2ead0cb7ea2ced6b3fa430a73f94a3e257ae105493931c38fc7bf61 languageName: node linkType: hard @@ -3282,8 +3283,8 @@ __metadata: linkType: hard "@nomiclabs/hardhat-etherscan@npm:^3.1.0": - version: 3.1.7 - resolution: "@nomiclabs/hardhat-etherscan@npm:3.1.7" + version: 3.1.8 + resolution: "@nomiclabs/hardhat-etherscan@npm:3.1.8" dependencies: "@ethersproject/abi": ^5.1.2 "@ethersproject/address": ^5.0.2 @@ -3297,7 +3298,7 @@ __metadata: undici: ^5.14.0 peerDependencies: hardhat: ^2.0.4 - checksum: 32d74e567e78a940a79cbe49c5dee0eb5cda0a4c0c34a9badfaf13d45e6054d9e717c28b8d2b0b20f29721a484af15a52d391fb60768222c4b13de92ef0f72b3 + checksum: 13864380d104705a54668adf2fb37a87d1147a064c1d29dbc356390e7254d5c7501b9b3af9c4ec2f9d9ff642a01417d5d35970d626fe706f5f4830820ae89ecb languageName: node linkType: hard @@ -3375,9 +3376,9 @@ __metadata: linkType: hard "@openzeppelin/contracts-upgradeable@npm:^4.6.0, @openzeppelin/contracts-upgradeable@npm:^4.7.3, @openzeppelin/contracts-upgradeable@npm:^4.8.0, @openzeppelin/contracts-upgradeable@npm:^4.8.3": - version: 4.9.3 - resolution: "@openzeppelin/contracts-upgradeable@npm:4.9.3" - checksum: bda0240b1d44c913ec5a4e109c622f216c2bbd7b468d210822f75782a5f7fe0609d08bf03b78b253333625e99e507cf2f75212f1de3b274bd9fc64ae967aeec3 + version: 4.9.5 + resolution: "@openzeppelin/contracts-upgradeable@npm:4.9.5" + checksum: d5d9bad93fe2a88a8336060901d45f185ebfe1fed9844b1fe50e8641d946588c6e69a5a8f1694f0bd073c913b4b9a5c34316acfc17d8f75228adecbcb635ea62 languageName: node linkType: hard @@ -3388,23 +3389,30 @@ __metadata: languageName: node linkType: hard -"@openzeppelin/contracts@npm:4.9.3, @openzeppelin/contracts@npm:^4.3.3, @openzeppelin/contracts@npm:^4.4.1, @openzeppelin/contracts@npm:^4.6.0, @openzeppelin/contracts@npm:^4.8.3": +"@openzeppelin/contracts@npm:4.9.3": version: 4.9.3 resolution: "@openzeppelin/contracts@npm:4.9.3" checksum: 4932063e733b35fa7669b9fe2053f69b062366c5c208b0c6cfa1ac451712100c78acff98120c3a4b88d94154c802be05d160d71f37e7d74cadbe150964458838 languageName: node linkType: hard +"@openzeppelin/contracts@npm:^4.3.3, @openzeppelin/contracts@npm:^4.4.1, @openzeppelin/contracts@npm:^4.6.0, @openzeppelin/contracts@npm:^4.8.3": + version: 4.9.5 + resolution: "@openzeppelin/contracts@npm:4.9.5" + checksum: 2cddeb08c006a8f99c5cc40cc80aecb449fd941cd1a92ebda315d77f48c4b4d487798a1254bffbc3ec811b390365d14665e92dbb2dd8f45aacef479d69d94574 + languageName: node + linkType: hard + "@openzeppelin/defender-base-client@npm:^1.46.0": - version: 1.52.0 - resolution: "@openzeppelin/defender-base-client@npm:1.52.0" + version: 1.54.1 + resolution: "@openzeppelin/defender-base-client@npm:1.54.1" dependencies: amazon-cognito-identity-js: ^6.0.1 async-retry: ^1.3.3 axios: ^1.4.0 lodash: ^4.17.19 node-fetch: ^2.6.0 - checksum: 7857a656a534e54ae94f50d6bb7ad6a17860375581a792c293f15707ae66088a02e2eb7213bb8e7e00496ea4e86330cbcee1a383c517f0d2e959c76a3722cdcd + checksum: bb44d305b3a7b20ce765bef4c8385c1187f9eca8f2647a99ad55111034da471709e946472ca5f641eb4bd26e1c7ebd19fb9832c29919c36d353a355c009ae98c languageName: node linkType: hard @@ -3446,8 +3454,8 @@ __metadata: linkType: hard "@openzeppelin/upgrades-core@npm:^1.27.0": - version: 1.31.3 - resolution: "@openzeppelin/upgrades-core@npm:1.31.3" + version: 1.32.0 + resolution: "@openzeppelin/upgrades-core@npm:1.32.0" dependencies: cbor: ^9.0.0 chalk: ^4.1.0 @@ -3459,7 +3467,7 @@ __metadata: solidity-ast: ^0.4.51 bin: openzeppelin-upgrades-core: dist/cli/cli.js - checksum: e7ab98bb822b7b69b0a5f333fd9113e13d05b995ccf880ea8e15406c2a5a0a8c0c61205e8b548859fac779c646d621c9315112c4bc16d7f5001b7fbf29972644 + checksum: c4c2a57ce3b85b83a4119b21e326ce9e6c0373f442583ef595e9f7c4173045396d403ae684eafb0634ef91889caf244c9fabd3512a156a72f630fd37c7adb025 languageName: node linkType: hard @@ -3598,9 +3606,9 @@ __metadata: linkType: hard "@scure/base@npm:~1.1.0": - version: 1.1.3 - resolution: "@scure/base@npm:1.1.3" - checksum: 1606ab8a4db898cb3a1ada16c15437c3bce4e25854fadc8eb03ae93cbbbac1ed90655af4b0be3da37e12056fef11c0374499f69b9e658c9e5b7b3e06353c630c + version: 1.1.4 + resolution: "@scure/base@npm:1.1.4" + checksum: 399cd89eb472e66f6e2c3eba5319d294214ace925b1e4975f0dce9b49b11e4d9ca19fc5a75f69da16fe826a9377822c3c1f710cda0c8d0623f6c988c66ac8af1 languageName: node linkType: hard @@ -3742,12 +3750,12 @@ __metadata: languageName: node linkType: hard -"@smithy/types@npm:^2.5.0": - version: 2.6.0 - resolution: "@smithy/types@npm:2.6.0" +"@smithy/types@npm:^2.7.0": + version: 2.7.0 + resolution: "@smithy/types@npm:2.7.0" dependencies: tslib: ^2.5.0 - checksum: 9233d1e6e414a8b807f9fe7a7c30064626f77b0242d8634b9b1c192f77b27a997a3caf90ecf7f4361d5926c9e9cc761991eecfb47bbfa6ce2be21c5533a3bea6 + checksum: f3edb2a281e69a7dc471b62fb34237fec44b37617d1b8f5c1bc4b6c410b03416f76eabc6ead1fb63cb18742890d9115226eaa7da055fd39f0c24754ed2fd56a7 languageName: node linkType: hard @@ -4085,11 +4093,11 @@ __metadata: linkType: hard "@types/node@npm:*, @types/node@npm:>=13.7.0, @types/node@npm:^20.5.9": - version: 20.10.3 - resolution: "@types/node@npm:20.10.3" + version: 20.10.4 + resolution: "@types/node@npm:20.10.4" dependencies: undici-types: ~5.26.4 - checksum: 34a329494f0ea239af05eeb6f00f396963725b3eb9a2f79c5e6a6d37e823f2ab85e1079c2ee56723a37d8b89e7bbe2bd050c97144e5bb06dab93fd1cace65c97 + checksum: 054b296417e771ab524bea63cf3289559c6bdf290d45428f7cc68e9b00030ff7a0ece47b8c99a26b4f47a443919813bcf42beadff2f0bea7d8125fa541d92eb0 languageName: node linkType: hard @@ -4343,6 +4351,17 @@ __metadata: languageName: node linkType: hard +"@venusprotocol/cross-chain-governance-contracts@https://github.com/VenusProtocol/governance-contracts#13673edfe3578336f13b05b2954bd08ce09189b0": + version: 1.4.0 + resolution: "@venusprotocol/cross-chain-governance-contracts@https://github.com/VenusProtocol/governance-contracts.git#commit=13673edfe3578336f13b05b2954bd08ce09189b0" + dependencies: + "@venusprotocol/solidity-utilities": ^1.1.0 + hardhat-deploy-ethers: ^0.3.0-beta.13 + module-alias: ^2.2.2 + checksum: 1f0d460cc29e0cba378cf5b9b4c758e0645ba29be16a107c2076cdef51f49e2a35bbc87d9e29a519ef331d80d1ef8588ccf757b3fb92cb6b1e2a25596c14ca5b + languageName: node + linkType: hard + "@venusprotocol/cross-chain-governance-contracts@https://github.com/VenusProtocol/governance-contracts#dd4434587c752324afc6ad3ad024662892c40b38": version: 1.4.0-dev.2 resolution: "@venusprotocol/cross-chain-governance-contracts@https://github.com/VenusProtocol/governance-contracts.git#commit=dd4434587c752324afc6ad3ad024662892c40b38" @@ -4352,20 +4371,20 @@ __metadata: languageName: node linkType: hard -"@venusprotocol/governance-contracts@npm:1.4.0-dev.5": - version: 1.4.0-dev.5 - resolution: "@venusprotocol/governance-contracts@npm:1.4.0-dev.5" +"@venusprotocol/governance-contracts@npm:1.4.0": + version: 1.4.0 + resolution: "@venusprotocol/governance-contracts@npm:1.4.0" dependencies: "@venusprotocol/solidity-utilities": ^1.1.0 hardhat-deploy-ethers: ^0.3.0-beta.13 module-alias: ^2.2.2 - checksum: b6a5a789a5b9f841f64281c373b6dbc4c6920d202dfb9ce69415b55c97784a21608c33fa4ae8f02c136479d61343e633986327f8fe4383b908888d85988d6362 + checksum: 85c6b6a815edb0befa4c38e3652a58464827d390620210b99575c16960ee6505e95e7c2192ebc972da7ed758d3c62e150d32fbdd1f01acab1731f29b11d1884e languageName: node linkType: hard -"@venusprotocol/isolated-pools@npm:^2.3.0-dev.4": - version: 2.3.0-dev.4 - resolution: "@venusprotocol/isolated-pools@npm:2.3.0-dev.4" +"@venusprotocol/isolated-pools@npm:^2.3.0": + version: 2.3.0 + resolution: "@venusprotocol/isolated-pools@npm:2.3.0" dependencies: "@nomiclabs/hardhat-ethers": ^2.2.3 "@openzeppelin/contracts": ^4.8.3 @@ -4375,13 +4394,13 @@ __metadata: ethers: ^5.7.0 hardhat-deploy: ^0.11.14 module-alias: ^2.2.2 - checksum: 5c2fd1dea4253994e7d51de9986b15cbf60194068272c7306d11dcb69f4ded38b5be9696c28abe84da95125f66fc71849e894325c52621219d95e03b8bac8c2e + checksum: e3ef4115048b41415e50ff8d7c4297a93e88f7914ce7eb061d1c976d686c8c5c0082d01612a615a61ef9d130ff2a72e7acba2a6612eda0fc44e12ccb9277c411 languageName: node linkType: hard -"@venusprotocol/oracle@npm:^1.8.0-dev.8": - version: 1.8.0-dev.8 - resolution: "@venusprotocol/oracle@npm:1.8.0-dev.8" +"@venusprotocol/oracle@npm:^1.8.0": + version: 1.8.0 + resolution: "@venusprotocol/oracle@npm:1.8.0" dependencies: "@chainlink/contracts": ^0.5.1 "@defi-wonderland/smock": ^2.3.4 @@ -4395,30 +4414,13 @@ __metadata: hardhat-deploy: ^0.11.14 module-alias: ^2.2.2 solidity-docgen: ^0.6.0-beta.29 - checksum: cd5ec7cdd5a4c06c6c5b62c9fe7369c8a7d7c5d1e97ab091ebb27fda0893309b4ca18f680a4a0b3fed812d4c81eeb34ad0f4292384209615cf3b1b8f1deb80d0 - languageName: node - linkType: hard - -"@venusprotocol/protocol-reserve@npm:1.2.0-dev.2": - version: 1.2.0-dev.2 - resolution: "@venusprotocol/protocol-reserve@npm:1.2.0-dev.2" - 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.0.1 - ethers: ^5.7.0 - hardhat-deploy: ^0.11.14 - module-alias: ^2.2.2 - checksum: e644bc58b6b4646ce6b262e9e34646d65285dee97cb38a34ac99d35330b3f4bea4c9075d87ee6e6d1e813563c622a01e12eba82014e6d7952e17ea798673bac3 + checksum: 3ea02a9686e80ce0b378aa5197fd46b2c02b089bd5512afe673d6d45e3091e280dbf04788400ea47bee4151182b4b39c981207e1d42fbe2b970161b29abcfee1 languageName: node linkType: hard -"@venusprotocol/protocol-reserve@npm:^1.1.0": - version: 1.1.0 - resolution: "@venusprotocol/protocol-reserve@npm:1.1.0" +"@venusprotocol/protocol-reserve@npm:^1.2.0": + version: 1.2.0 + resolution: "@venusprotocol/protocol-reserve@npm:1.2.0" dependencies: "@nomiclabs/hardhat-ethers": ^2.2.3 "@openzeppelin/contracts": ^4.8.3 @@ -4429,7 +4431,7 @@ __metadata: ethers: ^5.7.0 hardhat-deploy: ^0.11.14 module-alias: ^2.2.2 - checksum: 86e2da20ddb3824603c1f5e0931cc4715cd442624a03cc0fed7633ecbb5f2cab9a04ca5dcec805a4d9b0e04904799286210299f39935034f9fe85155f7b56da3 + checksum: 9225fba3254a9a4f2ce6e004a43844db15771d1047e871e8ab306440df8bde6dcdab1e45a4ce1172e1119b04ed5f53242ef561cb26f9a411fa2178c246899fa9 languageName: node linkType: hard @@ -4440,6 +4442,13 @@ __metadata: languageName: node linkType: hard +"@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 + languageName: node + linkType: hard + "@venusprotocol/venus-protocol-orig-events@npm:@venusprotocol/venus-protocol@2.2.1": version: 2.2.1 resolution: "@venusprotocol/venus-protocol@npm:2.2.1" @@ -4454,120 +4463,89 @@ __metadata: languageName: node linkType: hard -"@venusprotocol/venus-protocol@npm:5.2.0": - version: 5.2.0 - resolution: "@venusprotocol/venus-protocol@npm:5.2.0" - dependencies: - "@openzeppelin/contracts": 4.9.3 - "@openzeppelin/contracts-upgradeable": ^4.8.0 - "@venusprotocol/governance-contracts": ^0.0.2 - bignumber.js: ^9.1.2 - dotenv: ^16.0.1 - module-alias: ^2.2.2 - peerDependencies: - hardhat: ^2.10.1 - checksum: 39c709ead10c1cea667cb61ba5dae0945640cd68778719581452dbc465b19e8eb73b572a78fe8fcfd42e4fe3a6820efe7b60bc38fbf290d6fb8dbe228b68703c - languageName: node - linkType: hard - -"@venusprotocol/venus-protocol@npm:^6.0.0": - version: 6.0.0 - resolution: "@venusprotocol/venus-protocol@npm:6.0.0" - dependencies: - "@openzeppelin/contracts": 4.9.3 - "@openzeppelin/contracts-upgradeable": ^4.8.0 - "@venusprotocol/governance-contracts": ^1.4.0-dev.1 - "@venusprotocol/protocol-reserve": ^1.1.0 - bignumber.js: ^9.1.2 - dotenv: ^16.0.1 - module-alias: ^2.2.2 - checksum: 2e819a464626233c24e566be21438f120378b617289e9646024b47859dc6fc7cb785c3af5e6b04fc1fe9a78aac73b98cb51014c48910db93ba6e4b9ff397c17e - languageName: node - linkType: hard - -"@venusprotocol/venus-protocol@npm:^6.1.0-dev.5": - version: 6.1.0-dev.6 - resolution: "@venusprotocol/venus-protocol@npm:6.1.0-dev.6" +"@venusprotocol/venus-protocol@npm:7.0.0": + version: 7.0.0 + resolution: "@venusprotocol/venus-protocol@npm:7.0.0" dependencies: "@openzeppelin/contracts": 4.9.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 - "@venusprotocol/governance-contracts": ^1.4.0-dev.2 - "@venusprotocol/protocol-reserve": 1.2.0-dev.2 - "@venusprotocol/solidity-utilities": ^1.1.0 + "@venusprotocol/governance-contracts": ^1.4.0 + "@venusprotocol/protocol-reserve": ^1.2.0 + "@venusprotocol/solidity-utilities": ^1.2.0 bignumber.js: ^9.1.2 dotenv: ^16.0.1 module-alias: ^2.2.2 - checksum: bb860943b2fec91904736315ef0b763aee0b90801bd500d9ea54f503e822eecd91f23928b13d0fed75594fed4affa6854ac2753f22b8f3d3e47aaadc972d5256 + checksum: 02c6d28817582a8fd149773373c29d61adcdd5f8101661bec4ff3bcd4ecab76edb7a416105ea88de80de4e630c59695c493e13051c7b57c2c10b9a635b7cd5c6 languageName: node linkType: hard -"@vue/compiler-core@npm:3.3.9": - version: 3.3.9 - resolution: "@vue/compiler-core@npm:3.3.9" +"@vue/compiler-core@npm:3.3.11": + version: 3.3.11 + resolution: "@vue/compiler-core@npm:3.3.11" dependencies: - "@babel/parser": ^7.23.3 - "@vue/shared": 3.3.9 + "@babel/parser": ^7.23.5 + "@vue/shared": 3.3.11 estree-walker: ^2.0.2 source-map-js: ^1.0.2 - checksum: 92a5340088a2b5a596bc12815f5da0b1817e8fea77ed570d365518204125b23c8bc8ebf214e1e9e9c130fb6cc246a358cedb30d02522efc46c349e2e3df1db5f + checksum: 30bc962fd30fe20082ad935579968acd9d7d32bdfab78a2136061e3d8488dabd6fc838b392758470a6205223f56d0d6f70b1bd025f8f668f7b13d0f9e06981b5 languageName: node linkType: hard -"@vue/compiler-dom@npm:3.3.9": - version: 3.3.9 - resolution: "@vue/compiler-dom@npm:3.3.9" +"@vue/compiler-dom@npm:3.3.11": + version: 3.3.11 + resolution: "@vue/compiler-dom@npm:3.3.11" dependencies: - "@vue/compiler-core": 3.3.9 - "@vue/shared": 3.3.9 - checksum: 15944dc2d322717372f8f41d77c184f62069e7386f089b01ef8e611fcde278989fcb3b4d6624c1ba175c16b32bc590c228629526820c074b46543ca30c991a9e + "@vue/compiler-core": 3.3.11 + "@vue/shared": 3.3.11 + checksum: 0a3b8267f0ff208425e6e8db371935a2948f9c24e436d8d7f52f2c873c729112e8c78cbba7b9aa3568597d306f8dfdc13fdec71736b4bd65ebdcadbc4976b0e1 languageName: node linkType: hard "@vue/compiler-sfc@npm:^3.2.40": - version: 3.3.9 - resolution: "@vue/compiler-sfc@npm:3.3.9" - dependencies: - "@babel/parser": ^7.23.3 - "@vue/compiler-core": 3.3.9 - "@vue/compiler-dom": 3.3.9 - "@vue/compiler-ssr": 3.3.9 - "@vue/reactivity-transform": 3.3.9 - "@vue/shared": 3.3.9 + version: 3.3.11 + resolution: "@vue/compiler-sfc@npm:3.3.11" + dependencies: + "@babel/parser": ^7.23.5 + "@vue/compiler-core": 3.3.11 + "@vue/compiler-dom": 3.3.11 + "@vue/compiler-ssr": 3.3.11 + "@vue/reactivity-transform": 3.3.11 + "@vue/shared": 3.3.11 estree-walker: ^2.0.2 magic-string: ^0.30.5 - postcss: ^8.4.31 + postcss: ^8.4.32 source-map-js: ^1.0.2 - checksum: 215c84f97c721eae2a880110d66f3b6dbd12608912048a0bcf08e3a2e92846b68cb2fca3c114271534df00837e0131c92be14bf9302589a5517e6ff1e904d725 + checksum: 9b588c2de5ee31ccc5ee8d44fe50f2b9c7ecc9d93f45ffd94cf57de3546d8113a5cf822a3d9ad54594385991dce2a7ba6acc288cba10fc56a8b638e679c4b921 languageName: node linkType: hard -"@vue/compiler-ssr@npm:3.3.9": - version: 3.3.9 - resolution: "@vue/compiler-ssr@npm:3.3.9" +"@vue/compiler-ssr@npm:3.3.11": + version: 3.3.11 + resolution: "@vue/compiler-ssr@npm:3.3.11" dependencies: - "@vue/compiler-dom": 3.3.9 - "@vue/shared": 3.3.9 - checksum: 0019af468a8e01bab0d99827d762bff02665192eaa036b7fe0c3eef7106c0b918c8a68a239144db1a2cb6fb78fa1a8b98e939e4987100fc2e2ae16e98d86ec84 + "@vue/compiler-dom": 3.3.11 + "@vue/shared": 3.3.11 + checksum: 047c239b873b0670fdfab101d646d2449f5dad96d6a2e724e28c696e33515bf310d806ec7d3147a7e6ad2d9cd648baa7ebaf821a3fb767f5e7d4dfbcc93d2178 languageName: node linkType: hard -"@vue/reactivity-transform@npm:3.3.9": - version: 3.3.9 - resolution: "@vue/reactivity-transform@npm:3.3.9" +"@vue/reactivity-transform@npm:3.3.11": + version: 3.3.11 + resolution: "@vue/reactivity-transform@npm:3.3.11" dependencies: - "@babel/parser": ^7.23.3 - "@vue/compiler-core": 3.3.9 - "@vue/shared": 3.3.9 + "@babel/parser": ^7.23.5 + "@vue/compiler-core": 3.3.11 + "@vue/shared": 3.3.11 estree-walker: ^2.0.2 magic-string: ^0.30.5 - checksum: f9ad93530f222f0efeba33802efdfe2614c4c0013781feabe3e29fcc26d78a8851b38b8302dbc4d931cb1e6e18e318ce2485233fc9731ed3fc19264e7af6b0bf + checksum: bf40f9173b627cca0bac89f15f4760b9ffc6d579fab22cec8828e36943058f8d5b864414a3269f2d8af2c8133daeacbca2b8b509306f6ae607e571a8f09b50a3 languageName: node linkType: hard -"@vue/shared@npm:3.3.9": - version: 3.3.9 - resolution: "@vue/shared@npm:3.3.9" - checksum: 6b6b62d7a36668da4eb0e31ef647caebeda0661f9146bcf056518b32f80d813e541da8cfee081dd516b578772b2f620fcf990c63b2f90c4eaa06ce91a0b7d855 +"@vue/shared@npm:3.3.11": + version: 3.3.11 + resolution: "@vue/shared@npm:3.3.11" + checksum: 1b98f5280f6a3fb0dfe6dfa4fc6589633208f1ad84f435ecca2f936bbabce60a21c25b0ff1fc48628dc9bfd9148a798991011d2053cad532c30931728fbeeb69 languageName: node linkType: hard @@ -4734,9 +4712,9 @@ __metadata: linkType: hard "acorn-walk@npm:^8.1.1": - version: 8.3.0 - resolution: "acorn-walk@npm:8.3.0" - checksum: 15ea56ab6529135be05e7d018f935ca80a572355dd3f6d3cd717e36df3346e0f635a93ae781b1c7942607693e2e5f3ef81af5c6fc697bbadcc377ebda7b7f5f6 + version: 8.3.1 + resolution: "acorn-walk@npm:8.3.1" + checksum: 5c8926ddb5400bc825b6baca782931f9df4ace603ba1a517f5243290fd9cdb089d52877840687b5d5c939591ebc314e2e63721514feaa37c6829c828f2b940ce languageName: node linkType: hard @@ -4837,15 +4815,15 @@ __metadata: linkType: hard "amazon-cognito-identity-js@npm:^6.0.1": - version: 6.3.7 - resolution: "amazon-cognito-identity-js@npm:6.3.7" + version: 6.3.8 + resolution: "amazon-cognito-identity-js@npm:6.3.8" dependencies: "@aws-crypto/sha256-js": 1.2.2 buffer: 4.9.2 fast-base64-decode: ^1.0.0 isomorphic-unfetch: ^3.0.0 js-cookie: ^2.2.1 - checksum: 51e2ecffa4e1c7084dc0c6b568ddb12be195c758a1a6dc0a305fc279ea8a2e5c53a72ebde913013f0df61a6542186484658115034d30dd3772c989b4d20f7152 + checksum: af58a7bb29e188d3d8fdbaf5206c0b83340491a9f95bf1d6178d2d3b54494d375384d5f2de39babc1acd7f380eba599239c369afdc17e6e2cac1ade4dd835277 languageName: node linkType: hard @@ -5702,17 +5680,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.21.9": - version: 4.22.1 - resolution: "browserslist@npm:4.22.1" +"browserslist@npm:^4.22.2": + version: 4.22.2 + resolution: "browserslist@npm:4.22.2" dependencies: - caniuse-lite: ^1.0.30001541 - electron-to-chromium: ^1.4.535 - node-releases: ^2.0.13 + caniuse-lite: ^1.0.30001565 + electron-to-chromium: ^1.4.601 + node-releases: ^2.0.14 update-browserslist-db: ^1.0.13 bin: browserslist: cli.js - checksum: 7e6b10c53f7dd5d83fd2b95b00518889096382539fed6403829d447e05df4744088de46a571071afb447046abc3c66ad06fbc790e70234ec2517452e32ffd862 + checksum: 33ddfcd9145220099a7a1ac533cecfe5b7548ffeb29b313e1b57be6459000a1f8fa67e781cf4abee97268ac594d44134fcc4a6b2b4750ceddc9796e3a22076d9 languageName: node linkType: hard @@ -5985,10 +5963,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001541": - version: 1.0.30001565 - resolution: "caniuse-lite@npm:1.0.30001565" - checksum: 7621f358d0e1158557430a111ca5506008ae0b2c796039ef53aeebf4e2ba15e5241cb89def21ea3a633b6a609273085835b44a522165d871fa44067cdf29cccd +"caniuse-lite@npm:^1.0.30001565": + version: 1.0.30001568 + resolution: "caniuse-lite@npm:1.0.30001568" + checksum: 7092aaa246dc8531fbca5b47be91e92065db7e5c04cc9e3d864e848f8f1be769ac6754429e843a5e939f7331a771e8b0a1bc3b13495c66b748c65e2f5bdb1220 languageName: node linkType: hard @@ -7291,10 +7269,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.535": - version: 1.4.597 - resolution: "electron-to-chromium@npm:1.4.597" - checksum: 3dc5d6a6f1dcdda3251a2d112f418a5e4924fcc2320cff68f82a73be6fcd68895637b04c0086e2ea8d2c83dd126d62112777a0dda9f1cd45d5596ec3a6b2a6f5 +"electron-to-chromium@npm:^1.4.601": + version: 1.4.610 + resolution: "electron-to-chromium@npm:1.4.610" + checksum: 30e57a1483717e6e27882e7e35b167258b669f44a4e66f4f40460825b77c12646140d220f5e1f95668890fc76dd511c93fa73c6374cbf443fc78077d9634864d languageName: node linkType: hard @@ -7679,13 +7657,13 @@ __metadata: linkType: hard "eslint@npm:^8.25.0": - version: 8.54.0 - resolution: "eslint@npm:8.54.0" + version: 8.55.0 + resolution: "eslint@npm:8.55.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/regexpp": ^4.6.1 - "@eslint/eslintrc": ^2.1.3 - "@eslint/js": 8.54.0 + "@eslint/eslintrc": ^2.1.4 + "@eslint/js": 8.55.0 "@humanwhocodes/config-array": ^0.11.13 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 @@ -7722,7 +7700,7 @@ __metadata: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: 7e876e9da2a18a017271cf3733d05a3dfbbe469272d75753408c6ea5b1646c71c6bb18cb91e10ca930144c32c1ce3701e222f1ae6784a3975a69f8f8aa68e49f + checksum: 83f82a604559dc1faae79d28fdf3dfc9e592ca221052e2ea516e1b379b37e77e4597705a16880e2f5ece4f79087c1dd13fd7f6e9746f794a401175519db18b41 languageName: node linkType: hard @@ -9004,11 +8982,11 @@ __metadata: linkType: hard "globals@npm:^13.19.0": - version: 13.23.0 - resolution: "globals@npm:13.23.0" + version: 13.24.0 + resolution: "globals@npm:13.24.0" dependencies: type-fest: ^0.20.2 - checksum: 194c97cf8d1ef6ba59417234c2386549c4103b6e5f24b1ff1952de61a4753e5d2069435ba629de711a6480b1b1d114a98e2ab27f85e966d5a10c319c3bbd3dc3 + checksum: 56066ef058f6867c04ff203b8a44c15b038346a62efbc3060052a1016be9f56f4cf0b2cd45b74b22b81e521a889fc7786c73691b0549c2f3a6e825b3d394f43c languageName: node linkType: hard @@ -9400,8 +9378,8 @@ __metadata: linkType: hard "hardhat@npm:^2.16.1, hardhat@npm:^2.8.0": - version: 2.19.1 - resolution: "hardhat@npm:2.19.1" + version: 2.19.2 + resolution: "hardhat@npm:2.19.2" dependencies: "@ethersproject/abi": ^5.1.2 "@metamask/eth-sig-util": ^4.0.0 @@ -9461,7 +9439,7 @@ __metadata: optional: true bin: hardhat: internal/cli/bootstrap.js - checksum: 0c12069e8eae47419d595e38d22716049136cf74390f9e89121ae73fdc716ffcb6cd3283e3ca8676ce00e3ff90804dfa95473830d96340ec01860dfa6237d8d3 + checksum: 0b5499890e46750ca8c51bbe1205599b1424a2e5293b40c9f7cb56320d56b9935fbd4e276de370e07664ae81fa57dc7ab227bf2b2363f5732ef9f06df1a9a6d9 languageName: node linkType: hard @@ -12260,7 +12238,7 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.13": +"node-releases@npm:^2.0.14": version: 2.0.14 resolution: "node-releases@npm:2.0.14" checksum: 59443a2f77acac854c42d321bf1b43dea0aef55cd544c6a686e9816a697300458d4e82239e2d794ea05f7bbbc8a94500332e2d3ac3f11f52e4b16cbe638b3c41 @@ -13027,14 +13005,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.31": - version: 8.4.31 - resolution: "postcss@npm:8.4.31" +"postcss@npm:^8.4.32": + version: 8.4.32 + resolution: "postcss@npm:8.4.32" dependencies: nanoid: ^3.3.7 picocolors: ^1.0.0 source-map-js: ^1.0.2 - checksum: 1d8611341b073143ad90486fcdfeab49edd243377b1f51834dc4f6d028e82ce5190e4f11bb2633276864503654fb7cab28e67abdc0fbf9d1f88cad4a0ff0beea + checksum: 220d9d0bf5d65be7ed31006c523bfb11619461d296245c1231831f90150aeb4a31eab9983ac9c5c89759a3ca8b60b3e0d098574964e1691673c3ce5c494305ae languageName: node linkType: hard @@ -14749,12 +14727,12 @@ __metadata: "@types/node": ^20.5.9 "@typescript-eslint/eslint-plugin": ^5.40.1 "@typescript-eslint/parser": ^5.40.1 - "@venusprotocol/governance-contracts": ^1.4.0-dev.9 - "@venusprotocol/isolated-pools": ^2.3.0-dev.4 - "@venusprotocol/oracle": ^1.8.0-dev.8 - "@venusprotocol/protocol-reserve": ^1.1.0 - "@venusprotocol/solidity-utilities": ^1.1.0 - "@venusprotocol/venus-protocol": ^6.1.0-dev.5 + "@venusprotocol/governance-contracts": 1.4.0 + "@venusprotocol/isolated-pools": ^2.3.0 + "@venusprotocol/oracle": ^1.8.0 + "@venusprotocol/protocol-reserve": ^1.2.0 + "@venusprotocol/solidity-utilities": ^1.3.0 + "@venusprotocol/venus-protocol": ^7.0.0 assemblyscript: 0.19.23 chai: ^4.3.6 eslint: ^8.25.0 @@ -15151,8 +15129,8 @@ __metadata: linkType: hard "ts-node@npm:^10.9.1": - version: 10.9.1 - resolution: "ts-node@npm:10.9.1" + version: 10.9.2 + resolution: "ts-node@npm:10.9.2" dependencies: "@cspotcode/source-map-support": ^0.8.0 "@tsconfig/node10": ^1.0.7 @@ -15184,7 +15162,7 @@ __metadata: ts-node-script: dist/bin-script.js ts-node-transpile-only: dist/bin-transpile.js ts-script: dist/bin-script-deprecated.js - checksum: 090adff1302ab20bd3486e6b4799e90f97726ed39e02b39e566f8ab674fd5bd5f727f43615debbfc580d33c6d9d1c6b1b3ce7d8e3cca3e20530a145ffa232c35 + checksum: fde256c9073969e234526e2cfead42591b9a2aec5222bac154b0de2fa9e4ceb30efcd717ee8bc785a56f3a119bdd5aa27b333d9dbec94ed254bd26f8944c67ac languageName: node linkType: hard @@ -15460,12 +15438,12 @@ __metadata: linkType: hard "typescript@npm:^5.0.4": - version: 5.3.2 - resolution: "typescript@npm:5.3.2" + version: 5.3.3 + resolution: "typescript@npm:5.3.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: d92534dda639eb825db013203404c1fabca8ac630564283c9e7dc9e64fd9c9346c2de95ecebdf3e6e8c1c32941bca1cfe0da37877611feb9daf8feeaea58d230 + checksum: 2007ccb6e51bbbf6fde0a78099efe04dc1c3dfbdff04ca3b6a8bc717991862b39fd6126c0c3ebf2d2d98ac5e960bcaa873826bb2bb241f14277034148f41f6a2 languageName: node linkType: hard @@ -15480,12 +15458,12 @@ __metadata: linkType: hard "typescript@patch:typescript@^5.0.4#~builtin": - version: 5.3.2 - resolution: "typescript@patch:typescript@npm%3A5.3.2#~builtin::version=5.3.2&hash=f456af" + version: 5.3.3 + resolution: "typescript@patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=f456af" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: c034461079fbfde3cb584ddee52afccb15b6e32a0ce186d0b2719968786f7ca73e1b07f71fac4163088790b16811c6ccf79680de190664ef66ff0ba9c1fe4a23 + checksum: f61375590b3162599f0f0d5b8737877ac0a7bc52761dbb585d67e7b8753a3a4c42d9a554c4cc929f591ffcf3a2b0602f65ae3ce74714fd5652623a816862b610 languageName: node linkType: hard @@ -15853,6 +15831,7 @@ __metadata: version: 0.0.0-use.local resolution: "venus-governance-subgraph@workspace:subgraphs/venus-governance" dependencies: + "@venusprotocol/cross-chain-governance-contracts": "https://github.com/VenusProtocol/governance-contracts#13673edfe3578336f13b05b2954bd08ce09189b0" apollo-fetch: ^0.7.0 urql: ^3.0.3 venus-subgraph-utils: 0.0.0 @@ -15871,7 +15850,7 @@ __metadata: version: 0.0.0-use.local resolution: "venus-subgraph@workspace:subgraphs/venus" dependencies: - "@venusprotocol/venus-protocol": 5.2.0 + "@venusprotocol/venus-protocol": 7.0.0 "@venusprotocol/venus-protocol-orig-events": "npm:@venusprotocol/venus-protocol@2.2.1" languageName: unknown linkType: soft @@ -16763,8 +16742,8 @@ __metadata: linkType: hard "ws@npm:^8.12.0, ws@npm:^8.13.0": - version: 8.14.2 - resolution: "ws@npm:8.14.2" + version: 8.15.0 + resolution: "ws@npm:8.15.0" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -16773,7 +16752,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 3ca0dad26e8cc6515ff392b622a1467430814c463b3368b0258e33696b1d4bed7510bc7030f7b72838b9fdeb8dbd8839cbf808367d6aae2e1d668ce741d4308b + checksum: ca15c590aa49bc0197223b8ab7d15e7362ae6c4011d91ed0e5cd5867cdd5497fd71470ea36314833b4b078929fe64dc4ba7748b1e58e50a0f8e41f147db2b464 languageName: node linkType: hard @@ -16994,11 +16973,11 @@ __metadata: linkType: hard "zod-to-json-schema@npm:^3.20.5": - version: 3.22.1 - resolution: "zod-to-json-schema@npm:3.22.1" + version: 3.22.2 + resolution: "zod-to-json-schema@npm:3.22.2" peerDependencies: zod: ^3.22.4 - checksum: 7c0cdcf0acac81a9b69b26e44bc45e43aefacd5759e12f89856f0a4b957b66be27560671473ef7ab4a5883a871b6990a7f61fce3cee96ecad3823c5b7e524fa5 + checksum: aecc5e180a0d3076edb51c565444a016ac77d47ece289d349587a0e4261dc60bc2cf5b47f49a5acfb5007f7cb4ef5ad7e183a196f0df2b55a1e38924067e213a languageName: node linkType: hard