From 5777953f9e8baa9e574ef50a6b7bce5375f21f97 Mon Sep 17 00:00:00 2001 From: SigismundSchlomo Date: Thu, 24 Oct 2024 12:36:23 +0300 Subject: [PATCH] Deploy limited pools manager on main --- .openzeppelin/unknown-16718.json | 334 +++++++++++++++++++++++++++++++ deployments/16718.json | 50 +++++ package.json | 2 +- 3 files changed, 385 insertions(+), 1 deletion(-) diff --git a/.openzeppelin/unknown-16718.json b/.openzeppelin/unknown-16718.json index b350ab5..558ece4 100644 --- a/.openzeppelin/unknown-16718.json +++ b/.openzeppelin/unknown-16718.json @@ -705,6 +705,340 @@ } } } + }, + "daec3fd1ae66fe6add960c12b67822282e8af2f2a0398308ff036bac3bbba097": { + "address": "0x0E92422512A5b7A4287CF0dF49d076fb54A3Ab30", + "txHash": "0x1695413d28ffdba8b3f410859b5ec6e65d9e950848dfbe8bdf0fe5b69a9d0b2c", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "_roles", + "offset": 0, + "slot": "1", + "type": "t_mapping(t_bytes32,t_struct(RoleData)3267_storage)", + "contract": "AccessControl", + "src": "@openzeppelin/contracts/access/AccessControl.sol:56" + }, + { + "label": "active", + "offset": 0, + "slot": "2", + "type": "t_bool", + "contract": "LimitedTokenPool", + "src": "contracts/staking/token/LimitedTokenPool.sol:54" + }, + { + "label": "lockKeeper", + "offset": 1, + "slot": "2", + "type": "t_contract(LockKeeper)8142", + "contract": "LimitedTokenPool", + "src": "contracts/staking/token/LimitedTokenPool.sol:56" + }, + { + "label": "rewardsBank", + "offset": 0, + "slot": "3", + "type": "t_contract(RewardsBank)10815", + "contract": "LimitedTokenPool", + "src": "contracts/staking/token/LimitedTokenPool.sol:57" + }, + { + "label": "mainConfig", + "offset": 0, + "slot": "4", + "type": "t_struct(MainConfig)17879_storage", + "contract": "LimitedTokenPool", + "src": "contracts/staking/token/LimitedTokenPool.sol:59" + }, + { + "label": "limitsConfig", + "offset": 0, + "slot": "8", + "type": "t_struct(LimitsConfig)17902_storage", + "contract": "LimitedTokenPool", + "src": "contracts/staking/token/LimitedTokenPool.sol:60" + }, + { + "label": "info", + "offset": 0, + "slot": "19", + "type": "t_struct(Info)17913_storage", + "contract": "LimitedTokenPool", + "src": "contracts/staking/token/LimitedTokenPool.sol:61" + }, + { + "label": "stakers", + "offset": 0, + "slot": "24", + "type": "t_mapping(t_address,t_struct(Staker)17926_storage)", + "contract": "LimitedTokenPool", + "src": "contracts/staking/token/LimitedTokenPool.sol:63" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(LockKeeper)8142": { + "label": "contract LockKeeper", + "numberOfBytes": "20" + }, + "t_contract(RewardsBank)10815": { + "label": "contract RewardsBank", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(Staker)17926_storage)": { + "label": "mapping(address => struct LimitedTokenPool.Staker)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)3267_storage)": { + "label": "mapping(bytes32 => struct AccessControl.RoleData)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(Info)17913_storage": { + "label": "struct LimitedTokenPool.Info", + "members": [ + { + "label": "totalStake", + "type": "t_uint256", + "offset": 0, + "slot": "0" + }, + { + "label": "totalDeposit", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "totalRewards", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "lastInterestUpdate", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "totalRewardsDebt", + "type": "t_uint256", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_struct(LimitsConfig)17902_storage": { + "label": "struct LimitedTokenPool.LimitsConfig", + "members": [ + { + "label": "rewardTokenPrice", + "type": "t_uint256", + "offset": 0, + "slot": "0" + }, + { + "label": "interest", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "interestRate", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "minDepositValue", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "minStakeValue", + "type": "t_uint256", + "offset": 0, + "slot": "4" + }, + { + "label": "fastUnstakePenalty", + "type": "t_uint256", + "offset": 0, + "slot": "5" + }, + { + "label": "unstakeLockPeriod", + "type": "t_uint256", + "offset": 0, + "slot": "6" + }, + { + "label": "stakeLockPeriod", + "type": "t_uint256", + "offset": 0, + "slot": "7" + }, + { + "label": "maxTotalStakeValue", + "type": "t_uint256", + "offset": 0, + "slot": "8" + }, + { + "label": "maxStakePerUserValue", + "type": "t_uint256", + "offset": 0, + "slot": "9" + }, + { + "label": "stakeLimitsMultiplier", + "type": "t_uint256", + "offset": 0, + "slot": "10" + } + ], + "numberOfBytes": "352" + }, + "t_struct(MainConfig)17879_storage": { + "label": "struct LimitedTokenPool.MainConfig", + "members": [ + { + "label": "name", + "type": "t_string_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "limitsMultiplierToken", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "profitableToken", + "type": "t_address", + "offset": 0, + "slot": "2" + }, + { + "label": "rewardToken", + "type": "t_address", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_struct(RoleData)3267_storage": { + "label": "struct AccessControl.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(Staker)17926_storage": { + "label": "struct LimitedTokenPool.Staker", + "members": [ + { + "label": "stake", + "type": "t_uint256", + "offset": 0, + "slot": "0" + }, + { + "label": "deposit", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "rewardsDebt", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "claimableRewards", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "lockedWithdrawal", + "type": "t_uint256", + "offset": 0, + "slot": "4" + }, + { + "label": "stakedAt", + "type": "t_uint256", + "offset": 0, + "slot": "5" + } + ], + "numberOfBytes": "192" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } } } } diff --git a/deployments/16718.json b/deployments/16718.json index 890a0e1..5a2616a 100644 --- a/deployments/16718.json +++ b/deployments/16718.json @@ -1723,5 +1723,55 @@ ], "deployTx": "0x1d6552e36b5ccf075e239ea8789747b9682947929ab8081947469264dae4dee2", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + }, + "Ecosystem_LimitedTokenPoolsManager_RewardsBank": { + "address": "0xd8E8819F9A3160F561a754a3f8c499BFd76947cb", + "abi": [ + "constructor()", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function withdrawAmb(address addressTo, uint256 amount)", + "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" + ], + "deployTx": "0x785297bb1786ea24cf6ec7ef84eac28a2e92b9cf83a270cfa3da69edcdd1df19", + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + }, + "Ecosystem_LimitedTokenPoolsManager": { + "address": "0x4A0dbD61d017198a9eC5B444CdD307D55d4d879A", + "abi": [ + "constructor(address bank_, address lockKeeper_, address doubleSideBeacon_)", + "event LimitedPoolActivated(address pool)", + "event LimitedPoolConfigured(address pool, tuple(uint256 rewardTokenPrice, uint256 interest, uint256 interestRate, uint256 minDepositValue, uint256 minStakeValue, uint256 fastUnstakePenalty, uint256 unstakeLockPeriod, uint256 stakeLockPeriod, uint256 maxTotalStakeValue, uint256 maxStakePerUserValue, uint256 stakeLimitsMultiplier) params)", + "event LimitedPoolCreated(address pool, string name)", + "event LimitedPoolDeactivated(address pool)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function activatePool(address _pool)", + "function bank() view returns (address)", + "function configurePool(address _pool, tuple(uint256 rewardTokenPrice, uint256 interest, uint256 interestRate, uint256 minDepositValue, uint256 minStakeValue, uint256 fastUnstakePenalty, uint256 unstakeLockPeriod, uint256 stakeLockPeriod, uint256 maxTotalStakeValue, uint256 maxStakePerUserValue, uint256 stakeLimitsMultiplier) params)", + "function createPool(tuple(string name, address limitsMultiplierToken, address profitableToken, address rewardToken) params) returns (address)", + "function deactivatePool(address _pool)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function limitedTokenPoolBeacon() view returns (address)", + "function onBlock()", + "function pools(uint256) view returns (address)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)" + ], + "deployTx": "0xb9778368eba50a55a4606d480ea3d6e4e572963b911096c949d7486fb3bdc377", + "fullyQualifiedName": "contracts/staking/token/LimitedTokenPoolsManager.sol:LimitedTokenPoolsManager" } } \ No newline at end of file diff --git a/package.json b/package.json index 7dd7123..853eb43 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@airdao/airdao-node-contracts", - "version": "1.3.29", + "version": "1.3.30", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", "files": [