diff --git a/.openzeppelin/mainnet.json b/.openzeppelin/mainnet.json index 1d0c576..2979b89 100644 --- a/.openzeppelin/mainnet.json +++ b/.openzeppelin/mainnet.json @@ -7096,6 +7096,256 @@ } } } + }, + "9fc11209b9552aa300ea1c0f6c96fe33bcfc90899fed0a598902f9ebcef495e1": { + "address": "0xcD14883141Ca0832544227DB2874a4C5557f9085", + "txHash": "0xaea2e34fa8e3be79c7c9ded0406f0bcf3b2199f24ff53d17066a8a1677411bed", + "layout": { + "solcVersion": "0.8.18", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "_status", + "offset": 0, + "slot": "101", + "type": "t_uint256", + "contract": "ReentrancyGuardUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "ReentrancyGuardUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:80" + }, + { + "label": "_stakerStorage", + "offset": 0, + "slot": "151", + "type": "t_struct(StakerStorage)4843_storage", + "contract": "BendStakeManager", + "src": "contracts/BendStakeManager.sol:53" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(IApeCoinStaking)8222": { + "label": "contract IApeCoinStaking", + "numberOfBytes": "20" + }, + "t_contract(ICoinPool)8285": { + "label": "contract ICoinPool", + "numberOfBytes": "20" + }, + "t_contract(IERC20Upgradeable)628": { + "label": "contract IERC20Upgradeable", + "numberOfBytes": "20" + }, + "t_contract(INftPool)8721": { + "label": "contract INftPool", + "numberOfBytes": "20" + }, + "t_contract(INftVault)9154": { + "label": "contract INftVault", + "numberOfBytes": "20" + }, + "t_contract(IRewardsStrategy)9162": { + "label": "contract IRewardsStrategy", + "numberOfBytes": "20" + }, + "t_contract(IStakedNft)9594": { + "label": "contract IStakedNft", + "numberOfBytes": "20" + }, + "t_contract(IWithdrawStrategy)9604": { + "label": "contract IWithdrawStrategy", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_contract(IRewardsStrategy)9162)": { + "label": "mapping(address => contract IRewardsStrategy)", + "numberOfBytes": "32" + }, + "t_struct(StakerStorage)4843_storage": { + "label": "struct BendStakeManager.StakerStorage", + "members": [ + { + "label": "rewardsStrategies", + "type": "t_mapping(t_address,t_contract(IRewardsStrategy)9162)", + "offset": 0, + "slot": "0" + }, + { + "label": "withdrawStrategy", + "type": "t_contract(IWithdrawStrategy)9604", + "offset": 0, + "slot": "1" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "feeRecipient", + "type": "t_address", + "offset": 0, + "slot": "3" + }, + { + "label": "pendingFeeAmount", + "type": "t_uint256", + "offset": 0, + "slot": "4" + }, + { + "label": "apeCoinPoolStakedAmount", + "type": "t_uint256", + "offset": 0, + "slot": "5" + }, + { + "label": "apeCoinStaking", + "type": "t_contract(IApeCoinStaking)8222", + "offset": 0, + "slot": "6" + }, + { + "label": "apeCoin", + "type": "t_contract(IERC20Upgradeable)628", + "offset": 0, + "slot": "7" + }, + { + "label": "nftVault", + "type": "t_contract(INftVault)9154", + "offset": 0, + "slot": "8" + }, + { + "label": "coinPool", + "type": "t_contract(ICoinPool)8285", + "offset": 0, + "slot": "9" + }, + { + "label": "nftPool", + "type": "t_contract(INftPool)8721", + "offset": 0, + "slot": "10" + }, + { + "label": "stBayc", + "type": "t_contract(IStakedNft)9594", + "offset": 0, + "slot": "11" + }, + { + "label": "stMayc", + "type": "t_contract(IStakedNft)9594", + "offset": 0, + "slot": "12" + }, + { + "label": "stBakc", + "type": "t_contract(IStakedNft)9594", + "offset": 0, + "slot": "13" + }, + { + "label": "bayc", + "type": "t_address", + "offset": 0, + "slot": "14" + }, + { + "label": "mayc", + "type": "t_address", + "offset": 0, + "slot": "15" + }, + { + "label": "bakc", + "type": "t_address", + "offset": 0, + "slot": "16" + }, + { + "label": "botAdmin", + "type": "t_address", + "offset": 0, + "slot": "17" + } + ], + "numberOfBytes": "576" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } } } } diff --git a/.openzeppelin/sepolia.json b/.openzeppelin/sepolia.json index d9f9b5b..2a40abb 100644 --- a/.openzeppelin/sepolia.json +++ b/.openzeppelin/sepolia.json @@ -2715,6 +2715,256 @@ } } } + }, + "9fc11209b9552aa300ea1c0f6c96fe33bcfc90899fed0a598902f9ebcef495e1": { + "address": "0xCD801Fd4BD90c261D603aAcBEc50b8ea76bDB728", + "txHash": "0xa55724065a2492b57f7aeeb1dbdd5611d9c40d34febb7f947dc0e31dcf86e883", + "layout": { + "solcVersion": "0.8.18", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "_status", + "offset": 0, + "slot": "101", + "type": "t_uint256", + "contract": "ReentrancyGuardUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "ReentrancyGuardUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:80" + }, + { + "label": "_stakerStorage", + "offset": 0, + "slot": "151", + "type": "t_struct(StakerStorage)16729_storage", + "contract": "BendStakeManager", + "src": "contracts/BendStakeManager.sol:53" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(IApeCoinStaking)20108": { + "label": "contract IApeCoinStaking", + "numberOfBytes": "20" + }, + "t_contract(ICoinPool)20231": { + "label": "contract ICoinPool", + "numberOfBytes": "20" + }, + "t_contract(IERC20Upgradeable)1367": { + "label": "contract IERC20Upgradeable", + "numberOfBytes": "20" + }, + "t_contract(INftPool)20667": { + "label": "contract INftPool", + "numberOfBytes": "20" + }, + "t_contract(INftVault)21100": { + "label": "contract INftVault", + "numberOfBytes": "20" + }, + "t_contract(IRewardsStrategy)21108": { + "label": "contract IRewardsStrategy", + "numberOfBytes": "20" + }, + "t_contract(IStakedNft)21540": { + "label": "contract IStakedNft", + "numberOfBytes": "20" + }, + "t_contract(IWithdrawStrategy)21550": { + "label": "contract IWithdrawStrategy", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_contract(IRewardsStrategy)21108)": { + "label": "mapping(address => contract IRewardsStrategy)", + "numberOfBytes": "32" + }, + "t_struct(StakerStorage)16729_storage": { + "label": "struct BendStakeManager.StakerStorage", + "members": [ + { + "label": "rewardsStrategies", + "type": "t_mapping(t_address,t_contract(IRewardsStrategy)21108)", + "offset": 0, + "slot": "0" + }, + { + "label": "withdrawStrategy", + "type": "t_contract(IWithdrawStrategy)21550", + "offset": 0, + "slot": "1" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "feeRecipient", + "type": "t_address", + "offset": 0, + "slot": "3" + }, + { + "label": "pendingFeeAmount", + "type": "t_uint256", + "offset": 0, + "slot": "4" + }, + { + "label": "apeCoinPoolStakedAmount", + "type": "t_uint256", + "offset": 0, + "slot": "5" + }, + { + "label": "apeCoinStaking", + "type": "t_contract(IApeCoinStaking)20108", + "offset": 0, + "slot": "6" + }, + { + "label": "apeCoin", + "type": "t_contract(IERC20Upgradeable)1367", + "offset": 0, + "slot": "7" + }, + { + "label": "nftVault", + "type": "t_contract(INftVault)21100", + "offset": 0, + "slot": "8" + }, + { + "label": "coinPool", + "type": "t_contract(ICoinPool)20231", + "offset": 0, + "slot": "9" + }, + { + "label": "nftPool", + "type": "t_contract(INftPool)20667", + "offset": 0, + "slot": "10" + }, + { + "label": "stBayc", + "type": "t_contract(IStakedNft)21540", + "offset": 0, + "slot": "11" + }, + { + "label": "stMayc", + "type": "t_contract(IStakedNft)21540", + "offset": 0, + "slot": "12" + }, + { + "label": "stBakc", + "type": "t_contract(IStakedNft)21540", + "offset": 0, + "slot": "13" + }, + { + "label": "bayc", + "type": "t_address", + "offset": 0, + "slot": "14" + }, + { + "label": "mayc", + "type": "t_address", + "offset": 0, + "slot": "15" + }, + { + "label": "bakc", + "type": "t_address", + "offset": 0, + "slot": "16" + }, + { + "label": "botAdmin", + "type": "t_address", + "offset": 0, + "slot": "17" + } + ], + "numberOfBytes": "576" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } } } } diff --git a/abis/PoolViewer.json b/abis/PoolViewer.json index 74ee029..9caff46 100644 --- a/abis/PoolViewer.json +++ b/abis/PoolViewer.json @@ -155,6 +155,311 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "poolId_", + "type": "uint256" + } + ], + "name": "getPoolUIByID", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stakedAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint48", + "name": "startTimestampHour", + "type": "uint48" + }, + { + "internalType": "uint48", + "name": "endTimestampHour", + "type": "uint48" + }, + { + "internalType": "uint96", + "name": "rewardsPerHour", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "capPerPosition", + "type": "uint96" + } + ], + "internalType": "struct IApeCoinStaking.TimeRange", + "name": "currentTimeRange", + "type": "tuple" + } + ], + "internalType": "struct IApeCoinStaking.PoolUI", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "poolId_", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "index_", + "type": "uint256" + } + ], + "name": "getPoolUIByIndex", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stakedAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint48", + "name": "startTimestampHour", + "type": "uint48" + }, + { + "internalType": "uint48", + "name": "endTimestampHour", + "type": "uint48" + }, + { + "internalType": "uint96", + "name": "rewardsPerHour", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "capPerPosition", + "type": "uint96" + } + ], + "internalType": "struct IApeCoinStaking.TimeRange", + "name": "currentTimeRange", + "type": "tuple" + } + ], + "internalType": "struct IApeCoinStaking.PoolUI", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getPoolsUI", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stakedAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint48", + "name": "startTimestampHour", + "type": "uint48" + }, + { + "internalType": "uint48", + "name": "endTimestampHour", + "type": "uint48" + }, + { + "internalType": "uint96", + "name": "rewardsPerHour", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "capPerPosition", + "type": "uint96" + } + ], + "internalType": "struct IApeCoinStaking.TimeRange", + "name": "currentTimeRange", + "type": "tuple" + } + ], + "internalType": "struct IApeCoinStaking.PoolUI", + "name": "", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stakedAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint48", + "name": "startTimestampHour", + "type": "uint48" + }, + { + "internalType": "uint48", + "name": "endTimestampHour", + "type": "uint48" + }, + { + "internalType": "uint96", + "name": "rewardsPerHour", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "capPerPosition", + "type": "uint96" + } + ], + "internalType": "struct IApeCoinStaking.TimeRange", + "name": "currentTimeRange", + "type": "tuple" + } + ], + "internalType": "struct IApeCoinStaking.PoolUI", + "name": "", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stakedAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint48", + "name": "startTimestampHour", + "type": "uint48" + }, + { + "internalType": "uint48", + "name": "endTimestampHour", + "type": "uint48" + }, + { + "internalType": "uint96", + "name": "rewardsPerHour", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "capPerPosition", + "type": "uint96" + } + ], + "internalType": "struct IApeCoinStaking.TimeRange", + "name": "currentTimeRange", + "type": "tuple" + } + ], + "internalType": "struct IApeCoinStaking.PoolUI", + "name": "", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stakedAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint48", + "name": "startTimestampHour", + "type": "uint48" + }, + { + "internalType": "uint48", + "name": "endTimestampHour", + "type": "uint48" + }, + { + "internalType": "uint96", + "name": "rewardsPerHour", + "type": "uint96" + }, + { + "internalType": "uint96", + "name": "capPerPosition", + "type": "uint96" + } + ], + "internalType": "struct IApeCoinStaking.TimeRange", + "name": "currentTimeRange", + "type": "tuple" + } + ], + "internalType": "struct IApeCoinStaking.PoolUI", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { diff --git a/contracts/BendStakeManager.sol b/contracts/BendStakeManager.sol index 59a09b1..f4afb90 100644 --- a/contracts/BendStakeManager.sol +++ b/contracts/BendStakeManager.sol @@ -338,7 +338,7 @@ contract BendStakeManager is IStakeManager, OwnableUpgradeable, ReentrancyGuardU function _stakeBayc(uint256[] calldata tokenIds_) internal { IApeCoinStaking.SingleNft[] memory nfts_ = new IApeCoinStaking.SingleNft[](tokenIds_.length); - uint256 maxCap = _stakerStorage.apeCoinStaking.getCurrentTimeRange(ApeStakingLib.BAYC_POOL_ID).capPerPosition; + uint256 maxCap = ApeStakingLib.BAYC_MAX_CAP; uint256 tokenId_; uint256 apeCoinAmount = 0; for (uint256 i = 0; i < nfts_.length; i++) { @@ -398,7 +398,7 @@ contract BendStakeManager is IStakeManager, OwnableUpgradeable, ReentrancyGuardU function _stakeMayc(uint256[] calldata tokenIds_) internal { IApeCoinStaking.SingleNft[] memory nfts_ = new IApeCoinStaking.SingleNft[](tokenIds_.length); - uint256 maxCap = _stakerStorage.apeCoinStaking.getCurrentTimeRange(ApeStakingLib.MAYC_POOL_ID).capPerPosition; + uint256 maxCap = ApeStakingLib.MAYC_MAX_CAP; uint256 tokenId_; uint256 apeCoinAmount = 0; for (uint256 i = 0; i < nfts_.length; i++) { @@ -468,7 +468,7 @@ contract BendStakeManager is IStakeManager, OwnableUpgradeable, ReentrancyGuardU IApeCoinStaking.PairNftDepositWithAmount[] memory maycPairsWithAmount_ = new IApeCoinStaking.PairNftDepositWithAmount[](maycPairs_.length); - uint256 maxCap = _stakerStorage.apeCoinStaking.getCurrentTimeRange(ApeStakingLib.BAKC_POOL_ID).capPerPosition; + uint256 maxCap = ApeStakingLib.BAKC_MAX_CAP; uint256 apeCoinAmount = 0; IApeCoinStaking.PairNft memory pair_; for (uint256 i = 0; i < baycPairsWithAmount_.length; i++) { diff --git a/contracts/libraries/ApeStakingLib.sol b/contracts/libraries/ApeStakingLib.sol index b2398bc..e8fbd11 100644 --- a/contracts/libraries/ApeStakingLib.sol +++ b/contracts/libraries/ApeStakingLib.sol @@ -14,6 +14,10 @@ library ApeStakingLib { uint256 internal constant MAYC_POOL_ID = 2; uint256 internal constant BAKC_POOL_ID = 3; + uint256 internal constant BAYC_MAX_CAP = 10094e18; + uint256 internal constant MAYC_MAX_CAP = 2042e18; + uint256 internal constant BAKC_MAX_CAP = 856e18; + function getCurrentTimeRange( IApeCoinStaking apeCoinStaking_, uint256 poolId diff --git a/contracts/misc/PoolViewer.sol b/contracts/misc/PoolViewer.sol index d33285e..ea12be0 100644 --- a/contracts/misc/PoolViewer.sol +++ b/contracts/misc/PoolViewer.sol @@ -75,9 +75,9 @@ contract PoolViewer { poolState.coinPoolPendingApeCoin = coinPool.pendingApeCoin(); poolState.coinPoolPendingRewards = staker.pendingRewards(0); poolState.coinPoolStakedAmount = staker.stakedApeCoin(0); - poolState.baycPoolMaxCap = apeCoinStaking.getCurrentTimeRange(ApeStakingLib.BAYC_POOL_ID).capPerPosition; - poolState.maycPoolMaxCap = apeCoinStaking.getCurrentTimeRange(ApeStakingLib.MAYC_POOL_ID).capPerPosition; - poolState.bakcPoolMaxCap = apeCoinStaking.getCurrentTimeRange(ApeStakingLib.BAKC_POOL_ID).capPerPosition; + poolState.baycPoolMaxCap = ApeStakingLib.BAYC_MAX_CAP; + poolState.maycPoolMaxCap = ApeStakingLib.MAYC_MAX_CAP; + poolState.bakcPoolMaxCap = ApeStakingLib.BAKC_MAX_CAP; } function viewNftPoolPendingRewards( @@ -264,4 +264,34 @@ contract PoolViewer { rewards.bakcPoolRewards = rewards.bakcPoolRewards.mulDiv(bakcNum, totalStakedNft, Math.Rounding.Down); } } + + function getPoolUIByIndex(uint256 poolId_, uint256 index_) public view returns (IApeCoinStaking.PoolUI memory) { + IApeCoinStaking.PoolWithoutTimeRange memory poolNoTR = apeCoinStaking.pools(poolId_); + IApeCoinStaking.TimeRange memory tr = apeCoinStaking.getTimeRangeBy(poolId_, index_); + return IApeCoinStaking.PoolUI(poolId_, poolNoTR.stakedAmount, tr); + } + + function getPoolUIByID(uint256 poolId_) public view returns (IApeCoinStaking.PoolUI memory) { + IApeCoinStaking.PoolWithoutTimeRange memory poolNoTR = apeCoinStaking.pools(poolId_); + IApeCoinStaking.TimeRange memory tr = apeCoinStaking.getTimeRangeBy(poolId_, poolNoTR.lastRewardsRangeIndex); + return IApeCoinStaking.PoolUI(poolId_, poolNoTR.stakedAmount, tr); + } + + function getPoolsUI() + public + view + returns ( + IApeCoinStaking.PoolUI memory, + IApeCoinStaking.PoolUI memory, + IApeCoinStaking.PoolUI memory, + IApeCoinStaking.PoolUI memory + ) + { + return ( + getPoolUIByID(ApeStakingLib.APE_COIN_POOL_ID), + getPoolUIByID(ApeStakingLib.BAYC_POOL_ID), + getPoolUIByID(ApeStakingLib.MAYC_POOL_ID), + getPoolUIByID(ApeStakingLib.BAKC_POOL_ID) + ); + } } diff --git a/deployments/deployed-contracts-mainnet.json b/deployments/deployed-contracts-mainnet.json index 7bb5aaf..80c9844 100644 --- a/deployments/deployed-contracts-mainnet.json +++ b/deployments/deployed-contracts-mainnet.json @@ -48,7 +48,7 @@ "deployer": "0x868964fa49a6fd6e116FE82c8f4165904406f479" }, "PoolViewer": { - "address": "0x1C45059707de7EC3A7463E45B0643F6123622c7e", + "address": "0x9A17775629E879A24a2a82D977D48D9ceCBD4fE8", "deployer": "0x868964fa49a6fd6e116FE82c8f4165904406f479" }, "CompoudV1Migrator": { diff --git a/deployments/deployed-contracts-sepolia.json b/deployments/deployed-contracts-sepolia.json index 536215a..a1d9f89 100644 --- a/deployments/deployed-contracts-sepolia.json +++ b/deployments/deployed-contracts-sepolia.json @@ -56,7 +56,7 @@ "deployer": "0xafF5C36642385b6c7Aaf7585eC785aB2316b5db6" }, "PoolViewer": { - "address": "0x3262dcC7e78BDA8Fe9F6B12DbD7b35E064b2cFE1", + "address": "0x06263932D994539F8f1cb6f0Dc1e4f63d6aB1720", "deployer": "0xafF5C36642385b6c7Aaf7585eC785aB2316b5db6" }, "BendApeCoinStakedVoting": {