diff --git a/.openzeppelin/mainnet.json b/.openzeppelin/mainnet.json index d9233207..686d927e 100644 --- a/.openzeppelin/mainnet.json +++ b/.openzeppelin/mainnet.json @@ -744,6 +744,56 @@ "address": "0x2d7d5b1706653796602617350571B3F8999B950c", "txHash": "0x8cb355c0346dac7e80406e9c17a0ccb7a228aedb66e16186be65724e23387205", "kind": "transparent" + }, + { + "address": "0x9b5528528656DBC094765E2abB79F293c21191B9", + "txHash": "0x8dd0b1216e7970be06bd897ed57ebfba3f4213ec63d68aa622740608e93ffd5f", + "kind": "transparent" + }, + { + "address": "0x43881B05C3BE68B2d33eb70aDdF9F666C5005f68", + "txHash": "0xc78954aaf27ac09efe53c3650fa4ce4ff6bf2078eed0771c6e819dd82153f14c", + "kind": "transparent" + }, + { + "address": "0x92004DCC5359eD67f287F32d12715A37916deCdE", + "txHash": "0xa2818f6345d5e5779b5b09460ecd583810d3857e2e8ad4875e02c9ccba3ca19a", + "kind": "transparent" + }, + { + "address": "0xbA9FD2850965053Ffab368Df8AA7eD2486f11024", + "txHash": "0xb861ef514be9ff9bdb33a26320d5c7593c3bd5f9fe357a2f3f7d12ed21d00a74", + "kind": "transparent" + }, + { + "address": "0x6Be2f55816efd0d91f52720f096006d63c366e98", + "txHash": "0x1c8b8d8ced6b8eb1149d7834083748652d91502e7ab64e3761639417271e0c50", + "kind": "transparent" + }, + { + "address": "0x7CF9DEC92ca9FD46f8d86e7798B72624Bc116C05", + "txHash": "0xe5fbc5b251c15160cd203396ebd9a98dea27779867141fcf14dc76902a806d46", + "kind": "transparent" + }, + { + "address": "0x84303e5568C7B167fa4fEBc6253CDdfe12b7Ee4B", + "txHash": "0x01116c5cc7a54a3beb2d7e6988984043a4b3ae2b436286537314bf491e80dd7a", + "kind": "transparent" + }, + { + "address": "0x9aEBf5d6F9411BAc355021ddFbe9B2c756BDD358", + "txHash": "0xada18bd2275f9f851d0a480f519482233778ed088f4ce560fcdc5d45a67f5de1", + "kind": "transparent" + }, + { + "address": "0xc21511EDd1E6eCdc36e8aD4c82117033e50D5921", + "txHash": "0x5e9f602b5cd676797e2200f5f1c8f63cca4a01f2e25a58f335577229035adb50", + "kind": "transparent" + }, + { + "address": "0x5aeA6D35ED7B3B7aE78694B7da2Ee880756Af5C0", + "txHash": "0xa1089738f081f9bb657d5379ac9134d69917f84cf7414e41c0cfa5808d7f99dd", + "kind": "transparent" } ], "impls": { @@ -27343,7 +27393,3335 @@ "label": "mToken", "offset": 0, "slot": "355", - "type": "t_contract(IMTbill)12742", + "type": "t_contract(IMTbill)12742", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:66" + }, + { + "label": "mTokenDataFeed", + "offset": 0, + "slot": "356", + "type": "t_contract(IDataFeed)12561", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:71" + }, + { + "label": "tokensReceiver", + "offset": 0, + "slot": "357", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:76" + }, + { + "label": "instantFee", + "offset": 0, + "slot": "358", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:81" + }, + { + "label": "instantDailyLimit", + "offset": 0, + "slot": "359", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:88" + }, + { + "label": "dailyLimits", + "offset": 0, + "slot": "360", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:93" + }, + { + "label": "feeReceiver", + "offset": 0, + "slot": "361", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:98" + }, + { + "label": "variationTolerance", + "offset": 0, + "slot": "362", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:103" + }, + { + "label": "waivedFeeRestriction", + "offset": 0, + "slot": "363", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:108" + }, + { + "label": "_paymentTokens", + "offset": 0, + "slot": "364", + "type": "t_struct(AddressSet)3891_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:113" + }, + { + "label": "tokensConfig", + "offset": 0, + "slot": "366", + "type": "t_mapping(t_address,t_struct(TokenConfig)12755_storage)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:118" + }, + { + "label": "minAmount", + "offset": 0, + "slot": "367", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:123" + }, + { + "label": "isFreeFromMinAmount", + "offset": 0, + "slot": "368", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:128" + }, + { + "label": "__gap", + "offset": 0, + "slot": "369", + "type": "t_array(t_uint256)50_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:133" + }, + { + "label": "minFiatRedeemAmount", + "offset": 0, + "slot": "419", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:28" + }, + { + "label": "fiatAdditionalFee", + "offset": 0, + "slot": "420", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:33" + }, + { + "label": "fiatFlatFee", + "offset": 0, + "slot": "421", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:38" + }, + { + "label": "redeemRequests", + "offset": 0, + "slot": "422", + "type": "t_mapping(t_uint256,t_struct(Request)13019_storage)", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:43" + }, + { + "label": "requestRedeemer", + "offset": 0, + "slot": "423", + "type": "t_address", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:48" + }, + { + "label": "__gap", + "offset": 0, + "slot": "424", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:53" + }, + { + "label": "___gap", + "offset": 0, + "slot": "474", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:33" + }, + { + "label": "mTbillRedemptionVault", + "offset": 0, + "slot": "524", + "type": "t_contract(IRedemptionVault)13179", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:40" + }, + { + "label": "liquidityProvider", + "offset": 0, + "slot": "525", + "type": "t_address", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:42" + }, + { + "label": "__gap", + "offset": 0, + "slot": "526", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:47" + }, + { + "label": "__gap", + "offset": 0, + "slot": "576", + "type": "t_array(t_uint256)50_storage", + "contract": "HypeUsdRedemptionVaultWithSwapper", + "src": "contracts/hypeUSD/HypeUsdRedemptionVaultWithSwapper.sol:19" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_bytes32)dyn_storage": { + "label": "bytes32[]", + "numberOfBytes": "32" + }, + "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_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes4": { + "label": "bytes4", + "numberOfBytes": "4" + }, + "t_contract(IDataFeed)12561": { + "label": "contract IDataFeed", + "numberOfBytes": "20" + }, + "t_contract(IMTbill)12742": { + "label": "contract IMTbill", + "numberOfBytes": "20" + }, + "t_contract(IRedemptionVault)13179": { + "label": "contract IRedemptionVault", + "numberOfBytes": "20" + }, + "t_contract(MidasAccessControl)10482": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_enum(RequestStatus)12759": { + "label": "enum RequestStatus", + "members": ["Pending", "Processed", "Canceled"], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(TokenConfig)12755_storage)": { + "label": "mapping(address => struct TokenConfig)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_uint256)": { + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes4,t_bool)": { + "label": "mapping(bytes4 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Request)13019_storage)": { + "label": "mapping(uint256 => struct Request)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_struct(AddressSet)3891_storage": { + "label": "struct EnumerableSetUpgradeable.AddressSet", + "members": [ + { + "label": "_inner", + "type": "t_struct(Set)3576_storage", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "64" + }, + "t_struct(Counter)5983_storage": { + "label": "struct Counters.Counter", + "members": [ + { + "label": "_value", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Request)13019_storage": { + "label": "struct Request", + "members": [ + { + "label": "sender", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "tokenOut", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "status", + "type": "t_enum(RequestStatus)12759", + "offset": 20, + "slot": "1" + }, + { + "label": "amountMToken", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "mTokenRate", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "tokenOutRate", + "type": "t_uint256", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_struct(Set)3576_storage": { + "label": "struct EnumerableSetUpgradeable.Set", + "members": [ + { + "label": "_values", + "type": "t_array(t_bytes32)dyn_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "_indexes", + "type": "t_mapping(t_bytes32,t_uint256)", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(TokenConfig)12755_storage": { + "label": "struct TokenConfig", + "members": [ + { + "label": "dataFeed", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "allowance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "stable", + "type": "t_bool", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "b2320206751a1df107744aee889a5f98737a159b6bc1b5aaab48ca763196f857": { + "address": "0x5B1B9940c5c9D62a0E746F1B6BB93E82CdEB40Cc", + "txHash": "0x4efe159d8831fc2f5c59bb449c68fb797d5708b92be9c29ff3eda4cb323a32fe", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)10482", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "description", + "offset": 0, + "slot": "51", + "type": "t_string_storage", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:31" + }, + { + "label": "latestRound", + "offset": 0, + "slot": "52", + "type": "t_uint80", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:36" + }, + { + "label": "maxAnswerDeviation", + "offset": 0, + "slot": "53", + "type": "t_uint256", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:42" + }, + { + "label": "minAnswer", + "offset": 0, + "slot": "54", + "type": "t_int192", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:47" + }, + { + "label": "maxAnswer", + "offset": 0, + "slot": "55", + "type": "t_int192", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:52" + }, + { + "label": "_roundData", + "offset": 0, + "slot": "56", + "type": "t_mapping(t_uint80,t_struct(RoundData)11052_storage)", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:57" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(MidasAccessControl)10482": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_int192": { + "label": "int192", + "numberOfBytes": "24" + }, + "t_int256": { + "label": "int256", + "numberOfBytes": "32" + }, + "t_mapping(t_uint80,t_struct(RoundData)11052_storage)": { + "label": "mapping(uint80 => struct CustomAggregatorV3CompatibleFeed.RoundData)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(RoundData)11052_storage": { + "label": "struct CustomAggregatorV3CompatibleFeed.RoundData", + "members": [ + { + "label": "roundId", + "type": "t_uint80", + "offset": 0, + "slot": "0" + }, + { + "label": "answer", + "type": "t_int256", + "offset": 0, + "slot": "1" + }, + { + "label": "startedAt", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "updatedAt", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "answeredInRound", + "type": "t_uint80", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + }, + "t_uint80": { + "label": "uint80", + "numberOfBytes": "10" + } + } + } + }, + "2fe065be9018689937c04f8d83ba785bd13dbc23b2d40627b405ddc037cc0d4d": { + "address": "0x4A69474A376e9182Bf3F7d15a1e1aaEC97DA83B9", + "txHash": "0x389e3c36fd44669c0628facb04c35a5fdf96e41e80b34c4f86105ce671af52ae", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)11170", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_paused", + "offset": 0, + "slot": "101", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "fnPaused", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes4,t_bool)", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:14" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)50_storage", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:19" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)50_storage", + "contract": "Blacklistable", + "src": "contracts/access/Blacklistable.sol:16" + }, + { + "label": "greenlistEnabled", + "offset": 0, + "slot": "252", + "type": "t_bool", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "253", + "type": "t_array(t_uint256)50_storage", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:27" + }, + { + "label": "sanctionsList", + "offset": 0, + "slot": "303", + "type": "t_address", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:18" + }, + { + "label": "__gap", + "offset": 0, + "slot": "304", + "type": "t_array(t_uint256)50_storage", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:23" + }, + { + "label": "currentRequestId", + "offset": 0, + "slot": "354", + "type": "t_struct(Counter)6300_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:53" + }, + { + "label": "mToken", + "offset": 0, + "slot": "355", + "type": "t_contract(IMTbill)13229", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:66" + }, + { + "label": "mTokenDataFeed", + "offset": 0, + "slot": "356", + "type": "t_contract(IDataFeed)13048", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:71" + }, + { + "label": "tokensReceiver", + "offset": 0, + "slot": "357", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:76" + }, + { + "label": "instantFee", + "offset": 0, + "slot": "358", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:81" + }, + { + "label": "instantDailyLimit", + "offset": 0, + "slot": "359", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:88" + }, + { + "label": "dailyLimits", + "offset": 0, + "slot": "360", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:93" + }, + { + "label": "feeReceiver", + "offset": 0, + "slot": "361", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:98" + }, + { + "label": "variationTolerance", + "offset": 0, + "slot": "362", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:103" + }, + { + "label": "waivedFeeRestriction", + "offset": 0, + "slot": "363", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:108" + }, + { + "label": "_paymentTokens", + "offset": 0, + "slot": "364", + "type": "t_struct(AddressSet)3891_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:113" + }, + { + "label": "tokensConfig", + "offset": 0, + "slot": "366", + "type": "t_mapping(t_address,t_struct(TokenConfig)13242_storage)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:118" + }, + { + "label": "minAmount", + "offset": 0, + "slot": "367", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:123" + }, + { + "label": "isFreeFromMinAmount", + "offset": 0, + "slot": "368", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:128" + }, + { + "label": "__gap", + "offset": 0, + "slot": "369", + "type": "t_array(t_uint256)50_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:133" + }, + { + "label": "minFiatRedeemAmount", + "offset": 0, + "slot": "419", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:28" + }, + { + "label": "fiatAdditionalFee", + "offset": 0, + "slot": "420", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:33" + }, + { + "label": "fiatFlatFee", + "offset": 0, + "slot": "421", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:38" + }, + { + "label": "redeemRequests", + "offset": 0, + "slot": "422", + "type": "t_mapping(t_uint256,t_struct(Request)13506_storage)", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:43" + }, + { + "label": "requestRedeemer", + "offset": 0, + "slot": "423", + "type": "t_address", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:48" + }, + { + "label": "__gap", + "offset": 0, + "slot": "424", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:53" + }, + { + "label": "__deprecatedStorageSlot1", + "offset": 0, + "slot": "474", + "type": "t_uint256", + "contract": "RedemptionVaultWithUSTB", + "src": "contracts/RedemptionVaultWithUSTB.sol:24" + }, + { + "label": "__deprecatedStorageSlot2", + "offset": 0, + "slot": "475", + "type": "t_uint256", + "contract": "RedemptionVaultWithUSTB", + "src": "contracts/RedemptionVaultWithUSTB.sol:29" + }, + { + "label": "ustbRedemption", + "offset": 0, + "slot": "476", + "type": "t_contract(IUSTBRedemption)13981", + "contract": "RedemptionVaultWithUSTB", + "src": "contracts/RedemptionVaultWithUSTB.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "477", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVaultWithUSTB", + "src": "contracts/RedemptionVaultWithUSTB.sol:41" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_bytes32)dyn_storage": { + "label": "bytes32[]", + "numberOfBytes": "32" + }, + "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_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes4": { + "label": "bytes4", + "numberOfBytes": "4" + }, + "t_contract(IDataFeed)13048": { + "label": "contract IDataFeed", + "numberOfBytes": "20" + }, + "t_contract(IMTbill)13229": { + "label": "contract IMTbill", + "numberOfBytes": "20" + }, + "t_contract(IUSTBRedemption)13981": { + "label": "contract IUSTBRedemption", + "numberOfBytes": "20" + }, + "t_contract(MidasAccessControl)11170": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_enum(RequestStatus)13246": { + "label": "enum RequestStatus", + "members": ["Pending", "Processed", "Canceled"], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(TokenConfig)13242_storage)": { + "label": "mapping(address => struct TokenConfig)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_uint256)": { + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes4,t_bool)": { + "label": "mapping(bytes4 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Request)13506_storage)": { + "label": "mapping(uint256 => struct Request)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_struct(AddressSet)3891_storage": { + "label": "struct EnumerableSetUpgradeable.AddressSet", + "members": [ + { + "label": "_inner", + "type": "t_struct(Set)3576_storage", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "64" + }, + "t_struct(Counter)6300_storage": { + "label": "struct Counters.Counter", + "members": [ + { + "label": "_value", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Request)13506_storage": { + "label": "struct Request", + "members": [ + { + "label": "sender", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "tokenOut", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "status", + "type": "t_enum(RequestStatus)13246", + "offset": 20, + "slot": "1" + }, + { + "label": "amountMToken", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "mTokenRate", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "tokenOutRate", + "type": "t_uint256", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_struct(Set)3576_storage": { + "label": "struct EnumerableSetUpgradeable.Set", + "members": [ + { + "label": "_values", + "type": "t_array(t_bytes32)dyn_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "_indexes", + "type": "t_mapping(t_bytes32,t_uint256)", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(TokenConfig)13242_storage": { + "label": "struct TokenConfig", + "members": [ + { + "label": "dataFeed", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "allowance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "stable", + "type": "t_bool", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "abdf76929b08e654398c732b633d7bbef81d718154cb28c1d1e8e8d22d4ba583": { + "address": "0xd3c16F517D7572850d4AC4c1B8Cb4ADA47277185", + "txHash": "0x1d49240674ddada1f2ef1aa203027272ba4184b1dfae63353b3eebef0ded10de", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)3369", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "underlyingFeed", + "offset": 0, + "slot": "51", + "type": "t_contract(AggregatorV3Interface)45", + "contract": "CustomAggregatorV3CompatibleFeedDiscounted", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeedDiscounted.sol:24" + }, + { + "label": "discountPercentage", + "offset": 0, + "slot": "52", + "type": "t_uint256", + "contract": "CustomAggregatorV3CompatibleFeedDiscounted", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeedDiscounted.sol:30" + }, + { + "label": "__gap", + "offset": 0, + "slot": "53", + "type": "t_array(t_uint256)50_storage", + "contract": "MFOneCustomAggregatorFeedDiscounted", + "src": "contracts/mFONE/MFOneCustomAggregatorFeedDiscounted.sol:20" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(AggregatorV3Interface)45": { + "label": "contract AggregatorV3Interface", + "numberOfBytes": "20" + }, + "t_contract(MidasAccessControl)3369": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "925a319cbb14df371aa88cd44735e3e6450432236e54081060b50cda70aef918": { + "address": "0xE5A76db0560B3fa9996A6D6826Dda4f29a3AF6c3", + "txHash": "0xffb32bd5570ab0e01e9bc33d59cc268ae0dd9114385ea6f40add361aee5101b3", + "layout": { + "solcVersion": "0.8.9", + "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": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_balances", + "offset": 0, + "slot": "51", + "type": "t_mapping(t_address,t_uint256)", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:40" + }, + { + "label": "_allowances", + "offset": 0, + "slot": "52", + "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:42" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "53", + "type": "t_uint256", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:44" + }, + { + "label": "_name", + "offset": 0, + "slot": "54", + "type": "t_string_storage", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:46" + }, + { + "label": "_symbol", + "offset": 0, + "slot": "55", + "type": "t_string_storage", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:47" + }, + { + "label": "__gap", + "offset": 0, + "slot": "56", + "type": "t_array(t_uint256)45_storage", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:376" + }, + { + "label": "_paused", + "offset": 0, + "slot": "101", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "151", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC20PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PausableUpgradeable.sol:48" + }, + { + "label": "accessControl", + "offset": 0, + "slot": "201", + "type": "t_contract(MidasAccessControl)10482", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "252", + "type": "t_array(t_uint256)50_storage", + "contract": "Blacklistable", + "src": "contracts/access/Blacklistable.sol:16" + }, + { + "label": "metadata", + "offset": 0, + "slot": "302", + "type": "t_mapping(t_bytes32,t_bytes_storage)", + "contract": "mTBILL", + "src": "contracts/mTBILL/mTBILL.sol:18" + }, + { + "label": "__gap", + "offset": 0, + "slot": "303", + "type": "t_array(t_uint256)50_storage", + "contract": "mTBILL", + "src": "contracts/mTBILL/mTBILL.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "353", + "type": "t_array(t_uint256)50_storage", + "contract": "tUSDe", + "src": "contracts/tUSDe/tUSDe.sol:32" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)45_storage": { + "label": "uint256[45]", + "numberOfBytes": "1440" + }, + "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_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes_storage": { + "label": "bytes", + "numberOfBytes": "32" + }, + "t_contract(MidasAccessControl)10482": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_mapping(t_address,t_uint256))": { + "label": "mapping(address => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_bytes_storage)": { + "label": "mapping(bytes32 => bytes)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "c6a3b074c73e6e61ccfcda15e20c5dba054ef199ba6b31c7759f2d71f748db25": { + "address": "0x6f0C371f808996187729eD1bee13acE2E901d526", + "txHash": "0x227d9c4e25b2ababa09d21cd3d0d6494128f3492a1232151a905bc01c85e565f", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)10482", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "description", + "offset": 0, + "slot": "51", + "type": "t_string_storage", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:31" + }, + { + "label": "latestRound", + "offset": 0, + "slot": "52", + "type": "t_uint80", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:36" + }, + { + "label": "maxAnswerDeviation", + "offset": 0, + "slot": "53", + "type": "t_uint256", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:42" + }, + { + "label": "minAnswer", + "offset": 0, + "slot": "54", + "type": "t_int192", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:47" + }, + { + "label": "maxAnswer", + "offset": 0, + "slot": "55", + "type": "t_int192", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:52" + }, + { + "label": "_roundData", + "offset": 0, + "slot": "56", + "type": "t_mapping(t_uint80,t_struct(RoundData)11052_storage)", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "57", + "type": "t_array(t_uint256)50_storage", + "contract": "TUsdeCustomAggregatorFeed", + "src": "contracts/tUSDe/TUsdeCustomAggregatorFeed.sol:20" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(MidasAccessControl)10482": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_int192": { + "label": "int192", + "numberOfBytes": "24" + }, + "t_int256": { + "label": "int256", + "numberOfBytes": "32" + }, + "t_mapping(t_uint80,t_struct(RoundData)11052_storage)": { + "label": "mapping(uint80 => struct CustomAggregatorV3CompatibleFeed.RoundData)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(RoundData)11052_storage": { + "label": "struct CustomAggregatorV3CompatibleFeed.RoundData", + "members": [ + { + "label": "roundId", + "type": "t_uint80", + "offset": 0, + "slot": "0" + }, + { + "label": "answer", + "type": "t_int256", + "offset": 0, + "slot": "1" + }, + { + "label": "startedAt", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "updatedAt", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "answeredInRound", + "type": "t_uint80", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + }, + "t_uint80": { + "label": "uint80", + "numberOfBytes": "10" + } + } + } + }, + "d19437f99950702bf5c596323a2b55864cae5505652375f90f4dfefbc1e8aa59": { + "address": "0x507F409bA7e5eF489d5c0e3C4568B24985A029D0", + "txHash": "0x889c86ab8cb53fb381f4ff7ad6696593a2841dbe4cdc9a96c06da5e3234839ba", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)10482", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "aggregator", + "offset": 0, + "slot": "51", + "type": "t_contract(AggregatorV3Interface)45", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:22" + }, + { + "label": "healthyDiff", + "offset": 0, + "slot": "52", + "type": "t_uint256", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:27" + }, + { + "label": "minExpectedAnswer", + "offset": 0, + "slot": "53", + "type": "t_int256", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:32" + }, + { + "label": "maxExpectedAnswer", + "offset": 0, + "slot": "54", + "type": "t_int256", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:37" + }, + { + "label": "__gap", + "offset": 0, + "slot": "55", + "type": "t_array(t_uint256)50_storage", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:42" + }, + { + "label": "__gap", + "offset": 0, + "slot": "105", + "type": "t_array(t_uint256)50_storage", + "contract": "TUsdeDataFeed", + "src": "contracts/tUSDe/TUsdeDataFeed.sol:16" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(AggregatorV3Interface)45": { + "label": "contract AggregatorV3Interface", + "numberOfBytes": "20" + }, + "t_contract(MidasAccessControl)10482": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_int256": { + "label": "int256", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "37865741d626afc8ee5278fe677ab35d25f4a756635222e290ca4242cb4acb58": { + "address": "0x9b5908a5dbd4b3BF8863C33858dCCe2950b39198", + "txHash": "0x34e627e715a7ec3dd4bf4260a2561a6e51cc9a8268ea017f18ebb70b56c2ba6e", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)10482", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_paused", + "offset": 0, + "slot": "101", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "fnPaused", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes4,t_bool)", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:14" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)50_storage", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:19" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)50_storage", + "contract": "Blacklistable", + "src": "contracts/access/Blacklistable.sol:16" + }, + { + "label": "greenlistEnabled", + "offset": 0, + "slot": "252", + "type": "t_bool", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "253", + "type": "t_array(t_uint256)50_storage", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:27" + }, + { + "label": "sanctionsList", + "offset": 0, + "slot": "303", + "type": "t_address", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:18" + }, + { + "label": "__gap", + "offset": 0, + "slot": "304", + "type": "t_array(t_uint256)50_storage", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:23" + }, + { + "label": "currentRequestId", + "offset": 0, + "slot": "354", + "type": "t_struct(Counter)5983_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:53" + }, + { + "label": "mToken", + "offset": 0, + "slot": "355", + "type": "t_contract(IMTbill)12745", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:66" + }, + { + "label": "mTokenDataFeed", + "offset": 0, + "slot": "356", + "type": "t_contract(IDataFeed)12564", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:71" + }, + { + "label": "tokensReceiver", + "offset": 0, + "slot": "357", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:76" + }, + { + "label": "instantFee", + "offset": 0, + "slot": "358", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:81" + }, + { + "label": "instantDailyLimit", + "offset": 0, + "slot": "359", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:88" + }, + { + "label": "dailyLimits", + "offset": 0, + "slot": "360", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:93" + }, + { + "label": "feeReceiver", + "offset": 0, + "slot": "361", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:98" + }, + { + "label": "variationTolerance", + "offset": 0, + "slot": "362", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:103" + }, + { + "label": "waivedFeeRestriction", + "offset": 0, + "slot": "363", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:108" + }, + { + "label": "_paymentTokens", + "offset": 0, + "slot": "364", + "type": "t_struct(AddressSet)3891_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:113" + }, + { + "label": "tokensConfig", + "offset": 0, + "slot": "366", + "type": "t_mapping(t_address,t_struct(TokenConfig)12758_storage)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:118" + }, + { + "label": "minAmount", + "offset": 0, + "slot": "367", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:123" + }, + { + "label": "isFreeFromMinAmount", + "offset": 0, + "slot": "368", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:128" + }, + { + "label": "__gap", + "offset": 0, + "slot": "369", + "type": "t_array(t_uint256)50_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:133" + }, + { + "label": "minMTokenAmountForFirstDeposit", + "offset": 0, + "slot": "419", + "type": "t_uint256", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:26" + }, + { + "label": "mintRequests", + "offset": 0, + "slot": "420", + "type": "t_mapping(t_uint256,t_struct(Request)12581_storage)", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:31" + }, + { + "label": "totalMinted", + "offset": 0, + "slot": "421", + "type": "t_mapping(t_address,t_uint256)", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "422", + "type": "t_array(t_uint256)50_storage", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:41" + }, + { + "label": "__gap", + "offset": 0, + "slot": "472", + "type": "t_array(t_uint256)50_storage", + "contract": "TUsdeDepositVault", + "src": "contracts/tUSDe/TUsdeDepositVault.sol:16" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_bytes32)dyn_storage": { + "label": "bytes32[]", + "numberOfBytes": "32" + }, + "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_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes4": { + "label": "bytes4", + "numberOfBytes": "4" + }, + "t_contract(IDataFeed)12564": { + "label": "contract IDataFeed", + "numberOfBytes": "20" + }, + "t_contract(IMTbill)12745": { + "label": "contract IMTbill", + "numberOfBytes": "20" + }, + "t_contract(MidasAccessControl)10482": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_enum(RequestStatus)12762": { + "label": "enum RequestStatus", + "members": ["Pending", "Processed", "Canceled"], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(TokenConfig)12758_storage)": { + "label": "mapping(address => struct TokenConfig)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_uint256)": { + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes4,t_bool)": { + "label": "mapping(bytes4 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Request)12581_storage)": { + "label": "mapping(uint256 => struct Request)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_struct(AddressSet)3891_storage": { + "label": "struct EnumerableSetUpgradeable.AddressSet", + "members": [ + { + "label": "_inner", + "type": "t_struct(Set)3576_storage", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "64" + }, + "t_struct(Counter)5983_storage": { + "label": "struct Counters.Counter", + "members": [ + { + "label": "_value", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Request)12581_storage": { + "label": "struct Request", + "members": [ + { + "label": "sender", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "tokenIn", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "status", + "type": "t_enum(RequestStatus)12762", + "offset": 20, + "slot": "1" + }, + { + "label": "depositedUsdAmount", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "usdAmountWithoutFees", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "tokenOutRate", + "type": "t_uint256", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_struct(Set)3576_storage": { + "label": "struct EnumerableSetUpgradeable.Set", + "members": [ + { + "label": "_values", + "type": "t_array(t_bytes32)dyn_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "_indexes", + "type": "t_mapping(t_bytes32,t_uint256)", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(TokenConfig)12758_storage": { + "label": "struct TokenConfig", + "members": [ + { + "label": "dataFeed", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "allowance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "stable", + "type": "t_bool", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "370c3061858727d2f90a3a21d887549235b65e82edd5f9fb4c78acdd8ee7ccab": { + "address": "0x1ac3e68eA5e9DBC592246e2D0D57913aFF77a603", + "txHash": "0xf4e1984aa4801e7a0cc857480bd12e2085a94d57a94efb053331ee00befeee86", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)10482", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_paused", + "offset": 0, + "slot": "101", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "fnPaused", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes4,t_bool)", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:14" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)50_storage", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:19" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)50_storage", + "contract": "Blacklistable", + "src": "contracts/access/Blacklistable.sol:16" + }, + { + "label": "greenlistEnabled", + "offset": 0, + "slot": "252", + "type": "t_bool", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "253", + "type": "t_array(t_uint256)50_storage", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:27" + }, + { + "label": "sanctionsList", + "offset": 0, + "slot": "303", + "type": "t_address", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:18" + }, + { + "label": "__gap", + "offset": 0, + "slot": "304", + "type": "t_array(t_uint256)50_storage", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:23" + }, + { + "label": "currentRequestId", + "offset": 0, + "slot": "354", + "type": "t_struct(Counter)5983_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:53" + }, + { + "label": "mToken", + "offset": 0, + "slot": "355", + "type": "t_contract(IMTbill)12745", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:66" + }, + { + "label": "mTokenDataFeed", + "offset": 0, + "slot": "356", + "type": "t_contract(IDataFeed)12564", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:71" + }, + { + "label": "tokensReceiver", + "offset": 0, + "slot": "357", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:76" + }, + { + "label": "instantFee", + "offset": 0, + "slot": "358", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:81" + }, + { + "label": "instantDailyLimit", + "offset": 0, + "slot": "359", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:88" + }, + { + "label": "dailyLimits", + "offset": 0, + "slot": "360", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:93" + }, + { + "label": "feeReceiver", + "offset": 0, + "slot": "361", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:98" + }, + { + "label": "variationTolerance", + "offset": 0, + "slot": "362", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:103" + }, + { + "label": "waivedFeeRestriction", + "offset": 0, + "slot": "363", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:108" + }, + { + "label": "_paymentTokens", + "offset": 0, + "slot": "364", + "type": "t_struct(AddressSet)3891_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:113" + }, + { + "label": "tokensConfig", + "offset": 0, + "slot": "366", + "type": "t_mapping(t_address,t_struct(TokenConfig)12758_storage)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:118" + }, + { + "label": "minAmount", + "offset": 0, + "slot": "367", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:123" + }, + { + "label": "isFreeFromMinAmount", + "offset": 0, + "slot": "368", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:128" + }, + { + "label": "__gap", + "offset": 0, + "slot": "369", + "type": "t_array(t_uint256)50_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:133" + }, + { + "label": "minFiatRedeemAmount", + "offset": 0, + "slot": "419", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:28" + }, + { + "label": "fiatAdditionalFee", + "offset": 0, + "slot": "420", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:33" + }, + { + "label": "fiatFlatFee", + "offset": 0, + "slot": "421", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:38" + }, + { + "label": "redeemRequests", + "offset": 0, + "slot": "422", + "type": "t_mapping(t_uint256,t_struct(Request)13022_storage)", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:43" + }, + { + "label": "requestRedeemer", + "offset": 0, + "slot": "423", + "type": "t_address", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:48" + }, + { + "label": "__gap", + "offset": 0, + "slot": "424", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:53" + }, + { + "label": "___gap", + "offset": 0, + "slot": "474", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:33" + }, + { + "label": "mTbillRedemptionVault", + "offset": 0, + "slot": "524", + "type": "t_contract(IRedemptionVault)13182", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:40" + }, + { + "label": "liquidityProvider", + "offset": 0, + "slot": "525", + "type": "t_address", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:42" + }, + { + "label": "__gap", + "offset": 0, + "slot": "526", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:47" + }, + { + "label": "__gap", + "offset": 0, + "slot": "576", + "type": "t_array(t_uint256)50_storage", + "contract": "TUsdeRedemptionVaultWithSwapper", + "src": "contracts/tUSDe/TUsdeRedemptionVaultWithSwapper.sol:19" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_bytes32)dyn_storage": { + "label": "bytes32[]", + "numberOfBytes": "32" + }, + "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_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes4": { + "label": "bytes4", + "numberOfBytes": "4" + }, + "t_contract(IDataFeed)12564": { + "label": "contract IDataFeed", + "numberOfBytes": "20" + }, + "t_contract(IMTbill)12745": { + "label": "contract IMTbill", + "numberOfBytes": "20" + }, + "t_contract(IRedemptionVault)13182": { + "label": "contract IRedemptionVault", + "numberOfBytes": "20" + }, + "t_contract(MidasAccessControl)10482": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_enum(RequestStatus)12762": { + "label": "enum RequestStatus", + "members": ["Pending", "Processed", "Canceled"], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(TokenConfig)12758_storage)": { + "label": "mapping(address => struct TokenConfig)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_uint256)": { + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes4,t_bool)": { + "label": "mapping(bytes4 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Request)13022_storage)": { + "label": "mapping(uint256 => struct Request)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_struct(AddressSet)3891_storage": { + "label": "struct EnumerableSetUpgradeable.AddressSet", + "members": [ + { + "label": "_inner", + "type": "t_struct(Set)3576_storage", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "64" + }, + "t_struct(Counter)5983_storage": { + "label": "struct Counters.Counter", + "members": [ + { + "label": "_value", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Request)13022_storage": { + "label": "struct Request", + "members": [ + { + "label": "sender", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "tokenOut", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "status", + "type": "t_enum(RequestStatus)12762", + "offset": 20, + "slot": "1" + }, + { + "label": "amountMToken", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "mTokenRate", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "tokenOutRate", + "type": "t_uint256", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_struct(Set)3576_storage": { + "label": "struct EnumerableSetUpgradeable.Set", + "members": [ + { + "label": "_values", + "type": "t_array(t_bytes32)dyn_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "_indexes", + "type": "t_mapping(t_bytes32,t_uint256)", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(TokenConfig)12758_storage": { + "label": "struct TokenConfig", + "members": [ + { + "label": "dataFeed", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "allowance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "stable", + "type": "t_bool", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "89134a42406d9cd366c453c64f00bf13034aec5ab56511768d015ef94ac0cea9": { + "address": "0x72CCa9794018c10Ce47Af3fc8D47E167D0761e96", + "txHash": "0x703ef0cb90fe95405dc28c5106486297f4f54ed23febefcd3cc1a3e7dc9d3f63", + "layout": { + "solcVersion": "0.8.9", + "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": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_balances", + "offset": 0, + "slot": "51", + "type": "t_mapping(t_address,t_uint256)", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:40" + }, + { + "label": "_allowances", + "offset": 0, + "slot": "52", + "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:42" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "53", + "type": "t_uint256", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:44" + }, + { + "label": "_name", + "offset": 0, + "slot": "54", + "type": "t_string_storage", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:46" + }, + { + "label": "_symbol", + "offset": 0, + "slot": "55", + "type": "t_string_storage", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:47" + }, + { + "label": "__gap", + "offset": 0, + "slot": "56", + "type": "t_array(t_uint256)45_storage", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:376" + }, + { + "label": "_paused", + "offset": 0, + "slot": "101", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "151", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC20PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PausableUpgradeable.sol:48" + }, + { + "label": "accessControl", + "offset": 0, + "slot": "201", + "type": "t_contract(MidasAccessControl)10482", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "252", + "type": "t_array(t_uint256)50_storage", + "contract": "Blacklistable", + "src": "contracts/access/Blacklistable.sol:16" + }, + { + "label": "metadata", + "offset": 0, + "slot": "302", + "type": "t_mapping(t_bytes32,t_bytes_storage)", + "contract": "mTBILL", + "src": "contracts/mTBILL/mTBILL.sol:18" + }, + { + "label": "__gap", + "offset": 0, + "slot": "303", + "type": "t_array(t_uint256)50_storage", + "contract": "mTBILL", + "src": "contracts/mTBILL/mTBILL.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "353", + "type": "t_array(t_uint256)50_storage", + "contract": "tETH", + "src": "contracts/tETH/tETH.sol:32" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)45_storage": { + "label": "uint256[45]", + "numberOfBytes": "1440" + }, + "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_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes_storage": { + "label": "bytes", + "numberOfBytes": "32" + }, + "t_contract(MidasAccessControl)10482": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_mapping(t_address,t_uint256))": { + "label": "mapping(address => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_bytes_storage)": { + "label": "mapping(bytes32 => bytes)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "c13724da9f84ac97b4f2cb789dcd0da966963933ae153e610652c171058e313a": { + "address": "0x42E82B2Ee52cdc922CFeD82bFCEF90ADa31215b5", + "txHash": "0x627b766dec568ef1541ed7522faaa9263cecff570b71abdd63771378af86b626", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)10482", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "description", + "offset": 0, + "slot": "51", + "type": "t_string_storage", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:31" + }, + { + "label": "latestRound", + "offset": 0, + "slot": "52", + "type": "t_uint80", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:36" + }, + { + "label": "maxAnswerDeviation", + "offset": 0, + "slot": "53", + "type": "t_uint256", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:42" + }, + { + "label": "minAnswer", + "offset": 0, + "slot": "54", + "type": "t_int192", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:47" + }, + { + "label": "maxAnswer", + "offset": 0, + "slot": "55", + "type": "t_int192", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:52" + }, + { + "label": "_roundData", + "offset": 0, + "slot": "56", + "type": "t_mapping(t_uint80,t_struct(RoundData)11052_storage)", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "57", + "type": "t_array(t_uint256)50_storage", + "contract": "TEthCustomAggregatorFeed", + "src": "contracts/tETH/TEthCustomAggregatorFeed.sol:20" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(MidasAccessControl)10482": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_int192": { + "label": "int192", + "numberOfBytes": "24" + }, + "t_int256": { + "label": "int256", + "numberOfBytes": "32" + }, + "t_mapping(t_uint80,t_struct(RoundData)11052_storage)": { + "label": "mapping(uint80 => struct CustomAggregatorV3CompatibleFeed.RoundData)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(RoundData)11052_storage": { + "label": "struct CustomAggregatorV3CompatibleFeed.RoundData", + "members": [ + { + "label": "roundId", + "type": "t_uint80", + "offset": 0, + "slot": "0" + }, + { + "label": "answer", + "type": "t_int256", + "offset": 0, + "slot": "1" + }, + { + "label": "startedAt", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "updatedAt", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "answeredInRound", + "type": "t_uint80", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + }, + "t_uint80": { + "label": "uint80", + "numberOfBytes": "10" + } + } + } + }, + "691009af6a0742458207d70de074f8e7a3ac991dee1b7b2b5b3106920c515fab": { + "address": "0xC434E7da0803FE3a1CCFd491f123Ba1D4C69fc87", + "txHash": "0xd5c71fd40d6adff9819c6e6a66f505e8020a5425ad358d64543d38ff35658941", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)10482", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "aggregator", + "offset": 0, + "slot": "51", + "type": "t_contract(AggregatorV3Interface)45", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:22" + }, + { + "label": "healthyDiff", + "offset": 0, + "slot": "52", + "type": "t_uint256", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:27" + }, + { + "label": "minExpectedAnswer", + "offset": 0, + "slot": "53", + "type": "t_int256", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:32" + }, + { + "label": "maxExpectedAnswer", + "offset": 0, + "slot": "54", + "type": "t_int256", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:37" + }, + { + "label": "__gap", + "offset": 0, + "slot": "55", + "type": "t_array(t_uint256)50_storage", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:42" + }, + { + "label": "__gap", + "offset": 0, + "slot": "105", + "type": "t_array(t_uint256)50_storage", + "contract": "TEthDataFeed", + "src": "contracts/tETH/TEthDataFeed.sol:16" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(AggregatorV3Interface)45": { + "label": "contract AggregatorV3Interface", + "numberOfBytes": "20" + }, + "t_contract(MidasAccessControl)10482": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_int256": { + "label": "int256", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "04bbf673c669dd5501d5eec9cb2ac93be8c0974afdd7c145ff2b879dc737070b": { + "address": "0x46eab5259E1a2f18CbBfEeAa093130A456D09e78", + "txHash": "0x608785ec7146cfbbb093a150f46599ef62a09853c25e437be23ba9f670628558", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)10482", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_paused", + "offset": 0, + "slot": "101", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "fnPaused", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes4,t_bool)", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:14" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)50_storage", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:19" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)50_storage", + "contract": "Blacklistable", + "src": "contracts/access/Blacklistable.sol:16" + }, + { + "label": "greenlistEnabled", + "offset": 0, + "slot": "252", + "type": "t_bool", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "253", + "type": "t_array(t_uint256)50_storage", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:27" + }, + { + "label": "sanctionsList", + "offset": 0, + "slot": "303", + "type": "t_address", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:18" + }, + { + "label": "__gap", + "offset": 0, + "slot": "304", + "type": "t_array(t_uint256)50_storage", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:23" + }, + { + "label": "currentRequestId", + "offset": 0, + "slot": "354", + "type": "t_struct(Counter)5983_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:53" + }, + { + "label": "mToken", + "offset": 0, + "slot": "355", + "type": "t_contract(IMTbill)12745", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:66" }, @@ -27351,7 +30729,7 @@ "label": "mTokenDataFeed", "offset": 0, "slot": "356", - "type": "t_contract(IDataFeed)12561", + "type": "t_contract(IDataFeed)12564", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:71" }, @@ -27423,7 +30801,7 @@ "label": "tokensConfig", "offset": 0, "slot": "366", - "type": "t_mapping(t_address,t_struct(TokenConfig)12755_storage)", + "type": "t_mapping(t_address,t_struct(TokenConfig)12758_storage)", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:118" }, @@ -27452,92 +30830,44 @@ "src": "contracts/abstract/ManageableVault.sol:133" }, { - "label": "minFiatRedeemAmount", + "label": "minMTokenAmountForFirstDeposit", "offset": 0, "slot": "419", "type": "t_uint256", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:28" + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:26" }, { - "label": "fiatAdditionalFee", + "label": "mintRequests", "offset": 0, "slot": "420", - "type": "t_uint256", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:33" + "type": "t_mapping(t_uint256,t_struct(Request)12581_storage)", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:31" }, { - "label": "fiatFlatFee", + "label": "totalMinted", "offset": 0, "slot": "421", - "type": "t_uint256", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:38" - }, - { - "label": "redeemRequests", - "offset": 0, - "slot": "422", - "type": "t_mapping(t_uint256,t_struct(Request)13019_storage)", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:43" - }, - { - "label": "requestRedeemer", - "offset": 0, - "slot": "423", - "type": "t_address", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:48" - }, - { - "label": "__gap", - "offset": 0, - "slot": "424", - "type": "t_array(t_uint256)50_storage", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:53" - }, - { - "label": "___gap", - "offset": 0, - "slot": "474", - "type": "t_array(t_uint256)50_storage", - "contract": "RedemptionVaultWithSwapper", - "src": "contracts/RedemptionVaultWithSwapper.sol:33" - }, - { - "label": "mTbillRedemptionVault", - "offset": 0, - "slot": "524", - "type": "t_contract(IRedemptionVault)13179", - "contract": "RedemptionVaultWithSwapper", - "src": "contracts/RedemptionVaultWithSwapper.sol:40" - }, - { - "label": "liquidityProvider", - "offset": 0, - "slot": "525", - "type": "t_address", - "contract": "RedemptionVaultWithSwapper", - "src": "contracts/RedemptionVaultWithSwapper.sol:42" + "type": "t_mapping(t_address,t_uint256)", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:36" }, { "label": "__gap", "offset": 0, - "slot": "526", + "slot": "422", "type": "t_array(t_uint256)50_storage", - "contract": "RedemptionVaultWithSwapper", - "src": "contracts/RedemptionVaultWithSwapper.sol:47" + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:41" }, { "label": "__gap", "offset": 0, - "slot": "576", + "slot": "472", "type": "t_array(t_uint256)50_storage", - "contract": "HypeUsdRedemptionVaultWithSwapper", - "src": "contracts/hypeUSD/HypeUsdRedemptionVaultWithSwapper.sol:19" + "contract": "TEthDepositVault", + "src": "contracts/tETH/TEthDepositVault.sol:16" } ], "types": { @@ -27569,23 +30899,19 @@ "label": "bytes4", "numberOfBytes": "4" }, - "t_contract(IDataFeed)12561": { + "t_contract(IDataFeed)12564": { "label": "contract IDataFeed", "numberOfBytes": "20" }, - "t_contract(IMTbill)12742": { + "t_contract(IMTbill)12745": { "label": "contract IMTbill", "numberOfBytes": "20" }, - "t_contract(IRedemptionVault)13179": { - "label": "contract IRedemptionVault", - "numberOfBytes": "20" - }, "t_contract(MidasAccessControl)10482": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, - "t_enum(RequestStatus)12759": { + "t_enum(RequestStatus)12762": { "label": "enum RequestStatus", "members": ["Pending", "Processed", "Canceled"], "numberOfBytes": "1" @@ -27594,10 +30920,14 @@ "label": "mapping(address => bool)", "numberOfBytes": "32" }, - "t_mapping(t_address,t_struct(TokenConfig)12755_storage)": { + "t_mapping(t_address,t_struct(TokenConfig)12758_storage)": { "label": "mapping(address => struct TokenConfig)", "numberOfBytes": "32" }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, "t_mapping(t_bytes32,t_uint256)": { "label": "mapping(bytes32 => uint256)", "numberOfBytes": "32" @@ -27606,7 +30936,7 @@ "label": "mapping(bytes4 => bool)", "numberOfBytes": "32" }, - "t_mapping(t_uint256,t_struct(Request)13019_storage)": { + "t_mapping(t_uint256,t_struct(Request)12581_storage)": { "label": "mapping(uint256 => struct Request)", "numberOfBytes": "32" }, @@ -27638,7 +30968,7 @@ ], "numberOfBytes": "32" }, - "t_struct(Request)13019_storage": { + "t_struct(Request)12581_storage": { "label": "struct Request", "members": [ { @@ -27648,25 +30978,25 @@ "slot": "0" }, { - "label": "tokenOut", + "label": "tokenIn", "type": "t_address", "offset": 0, "slot": "1" }, { "label": "status", - "type": "t_enum(RequestStatus)12759", + "type": "t_enum(RequestStatus)12762", "offset": 20, "slot": "1" }, { - "label": "amountMToken", + "label": "depositedUsdAmount", "type": "t_uint256", "offset": 0, "slot": "2" }, { - "label": "mTokenRate", + "label": "usdAmountWithoutFees", "type": "t_uint256", "offset": 0, "slot": "3" @@ -27698,7 +31028,7 @@ ], "numberOfBytes": "64" }, - "t_struct(TokenConfig)12755_storage": { + "t_struct(TokenConfig)12758_storage": { "label": "struct TokenConfig", "members": [ { @@ -27739,9 +31069,9 @@ } } }, - "b2320206751a1df107744aee889a5f98737a159b6bc1b5aaab48ca763196f857": { - "address": "0x5B1B9940c5c9D62a0E746F1B6BB93E82CdEB40Cc", - "txHash": "0x4efe159d8831fc2f5c59bb449c68fb797d5708b92be9c29ff3eda4cb323a32fe", + "08ad3a045c27902103dff1f2a2d35de2adde269ff9dabf1742209630ab75dde6": { + "address": "0xe54778946e51F73316e96085DcC06Bd8021D9c05", + "txHash": "0x707381f58012534b84dd5fb0fc669227c87c6a88513899f40c50ad62736b7597", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -27778,174 +31108,6 @@ "contract": "WithMidasAccessControl", "src": "contracts/access/WithMidasAccessControl.sol:29" }, - { - "label": "description", - "offset": 0, - "slot": "51", - "type": "t_string_storage", - "contract": "CustomAggregatorV3CompatibleFeed", - "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:31" - }, - { - "label": "latestRound", - "offset": 0, - "slot": "52", - "type": "t_uint80", - "contract": "CustomAggregatorV3CompatibleFeed", - "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:36" - }, - { - "label": "maxAnswerDeviation", - "offset": 0, - "slot": "53", - "type": "t_uint256", - "contract": "CustomAggregatorV3CompatibleFeed", - "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:42" - }, - { - "label": "minAnswer", - "offset": 0, - "slot": "54", - "type": "t_int192", - "contract": "CustomAggregatorV3CompatibleFeed", - "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:47" - }, - { - "label": "maxAnswer", - "offset": 0, - "slot": "55", - "type": "t_int192", - "contract": "CustomAggregatorV3CompatibleFeed", - "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:52" - }, - { - "label": "_roundData", - "offset": 0, - "slot": "56", - "type": "t_mapping(t_uint80,t_struct(RoundData)11052_storage)", - "contract": "CustomAggregatorV3CompatibleFeed", - "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:57" - } - ], - "types": { - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_contract(MidasAccessControl)10482": { - "label": "contract MidasAccessControl", - "numberOfBytes": "20" - }, - "t_int192": { - "label": "int192", - "numberOfBytes": "24" - }, - "t_int256": { - "label": "int256", - "numberOfBytes": "32" - }, - "t_mapping(t_uint80,t_struct(RoundData)11052_storage)": { - "label": "mapping(uint80 => struct CustomAggregatorV3CompatibleFeed.RoundData)", - "numberOfBytes": "32" - }, - "t_string_storage": { - "label": "string", - "numberOfBytes": "32" - }, - "t_struct(RoundData)11052_storage": { - "label": "struct CustomAggregatorV3CompatibleFeed.RoundData", - "members": [ - { - "label": "roundId", - "type": "t_uint80", - "offset": 0, - "slot": "0" - }, - { - "label": "answer", - "type": "t_int256", - "offset": 0, - "slot": "1" - }, - { - "label": "startedAt", - "type": "t_uint256", - "offset": 0, - "slot": "2" - }, - { - "label": "updatedAt", - "type": "t_uint256", - "offset": 0, - "slot": "3" - }, - { - "label": "answeredInRound", - "type": "t_uint80", - "offset": 0, - "slot": "4" - } - ], - "numberOfBytes": "160" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - }, - "t_uint80": { - "label": "uint80", - "numberOfBytes": "10" - } - } - } - }, - "2fe065be9018689937c04f8d83ba785bd13dbc23b2d40627b405ddc037cc0d4d": { - "address": "0x4A69474A376e9182Bf3F7d15a1e1aaEC97DA83B9", - "txHash": "0x389e3c36fd44669c0628facb04c35a5fdf96e41e80b34c4f86105ce671af52ae", - "layout": { - "solcVersion": "0.8.9", - "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": "accessControl", - "offset": 2, - "slot": "0", - "type": "t_contract(MidasAccessControl)11170", - "contract": "WithMidasAccessControl", - "src": "contracts/access/WithMidasAccessControl.sol:24" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "WithMidasAccessControl", - "src": "contracts/access/WithMidasAccessControl.sol:29" - }, { "label": "__gap", "offset": 0, @@ -28030,7 +31192,7 @@ "label": "currentRequestId", "offset": 0, "slot": "354", - "type": "t_struct(Counter)6300_storage", + "type": "t_struct(Counter)5983_storage", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:53" }, @@ -28038,7 +31200,7 @@ "label": "mToken", "offset": 0, "slot": "355", - "type": "t_contract(IMTbill)13229", + "type": "t_contract(IMTbill)12745", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:66" }, @@ -28046,7 +31208,7 @@ "label": "mTokenDataFeed", "offset": 0, "slot": "356", - "type": "t_contract(IDataFeed)13048", + "type": "t_contract(IDataFeed)12564", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:71" }, @@ -28118,7 +31280,7 @@ "label": "tokensConfig", "offset": 0, "slot": "366", - "type": "t_mapping(t_address,t_struct(TokenConfig)13242_storage)", + "type": "t_mapping(t_address,t_struct(TokenConfig)12758_storage)", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:118" }, @@ -28174,7 +31336,7 @@ "label": "redeemRequests", "offset": 0, "slot": "422", - "type": "t_mapping(t_uint256,t_struct(Request)13506_storage)", + "type": "t_mapping(t_uint256,t_struct(Request)13022_storage)", "contract": "RedemptionVault", "src": "contracts/RedemptionVault.sol:43" }, @@ -28195,36 +31357,44 @@ "src": "contracts/RedemptionVault.sol:53" }, { - "label": "__deprecatedStorageSlot1", + "label": "___gap", "offset": 0, "slot": "474", - "type": "t_uint256", - "contract": "RedemptionVaultWithUSTB", - "src": "contracts/RedemptionVaultWithUSTB.sol:24" + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:33" }, { - "label": "__deprecatedStorageSlot2", + "label": "mTbillRedemptionVault", "offset": 0, - "slot": "475", - "type": "t_uint256", - "contract": "RedemptionVaultWithUSTB", - "src": "contracts/RedemptionVaultWithUSTB.sol:29" + "slot": "524", + "type": "t_contract(IRedemptionVault)13182", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:40" }, { - "label": "ustbRedemption", + "label": "liquidityProvider", "offset": 0, - "slot": "476", - "type": "t_contract(IUSTBRedemption)13981", - "contract": "RedemptionVaultWithUSTB", - "src": "contracts/RedemptionVaultWithUSTB.sol:36" + "slot": "525", + "type": "t_address", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:42" }, { "label": "__gap", "offset": 0, - "slot": "477", + "slot": "526", "type": "t_array(t_uint256)50_storage", - "contract": "RedemptionVaultWithUSTB", - "src": "contracts/RedemptionVaultWithUSTB.sol:41" + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:47" + }, + { + "label": "__gap", + "offset": 0, + "slot": "576", + "type": "t_array(t_uint256)50_storage", + "contract": "TEthRedemptionVaultWithSwapper", + "src": "contracts/tETH/TEthRedemptionVaultWithSwapper.sol:19" } ], "types": { @@ -28256,23 +31426,23 @@ "label": "bytes4", "numberOfBytes": "4" }, - "t_contract(IDataFeed)13048": { + "t_contract(IDataFeed)12564": { "label": "contract IDataFeed", "numberOfBytes": "20" }, - "t_contract(IMTbill)13229": { + "t_contract(IMTbill)12745": { "label": "contract IMTbill", "numberOfBytes": "20" }, - "t_contract(IUSTBRedemption)13981": { - "label": "contract IUSTBRedemption", + "t_contract(IRedemptionVault)13182": { + "label": "contract IRedemptionVault", "numberOfBytes": "20" }, - "t_contract(MidasAccessControl)11170": { + "t_contract(MidasAccessControl)10482": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, - "t_enum(RequestStatus)13246": { + "t_enum(RequestStatus)12762": { "label": "enum RequestStatus", "members": ["Pending", "Processed", "Canceled"], "numberOfBytes": "1" @@ -28281,7 +31451,7 @@ "label": "mapping(address => bool)", "numberOfBytes": "32" }, - "t_mapping(t_address,t_struct(TokenConfig)13242_storage)": { + "t_mapping(t_address,t_struct(TokenConfig)12758_storage)": { "label": "mapping(address => struct TokenConfig)", "numberOfBytes": "32" }, @@ -28293,7 +31463,7 @@ "label": "mapping(bytes4 => bool)", "numberOfBytes": "32" }, - "t_mapping(t_uint256,t_struct(Request)13506_storage)": { + "t_mapping(t_uint256,t_struct(Request)13022_storage)": { "label": "mapping(uint256 => struct Request)", "numberOfBytes": "32" }, @@ -28313,7 +31483,7 @@ ], "numberOfBytes": "64" }, - "t_struct(Counter)6300_storage": { + "t_struct(Counter)5983_storage": { "label": "struct Counters.Counter", "members": [ { @@ -28325,7 +31495,7 @@ ], "numberOfBytes": "32" }, - "t_struct(Request)13506_storage": { + "t_struct(Request)13022_storage": { "label": "struct Request", "members": [ { @@ -28342,7 +31512,7 @@ }, { "label": "status", - "type": "t_enum(RequestStatus)13246", + "type": "t_enum(RequestStatus)12762", "offset": 20, "slot": "1" }, @@ -28385,7 +31555,7 @@ ], "numberOfBytes": "64" }, - "t_struct(TokenConfig)13242_storage": { + "t_struct(TokenConfig)12758_storage": { "label": "struct TokenConfig", "members": [ { @@ -28426,101 +31596,9 @@ } } }, - "abdf76929b08e654398c732b633d7bbef81d718154cb28c1d1e8e8d22d4ba583": { - "address": "0xd3c16F517D7572850d4AC4c1B8Cb4ADA47277185", - "txHash": "0x1d49240674ddada1f2ef1aa203027272ba4184b1dfae63353b3eebef0ded10de", - "layout": { - "solcVersion": "0.8.9", - "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": "accessControl", - "offset": 2, - "slot": "0", - "type": "t_contract(MidasAccessControl)3369", - "contract": "WithMidasAccessControl", - "src": "contracts/access/WithMidasAccessControl.sol:24" - }, - { - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage", - "contract": "WithMidasAccessControl", - "src": "contracts/access/WithMidasAccessControl.sol:29" - }, - { - "label": "underlyingFeed", - "offset": 0, - "slot": "51", - "type": "t_contract(AggregatorV3Interface)45", - "contract": "CustomAggregatorV3CompatibleFeedDiscounted", - "src": "contracts/feeds/CustomAggregatorV3CompatibleFeedDiscounted.sol:24" - }, - { - "label": "discountPercentage", - "offset": 0, - "slot": "52", - "type": "t_uint256", - "contract": "CustomAggregatorV3CompatibleFeedDiscounted", - "src": "contracts/feeds/CustomAggregatorV3CompatibleFeedDiscounted.sol:30" - }, - { - "label": "__gap", - "offset": 0, - "slot": "53", - "type": "t_array(t_uint256)50_storage", - "contract": "MFOneCustomAggregatorFeedDiscounted", - "src": "contracts/mFONE/MFOneCustomAggregatorFeedDiscounted.sol:20" - } - ], - "types": { - "t_array(t_uint256)50_storage": { - "label": "uint256[50]", - "numberOfBytes": "1600" - }, - "t_bool": { - "label": "bool", - "numberOfBytes": "1" - }, - "t_contract(AggregatorV3Interface)45": { - "label": "contract AggregatorV3Interface", - "numberOfBytes": "20" - }, - "t_contract(MidasAccessControl)3369": { - "label": "contract MidasAccessControl", - "numberOfBytes": "20" - }, - "t_uint256": { - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "label": "uint8", - "numberOfBytes": "1" - } - } - } - }, - "925a319cbb14df371aa88cd44735e3e6450432236e54081060b50cda70aef918": { - "address": "0xE5A76db0560B3fa9996A6D6826Dda4f29a3AF6c3", - "txHash": "0xffb32bd5570ab0e01e9bc33d59cc268ae0dd9114385ea6f40add361aee5101b3", + "f9bf8535d408e2e5984d8b6fa1d555f5a64a5b994759475111de6ca80281df96": { + "address": "0x4eEd111A10c25a739B0d72Bd2383F958b9fDE211", + "txHash": "0xbd17d8e3c9bae65b66e040a3d9849ba5058dbf260031c7eb95bcf1276de5f83c", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -28666,8 +31744,8 @@ "offset": 0, "slot": "353", "type": "t_array(t_uint256)50_storage", - "contract": "tUSDe", - "src": "contracts/tUSDe/tUSDe.sol:32" + "contract": "tBTC", + "src": "contracts/tBTC/tBTC.sol:32" } ], "types": { @@ -28730,9 +31808,9 @@ } } }, - "c6a3b074c73e6e61ccfcda15e20c5dba054ef199ba6b31c7759f2d71f748db25": { - "address": "0x6f0C371f808996187729eD1bee13acE2E901d526", - "txHash": "0x227d9c4e25b2ababa09d21cd3d0d6494128f3492a1232151a905bc01c85e565f", + "ca0e808cf16f44bdc943ef80d68ea4628cc1ef56c682353b4a1c905843ea3100": { + "address": "0xB164B21263b8d02FCE95f17D18360f6aec22cA30", + "txHash": "0x1bd95b4973acbe501eff27ea76db7f1fbd121ecc037131bc3a524ca8dd5cf25e", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -28822,8 +31900,8 @@ "offset": 0, "slot": "57", "type": "t_array(t_uint256)50_storage", - "contract": "TUsdeCustomAggregatorFeed", - "src": "contracts/tUSDe/TUsdeCustomAggregatorFeed.sol:20" + "contract": "TBtcCustomAggregatorFeed", + "src": "contracts/tBTC/TBtcCustomAggregatorFeed.sol:20" } ], "types": { @@ -28906,9 +31984,9 @@ } } }, - "d19437f99950702bf5c596323a2b55864cae5505652375f90f4dfefbc1e8aa59": { - "address": "0x507F409bA7e5eF489d5c0e3C4568B24985A029D0", - "txHash": "0x889c86ab8cb53fb381f4ff7ad6696593a2841dbe4cdc9a96c06da5e3234839ba", + "83607b542865a1717ecc0b75e411e13a079b04907a6182784d76b0016ecbaa4c": { + "address": "0xF7c4501cAA4fD6C9e1c83AAbE3E767684C589B3E", + "txHash": "0xa3bbf7a1feb4cd78c9827a0f6417a5df77829e2efbb4d40c6dd9c0f266948322", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -28990,8 +32068,8 @@ "offset": 0, "slot": "105", "type": "t_array(t_uint256)50_storage", - "contract": "TUsdeDataFeed", - "src": "contracts/tUSDe/TUsdeDataFeed.sol:16" + "contract": "TBtcDataFeed", + "src": "contracts/tBTC/TBtcDataFeed.sol:16" } ], "types": { @@ -29026,9 +32104,9 @@ } } }, - "37865741d626afc8ee5278fe677ab35d25f4a756635222e290ca4242cb4acb58": { - "address": "0x9b5908a5dbd4b3BF8863C33858dCCe2950b39198", - "txHash": "0x34e627e715a7ec3dd4bf4260a2561a6e51cc9a8268ea017f18ebb70b56c2ba6e", + "779acdf033d52fd4101bae01fae1264d83a8d21233b79c274ec5af5cb904e4de": { + "address": "0x30d542566b120190675d33EA96724d30c1D1b3d1", + "txHash": "0x95b1157b15dca9eb9372b52f7d0e4a99d5dce22983432ba6998cc36cecc137d4", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -29266,44 +32344,92 @@ "src": "contracts/abstract/ManageableVault.sol:133" }, { - "label": "minMTokenAmountForFirstDeposit", + "label": "minFiatRedeemAmount", "offset": 0, "slot": "419", "type": "t_uint256", - "contract": "DepositVault", - "src": "contracts/DepositVault.sol:26" + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:28" }, { - "label": "mintRequests", + "label": "fiatAdditionalFee", "offset": 0, "slot": "420", - "type": "t_mapping(t_uint256,t_struct(Request)12581_storage)", - "contract": "DepositVault", - "src": "contracts/DepositVault.sol:31" + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:33" }, { - "label": "totalMinted", + "label": "fiatFlatFee", "offset": 0, "slot": "421", - "type": "t_mapping(t_address,t_uint256)", - "contract": "DepositVault", - "src": "contracts/DepositVault.sol:36" + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:38" }, { - "label": "__gap", + "label": "redeemRequests", "offset": 0, "slot": "422", + "type": "t_mapping(t_uint256,t_struct(Request)13022_storage)", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:43" + }, + { + "label": "requestRedeemer", + "offset": 0, + "slot": "423", + "type": "t_address", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:48" + }, + { + "label": "__gap", + "offset": 0, + "slot": "424", "type": "t_array(t_uint256)50_storage", - "contract": "DepositVault", - "src": "contracts/DepositVault.sol:41" + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:53" + }, + { + "label": "___gap", + "offset": 0, + "slot": "474", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:33" + }, + { + "label": "mTbillRedemptionVault", + "offset": 0, + "slot": "524", + "type": "t_contract(IRedemptionVault)13182", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:40" + }, + { + "label": "liquidityProvider", + "offset": 0, + "slot": "525", + "type": "t_address", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:42" }, { "label": "__gap", "offset": 0, - "slot": "472", + "slot": "526", "type": "t_array(t_uint256)50_storage", - "contract": "TUsdeDepositVault", - "src": "contracts/tUSDe/TUsdeDepositVault.sol:16" + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:47" + }, + { + "label": "__gap", + "offset": 0, + "slot": "576", + "type": "t_array(t_uint256)50_storage", + "contract": "TBtcRedemptionVaultWithSwapper", + "src": "contracts/tBTC/TBtcRedemptionVaultWithSwapper.sol:19" } ], "types": { @@ -29343,6 +32469,10 @@ "label": "contract IMTbill", "numberOfBytes": "20" }, + "t_contract(IRedemptionVault)13182": { + "label": "contract IRedemptionVault", + "numberOfBytes": "20" + }, "t_contract(MidasAccessControl)10482": { "label": "contract MidasAccessControl", "numberOfBytes": "20" @@ -29360,10 +32490,6 @@ "label": "mapping(address => struct TokenConfig)", "numberOfBytes": "32" }, - "t_mapping(t_address,t_uint256)": { - "label": "mapping(address => uint256)", - "numberOfBytes": "32" - }, "t_mapping(t_bytes32,t_uint256)": { "label": "mapping(bytes32 => uint256)", "numberOfBytes": "32" @@ -29372,7 +32498,7 @@ "label": "mapping(bytes4 => bool)", "numberOfBytes": "32" }, - "t_mapping(t_uint256,t_struct(Request)12581_storage)": { + "t_mapping(t_uint256,t_struct(Request)13022_storage)": { "label": "mapping(uint256 => struct Request)", "numberOfBytes": "32" }, @@ -29404,7 +32530,7 @@ ], "numberOfBytes": "32" }, - "t_struct(Request)12581_storage": { + "t_struct(Request)13022_storage": { "label": "struct Request", "members": [ { @@ -29414,7 +32540,7 @@ "slot": "0" }, { - "label": "tokenIn", + "label": "tokenOut", "type": "t_address", "offset": 0, "slot": "1" @@ -29426,13 +32552,13 @@ "slot": "1" }, { - "label": "depositedUsdAmount", + "label": "amountMToken", "type": "t_uint256", "offset": 0, "slot": "2" }, { - "label": "usdAmountWithoutFees", + "label": "mTokenRate", "type": "t_uint256", "offset": 0, "slot": "3" @@ -29505,9 +32631,9 @@ } } }, - "370c3061858727d2f90a3a21d887549235b65e82edd5f9fb4c78acdd8ee7ccab": { - "address": "0x1ac3e68eA5e9DBC592246e2D0D57913aFF77a603", - "txHash": "0xf4e1984aa4801e7a0cc857480bd12e2085a94d57a94efb053331ee00befeee86", + "7466a2cc031b585419a7937e247b423cb90850cac57853f96b5e2cca47d41ba7": { + "address": "0xE4b7675709883930d7f99640C13bdD4e93A46Fd1", + "txHash": "0xdf65442c1b106fd86b37fb5e473d00022b604d1f3c543b7d57b5a23bc6b27ba2", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -29745,92 +32871,44 @@ "src": "contracts/abstract/ManageableVault.sol:133" }, { - "label": "minFiatRedeemAmount", + "label": "minMTokenAmountForFirstDeposit", "offset": 0, "slot": "419", "type": "t_uint256", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:28" + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:26" }, { - "label": "fiatAdditionalFee", + "label": "mintRequests", "offset": 0, "slot": "420", - "type": "t_uint256", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:33" + "type": "t_mapping(t_uint256,t_struct(Request)12581_storage)", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:31" }, { - "label": "fiatFlatFee", + "label": "totalMinted", "offset": 0, "slot": "421", - "type": "t_uint256", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:38" - }, - { - "label": "redeemRequests", - "offset": 0, - "slot": "422", - "type": "t_mapping(t_uint256,t_struct(Request)13022_storage)", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:43" - }, - { - "label": "requestRedeemer", - "offset": 0, - "slot": "423", - "type": "t_address", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:48" - }, - { - "label": "__gap", - "offset": 0, - "slot": "424", - "type": "t_array(t_uint256)50_storage", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:53" - }, - { - "label": "___gap", - "offset": 0, - "slot": "474", - "type": "t_array(t_uint256)50_storage", - "contract": "RedemptionVaultWithSwapper", - "src": "contracts/RedemptionVaultWithSwapper.sol:33" - }, - { - "label": "mTbillRedemptionVault", - "offset": 0, - "slot": "524", - "type": "t_contract(IRedemptionVault)13182", - "contract": "RedemptionVaultWithSwapper", - "src": "contracts/RedemptionVaultWithSwapper.sol:40" - }, - { - "label": "liquidityProvider", - "offset": 0, - "slot": "525", - "type": "t_address", - "contract": "RedemptionVaultWithSwapper", - "src": "contracts/RedemptionVaultWithSwapper.sol:42" + "type": "t_mapping(t_address,t_uint256)", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:36" }, { "label": "__gap", "offset": 0, - "slot": "526", + "slot": "422", "type": "t_array(t_uint256)50_storage", - "contract": "RedemptionVaultWithSwapper", - "src": "contracts/RedemptionVaultWithSwapper.sol:47" + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:41" }, { "label": "__gap", "offset": 0, - "slot": "576", + "slot": "472", "type": "t_array(t_uint256)50_storage", - "contract": "TUsdeRedemptionVaultWithSwapper", - "src": "contracts/tUSDe/TUsdeRedemptionVaultWithSwapper.sol:19" + "contract": "TBtcDepositVault", + "src": "contracts/tBTC/TBtcDepositVault.sol:16" } ], "types": { @@ -29870,10 +32948,6 @@ "label": "contract IMTbill", "numberOfBytes": "20" }, - "t_contract(IRedemptionVault)13182": { - "label": "contract IRedemptionVault", - "numberOfBytes": "20" - }, "t_contract(MidasAccessControl)10482": { "label": "contract MidasAccessControl", "numberOfBytes": "20" @@ -29891,6 +32965,10 @@ "label": "mapping(address => struct TokenConfig)", "numberOfBytes": "32" }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, "t_mapping(t_bytes32,t_uint256)": { "label": "mapping(bytes32 => uint256)", "numberOfBytes": "32" @@ -29899,7 +32977,7 @@ "label": "mapping(bytes4 => bool)", "numberOfBytes": "32" }, - "t_mapping(t_uint256,t_struct(Request)13022_storage)": { + "t_mapping(t_uint256,t_struct(Request)12581_storage)": { "label": "mapping(uint256 => struct Request)", "numberOfBytes": "32" }, @@ -29931,7 +33009,7 @@ ], "numberOfBytes": "32" }, - "t_struct(Request)13022_storage": { + "t_struct(Request)12581_storage": { "label": "struct Request", "members": [ { @@ -29941,7 +33019,7 @@ "slot": "0" }, { - "label": "tokenOut", + "label": "tokenIn", "type": "t_address", "offset": 0, "slot": "1" @@ -29953,13 +33031,13 @@ "slot": "1" }, { - "label": "amountMToken", + "label": "depositedUsdAmount", "type": "t_uint256", "offset": 0, "slot": "2" }, { - "label": "mTokenRate", + "label": "usdAmountWithoutFees", "type": "t_uint256", "offset": 0, "slot": "3" @@ -30032,9 +33110,9 @@ } } }, - "89134a42406d9cd366c453c64f00bf13034aec5ab56511768d015ef94ac0cea9": { - "address": "0x72CCa9794018c10Ce47Af3fc8D47E167D0761e96", - "txHash": "0x703ef0cb90fe95405dc28c5106486297f4f54ed23febefcd3cc1a3e7dc9d3f63", + "f6fe54d413ecff18ed0962466b13dec782e1b910358ba9e4baaf8a225ccbe862": { + "address": "0x7813671F9c083B63FcBecbC182E9A0FC7De629a4", + "txHash": "0x7ead1aa3b513796d2812af7d655bf2a6e3e76462241bbfda078d04b0a3efe12d", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -30139,7 +33217,7 @@ "label": "accessControl", "offset": 0, "slot": "201", - "type": "t_contract(MidasAccessControl)10482", + "type": "t_contract(MidasAccessControl)11638", "contract": "WithMidasAccessControl", "src": "contracts/access/WithMidasAccessControl.sol:24" }, @@ -30180,8 +33258,8 @@ "offset": 0, "slot": "353", "type": "t_array(t_uint256)50_storage", - "contract": "tETH", - "src": "contracts/tETH/tETH.sol:32" + "contract": "mevBTC", + "src": "contracts/mevBTC/mevBTC.sol:32" } ], "types": { @@ -30213,7 +33291,7 @@ "label": "bytes", "numberOfBytes": "32" }, - "t_contract(MidasAccessControl)10482": { + "t_contract(MidasAccessControl)11638": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, @@ -30244,9 +33322,9 @@ } } }, - "c13724da9f84ac97b4f2cb789dcd0da966963933ae153e610652c171058e313a": { - "address": "0x42E82B2Ee52cdc922CFeD82bFCEF90ADa31215b5", - "txHash": "0x627b766dec568ef1541ed7522faaa9263cecff570b71abdd63771378af86b626", + "86304c1fbfcf14a1a0426d49a03fb5293b5cf5388bb8ea6cc61057a144ca0dea": { + "address": "0x931403532A4A30fEe41BFe79f5B2159dcD0a5b43", + "txHash": "0x94a8ba179ef1267a593328636876d999f6d14ff197fcd6b4593f9b98d1fe41ca", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -30271,7 +33349,7 @@ "label": "accessControl", "offset": 2, "slot": "0", - "type": "t_contract(MidasAccessControl)10482", + "type": "t_contract(MidasAccessControl)11638", "contract": "WithMidasAccessControl", "src": "contracts/access/WithMidasAccessControl.sol:24" }, @@ -30327,17 +33405,9 @@ "label": "_roundData", "offset": 0, "slot": "56", - "type": "t_mapping(t_uint80,t_struct(RoundData)11052_storage)", + "type": "t_mapping(t_uint80,t_struct(RoundData)12208_storage)", "contract": "CustomAggregatorV3CompatibleFeed", "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:57" - }, - { - "label": "__gap", - "offset": 0, - "slot": "57", - "type": "t_array(t_uint256)50_storage", - "contract": "TEthCustomAggregatorFeed", - "src": "contracts/tETH/TEthCustomAggregatorFeed.sol:20" } ], "types": { @@ -30349,7 +33419,7 @@ "label": "bool", "numberOfBytes": "1" }, - "t_contract(MidasAccessControl)10482": { + "t_contract(MidasAccessControl)11638": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, @@ -30361,7 +33431,7 @@ "label": "int256", "numberOfBytes": "32" }, - "t_mapping(t_uint80,t_struct(RoundData)11052_storage)": { + "t_mapping(t_uint80,t_struct(RoundData)12208_storage)": { "label": "mapping(uint80 => struct CustomAggregatorV3CompatibleFeed.RoundData)", "numberOfBytes": "32" }, @@ -30369,7 +33439,7 @@ "label": "string", "numberOfBytes": "32" }, - "t_struct(RoundData)11052_storage": { + "t_struct(RoundData)12208_storage": { "label": "struct CustomAggregatorV3CompatibleFeed.RoundData", "members": [ { @@ -30420,9 +33490,9 @@ } } }, - "691009af6a0742458207d70de074f8e7a3ac991dee1b7b2b5b3106920c515fab": { - "address": "0xC434E7da0803FE3a1CCFd491f123Ba1D4C69fc87", - "txHash": "0xd5c71fd40d6adff9819c6e6a66f505e8020a5425ad358d64543d38ff35658941", + "444bf37c585c948ca3c4619ec1c07f9b21ea7936550eebe7b26113e0e1dcb869": { + "address": "0xf5Fcd69d67D89C2D3ef8D764B841f073162d9a41", + "txHash": "0xe236e212fd752038070dd8756033d614437b6317ace22ca4ccb7306f659e3962", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -30447,7 +33517,7 @@ "label": "accessControl", "offset": 2, "slot": "0", - "type": "t_contract(MidasAccessControl)10482", + "type": "t_contract(MidasAccessControl)11638", "contract": "WithMidasAccessControl", "src": "contracts/access/WithMidasAccessControl.sol:24" }, @@ -30498,14 +33568,6 @@ "type": "t_array(t_uint256)50_storage", "contract": "DataFeed", "src": "contracts/feeds/DataFeed.sol:42" - }, - { - "label": "__gap", - "offset": 0, - "slot": "105", - "type": "t_array(t_uint256)50_storage", - "contract": "TEthDataFeed", - "src": "contracts/tETH/TEthDataFeed.sol:16" } ], "types": { @@ -30521,7 +33583,7 @@ "label": "contract AggregatorV3Interface", "numberOfBytes": "20" }, - "t_contract(MidasAccessControl)10482": { + "t_contract(MidasAccessControl)11638": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, @@ -30540,9 +33602,9 @@ } } }, - "04bbf673c669dd5501d5eec9cb2ac93be8c0974afdd7c145ff2b879dc737070b": { - "address": "0x46eab5259E1a2f18CbBfEeAa093130A456D09e78", - "txHash": "0x608785ec7146cfbbb093a150f46599ef62a09853c25e437be23ba9f670628558", + "553e565e8955a8d06880568fc302c8941d2cf26cfc39bc8a2d02510c744b3d64": { + "address": "0xaD391D0C554391C7cd81EbaF410866D1967C77d2", + "txHash": "0xb2d98407fd999802e87149106be11abbea9ab7f8a725910f97143a2a69926d77", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -30567,7 +33629,7 @@ "label": "accessControl", "offset": 2, "slot": "0", - "type": "t_contract(MidasAccessControl)10482", + "type": "t_contract(MidasAccessControl)11638", "contract": "WithMidasAccessControl", "src": "contracts/access/WithMidasAccessControl.sol:24" }, @@ -30663,7 +33725,7 @@ "label": "currentRequestId", "offset": 0, "slot": "354", - "type": "t_struct(Counter)5983_storage", + "type": "t_struct(Counter)6300_storage", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:53" }, @@ -30671,7 +33733,7 @@ "label": "mToken", "offset": 0, "slot": "355", - "type": "t_contract(IMTbill)12745", + "type": "t_contract(IMTbill)14305", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:66" }, @@ -30679,7 +33741,7 @@ "label": "mTokenDataFeed", "offset": 0, "slot": "356", - "type": "t_contract(IDataFeed)12564", + "type": "t_contract(IDataFeed)14124", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:71" }, @@ -30751,7 +33813,7 @@ "label": "tokensConfig", "offset": 0, "slot": "366", - "type": "t_mapping(t_address,t_struct(TokenConfig)12758_storage)", + "type": "t_mapping(t_address,t_struct(TokenConfig)14318_storage)", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:118" }, @@ -30791,7 +33853,7 @@ "label": "mintRequests", "offset": 0, "slot": "420", - "type": "t_mapping(t_uint256,t_struct(Request)12581_storage)", + "type": "t_mapping(t_uint256,t_struct(Request)14141_storage)", "contract": "DepositVault", "src": "contracts/DepositVault.sol:31" }, @@ -30816,8 +33878,8 @@ "offset": 0, "slot": "472", "type": "t_array(t_uint256)50_storage", - "contract": "TEthDepositVault", - "src": "contracts/tETH/TEthDepositVault.sol:16" + "contract": "MevBtcDepositVault", + "src": "contracts/mevBTC/MevBtcDepositVault.sol:16" } ], "types": { @@ -30849,19 +33911,19 @@ "label": "bytes4", "numberOfBytes": "4" }, - "t_contract(IDataFeed)12564": { + "t_contract(IDataFeed)14124": { "label": "contract IDataFeed", "numberOfBytes": "20" }, - "t_contract(IMTbill)12745": { + "t_contract(IMTbill)14305": { "label": "contract IMTbill", "numberOfBytes": "20" }, - "t_contract(MidasAccessControl)10482": { + "t_contract(MidasAccessControl)11638": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, - "t_enum(RequestStatus)12762": { + "t_enum(RequestStatus)14322": { "label": "enum RequestStatus", "members": ["Pending", "Processed", "Canceled"], "numberOfBytes": "1" @@ -30870,7 +33932,7 @@ "label": "mapping(address => bool)", "numberOfBytes": "32" }, - "t_mapping(t_address,t_struct(TokenConfig)12758_storage)": { + "t_mapping(t_address,t_struct(TokenConfig)14318_storage)": { "label": "mapping(address => struct TokenConfig)", "numberOfBytes": "32" }, @@ -30886,7 +33948,7 @@ "label": "mapping(bytes4 => bool)", "numberOfBytes": "32" }, - "t_mapping(t_uint256,t_struct(Request)12581_storage)": { + "t_mapping(t_uint256,t_struct(Request)14141_storage)": { "label": "mapping(uint256 => struct Request)", "numberOfBytes": "32" }, @@ -30906,7 +33968,7 @@ ], "numberOfBytes": "64" }, - "t_struct(Counter)5983_storage": { + "t_struct(Counter)6300_storage": { "label": "struct Counters.Counter", "members": [ { @@ -30918,7 +33980,7 @@ ], "numberOfBytes": "32" }, - "t_struct(Request)12581_storage": { + "t_struct(Request)14141_storage": { "label": "struct Request", "members": [ { @@ -30935,7 +33997,7 @@ }, { "label": "status", - "type": "t_enum(RequestStatus)12762", + "type": "t_enum(RequestStatus)14322", "offset": 20, "slot": "1" }, @@ -30978,7 +34040,7 @@ ], "numberOfBytes": "64" }, - "t_struct(TokenConfig)12758_storage": { + "t_struct(TokenConfig)14318_storage": { "label": "struct TokenConfig", "members": [ { @@ -31019,9 +34081,9 @@ } } }, - "08ad3a045c27902103dff1f2a2d35de2adde269ff9dabf1742209630ab75dde6": { - "address": "0xe54778946e51F73316e96085DcC06Bd8021D9c05", - "txHash": "0x707381f58012534b84dd5fb0fc669227c87c6a88513899f40c50ad62736b7597", + "05e1f79e799464f0f23d055b8a91c07d905c02783c5795491d18177239ac7330": { + "address": "0xFeB770Ae942ef5ed377c6D4BbC50f9d3b25Cf69b", + "txHash": "0x0aba2e0186868bb3359104966761580c8ca580ee8ae8d1e99b7b8be4fb0621e6", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -31046,7 +34108,7 @@ "label": "accessControl", "offset": 2, "slot": "0", - "type": "t_contract(MidasAccessControl)10482", + "type": "t_contract(MidasAccessControl)11638", "contract": "WithMidasAccessControl", "src": "contracts/access/WithMidasAccessControl.sol:24" }, @@ -31142,7 +34204,7 @@ "label": "currentRequestId", "offset": 0, "slot": "354", - "type": "t_struct(Counter)5983_storage", + "type": "t_struct(Counter)6300_storage", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:53" }, @@ -31150,7 +34212,7 @@ "label": "mToken", "offset": 0, "slot": "355", - "type": "t_contract(IMTbill)12745", + "type": "t_contract(IMTbill)14305", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:66" }, @@ -31158,7 +34220,7 @@ "label": "mTokenDataFeed", "offset": 0, "slot": "356", - "type": "t_contract(IDataFeed)12564", + "type": "t_contract(IDataFeed)14124", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:71" }, @@ -31230,7 +34292,7 @@ "label": "tokensConfig", "offset": 0, "slot": "366", - "type": "t_mapping(t_address,t_struct(TokenConfig)12758_storage)", + "type": "t_mapping(t_address,t_struct(TokenConfig)14318_storage)", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:118" }, @@ -31286,7 +34348,7 @@ "label": "redeemRequests", "offset": 0, "slot": "422", - "type": "t_mapping(t_uint256,t_struct(Request)13022_storage)", + "type": "t_mapping(t_uint256,t_struct(Request)14582_storage)", "contract": "RedemptionVault", "src": "contracts/RedemptionVault.sol:43" }, @@ -31318,7 +34380,7 @@ "label": "mTbillRedemptionVault", "offset": 0, "slot": "524", - "type": "t_contract(IRedemptionVault)13182", + "type": "t_contract(IRedemptionVault)14742", "contract": "RedemptionVaultWithSwapper", "src": "contracts/RedemptionVaultWithSwapper.sol:40" }, @@ -31343,8 +34405,8 @@ "offset": 0, "slot": "576", "type": "t_array(t_uint256)50_storage", - "contract": "TEthRedemptionVaultWithSwapper", - "src": "contracts/tETH/TEthRedemptionVaultWithSwapper.sol:19" + "contract": "MevBtcRedemptionVaultWithSwapper", + "src": "contracts/mevBTC/MevBtcRedemptionVaultWithSwapper.sol:19" } ], "types": { @@ -31376,23 +34438,23 @@ "label": "bytes4", "numberOfBytes": "4" }, - "t_contract(IDataFeed)12564": { + "t_contract(IDataFeed)14124": { "label": "contract IDataFeed", "numberOfBytes": "20" }, - "t_contract(IMTbill)12745": { + "t_contract(IMTbill)14305": { "label": "contract IMTbill", "numberOfBytes": "20" }, - "t_contract(IRedemptionVault)13182": { + "t_contract(IRedemptionVault)14742": { "label": "contract IRedemptionVault", "numberOfBytes": "20" }, - "t_contract(MidasAccessControl)10482": { + "t_contract(MidasAccessControl)11638": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, - "t_enum(RequestStatus)12762": { + "t_enum(RequestStatus)14322": { "label": "enum RequestStatus", "members": ["Pending", "Processed", "Canceled"], "numberOfBytes": "1" @@ -31401,7 +34463,7 @@ "label": "mapping(address => bool)", "numberOfBytes": "32" }, - "t_mapping(t_address,t_struct(TokenConfig)12758_storage)": { + "t_mapping(t_address,t_struct(TokenConfig)14318_storage)": { "label": "mapping(address => struct TokenConfig)", "numberOfBytes": "32" }, @@ -31413,7 +34475,7 @@ "label": "mapping(bytes4 => bool)", "numberOfBytes": "32" }, - "t_mapping(t_uint256,t_struct(Request)13022_storage)": { + "t_mapping(t_uint256,t_struct(Request)14582_storage)": { "label": "mapping(uint256 => struct Request)", "numberOfBytes": "32" }, @@ -31433,7 +34495,7 @@ ], "numberOfBytes": "64" }, - "t_struct(Counter)5983_storage": { + "t_struct(Counter)6300_storage": { "label": "struct Counters.Counter", "members": [ { @@ -31445,7 +34507,7 @@ ], "numberOfBytes": "32" }, - "t_struct(Request)13022_storage": { + "t_struct(Request)14582_storage": { "label": "struct Request", "members": [ { @@ -31462,7 +34524,7 @@ }, { "label": "status", - "type": "t_enum(RequestStatus)12762", + "type": "t_enum(RequestStatus)14322", "offset": 20, "slot": "1" }, @@ -31505,7 +34567,7 @@ ], "numberOfBytes": "64" }, - "t_struct(TokenConfig)12758_storage": { + "t_struct(TokenConfig)14318_storage": { "label": "struct TokenConfig", "members": [ { @@ -31546,9 +34608,9 @@ } } }, - "f9bf8535d408e2e5984d8b6fa1d555f5a64a5b994759475111de6ca80281df96": { - "address": "0x4eEd111A10c25a739B0d72Bd2383F958b9fDE211", - "txHash": "0xbd17d8e3c9bae65b66e040a3d9849ba5058dbf260031c7eb95bcf1276de5f83c", + "d30b45d12d7d197db1dc331bee66d88aef40744441dbb776129ded1fdd68795f": { + "address": "0xE4386180dF7285E7D78794148E1B31c9EDfb0689", + "txHash": "0x98aaa637d2387fbf1d04b11011d1e5bfbf5f2e482821381b7225eeddaf2618b4", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -31653,7 +34715,7 @@ "label": "accessControl", "offset": 0, "slot": "201", - "type": "t_contract(MidasAccessControl)10482", + "type": "t_contract(MidasAccessControl)11638", "contract": "WithMidasAccessControl", "src": "contracts/access/WithMidasAccessControl.sol:24" }, @@ -31694,8 +34756,8 @@ "offset": 0, "slot": "353", "type": "t_array(t_uint256)50_storage", - "contract": "tBTC", - "src": "contracts/tBTC/tBTC.sol:32" + "contract": "mHYPER", + "src": "contracts/mHYPER/mHYPER.sol:32" } ], "types": { @@ -31727,7 +34789,7 @@ "label": "bytes", "numberOfBytes": "32" }, - "t_contract(MidasAccessControl)10482": { + "t_contract(MidasAccessControl)11638": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, @@ -31758,9 +34820,9 @@ } } }, - "ca0e808cf16f44bdc943ef80d68ea4628cc1ef56c682353b4a1c905843ea3100": { - "address": "0xB164B21263b8d02FCE95f17D18360f6aec22cA30", - "txHash": "0x1bd95b4973acbe501eff27ea76db7f1fbd121ecc037131bc3a524ca8dd5cf25e", + "7fa1b4db2e0478ee0cffc159586f9705696e4a8d5c18d58a2c1486ca0937e81e": { + "address": "0xFcA6c2087e6321385745f3080D586d088a7f707f", + "txHash": "0x594af8221bb0f54f7adf488bde2c1cd2c845212758815772bc96c1024edc5d39", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -31785,7 +34847,7 @@ "label": "accessControl", "offset": 2, "slot": "0", - "type": "t_contract(MidasAccessControl)10482", + "type": "t_contract(MidasAccessControl)11638", "contract": "WithMidasAccessControl", "src": "contracts/access/WithMidasAccessControl.sol:24" }, @@ -31841,7 +34903,7 @@ "label": "_roundData", "offset": 0, "slot": "56", - "type": "t_mapping(t_uint80,t_struct(RoundData)11052_storage)", + "type": "t_mapping(t_uint80,t_struct(RoundData)12208_storage)", "contract": "CustomAggregatorV3CompatibleFeed", "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:57" }, @@ -31850,8 +34912,8 @@ "offset": 0, "slot": "57", "type": "t_array(t_uint256)50_storage", - "contract": "TBtcCustomAggregatorFeed", - "src": "contracts/tBTC/TBtcCustomAggregatorFeed.sol:20" + "contract": "MHyperCustomAggregatorFeed", + "src": "contracts/mHYPER/MHyperCustomAggregatorFeed.sol:20" } ], "types": { @@ -31863,7 +34925,7 @@ "label": "bool", "numberOfBytes": "1" }, - "t_contract(MidasAccessControl)10482": { + "t_contract(MidasAccessControl)11638": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, @@ -31875,7 +34937,7 @@ "label": "int256", "numberOfBytes": "32" }, - "t_mapping(t_uint80,t_struct(RoundData)11052_storage)": { + "t_mapping(t_uint80,t_struct(RoundData)12208_storage)": { "label": "mapping(uint80 => struct CustomAggregatorV3CompatibleFeed.RoundData)", "numberOfBytes": "32" }, @@ -31883,7 +34945,7 @@ "label": "string", "numberOfBytes": "32" }, - "t_struct(RoundData)11052_storage": { + "t_struct(RoundData)12208_storage": { "label": "struct CustomAggregatorV3CompatibleFeed.RoundData", "members": [ { @@ -31934,9 +34996,9 @@ } } }, - "83607b542865a1717ecc0b75e411e13a079b04907a6182784d76b0016ecbaa4c": { - "address": "0xF7c4501cAA4fD6C9e1c83AAbE3E767684C589B3E", - "txHash": "0xa3bbf7a1feb4cd78c9827a0f6417a5df77829e2efbb4d40c6dd9c0f266948322", + "9b1aeaec0c77f7f2410b1755a0d8a64ca51c47afec89ed33eba3ede01666bd4a": { + "address": "0xE3240302aCEc5922b8549509615c16a97C05654A", + "txHash": "0x38f598639fcde6402749c527984cd392af693bb33e041c607c37162717366b9b", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -31961,7 +35023,7 @@ "label": "accessControl", "offset": 2, "slot": "0", - "type": "t_contract(MidasAccessControl)10482", + "type": "t_contract(MidasAccessControl)11638", "contract": "WithMidasAccessControl", "src": "contracts/access/WithMidasAccessControl.sol:24" }, @@ -32018,8 +35080,8 @@ "offset": 0, "slot": "105", "type": "t_array(t_uint256)50_storage", - "contract": "TBtcDataFeed", - "src": "contracts/tBTC/TBtcDataFeed.sol:16" + "contract": "MHyperDataFeed", + "src": "contracts/mHYPER/MHyperDataFeed.sol:16" } ], "types": { @@ -32035,7 +35097,7 @@ "label": "contract AggregatorV3Interface", "numberOfBytes": "20" }, - "t_contract(MidasAccessControl)10482": { + "t_contract(MidasAccessControl)11638": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, @@ -32054,9 +35116,9 @@ } } }, - "779acdf033d52fd4101bae01fae1264d83a8d21233b79c274ec5af5cb904e4de": { - "address": "0x30d542566b120190675d33EA96724d30c1D1b3d1", - "txHash": "0x95b1157b15dca9eb9372b52f7d0e4a99d5dce22983432ba6998cc36cecc137d4", + "69b74c2040473c1c0cab8a5e77898981331b27e34f91a48037ce1bd835420293": { + "address": "0xA62249ABE86e75717ef9705f2FdB19B39C130e5e", + "txHash": "0xc1b5132e4db7de416459b80413ec228ed37a31d594b239f2f3ee254b5172704f", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -32081,7 +35143,7 @@ "label": "accessControl", "offset": 2, "slot": "0", - "type": "t_contract(MidasAccessControl)10482", + "type": "t_contract(MidasAccessControl)11638", "contract": "WithMidasAccessControl", "src": "contracts/access/WithMidasAccessControl.sol:24" }, @@ -32177,7 +35239,7 @@ "label": "currentRequestId", "offset": 0, "slot": "354", - "type": "t_struct(Counter)5983_storage", + "type": "t_struct(Counter)6300_storage", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:53" }, @@ -32185,7 +35247,7 @@ "label": "mToken", "offset": 0, "slot": "355", - "type": "t_contract(IMTbill)12745", + "type": "t_contract(IMTbill)14305", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:66" }, @@ -32193,7 +35255,7 @@ "label": "mTokenDataFeed", "offset": 0, "slot": "356", - "type": "t_contract(IDataFeed)12564", + "type": "t_contract(IDataFeed)14124", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:71" }, @@ -32265,7 +35327,7 @@ "label": "tokensConfig", "offset": 0, "slot": "366", - "type": "t_mapping(t_address,t_struct(TokenConfig)12758_storage)", + "type": "t_mapping(t_address,t_struct(TokenConfig)14318_storage)", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:118" }, @@ -32294,92 +35356,44 @@ "src": "contracts/abstract/ManageableVault.sol:133" }, { - "label": "minFiatRedeemAmount", + "label": "minMTokenAmountForFirstDeposit", "offset": 0, "slot": "419", "type": "t_uint256", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:28" + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:26" }, { - "label": "fiatAdditionalFee", + "label": "mintRequests", "offset": 0, "slot": "420", - "type": "t_uint256", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:33" + "type": "t_mapping(t_uint256,t_struct(Request)14141_storage)", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:31" }, { - "label": "fiatFlatFee", + "label": "totalMinted", "offset": 0, "slot": "421", - "type": "t_uint256", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:38" - }, - { - "label": "redeemRequests", - "offset": 0, - "slot": "422", - "type": "t_mapping(t_uint256,t_struct(Request)13022_storage)", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:43" - }, - { - "label": "requestRedeemer", - "offset": 0, - "slot": "423", - "type": "t_address", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:48" - }, - { - "label": "__gap", - "offset": 0, - "slot": "424", - "type": "t_array(t_uint256)50_storage", - "contract": "RedemptionVault", - "src": "contracts/RedemptionVault.sol:53" - }, - { - "label": "___gap", - "offset": 0, - "slot": "474", - "type": "t_array(t_uint256)50_storage", - "contract": "RedemptionVaultWithSwapper", - "src": "contracts/RedemptionVaultWithSwapper.sol:33" - }, - { - "label": "mTbillRedemptionVault", - "offset": 0, - "slot": "524", - "type": "t_contract(IRedemptionVault)13182", - "contract": "RedemptionVaultWithSwapper", - "src": "contracts/RedemptionVaultWithSwapper.sol:40" - }, - { - "label": "liquidityProvider", - "offset": 0, - "slot": "525", - "type": "t_address", - "contract": "RedemptionVaultWithSwapper", - "src": "contracts/RedemptionVaultWithSwapper.sol:42" + "type": "t_mapping(t_address,t_uint256)", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:36" }, { "label": "__gap", "offset": 0, - "slot": "526", + "slot": "422", "type": "t_array(t_uint256)50_storage", - "contract": "RedemptionVaultWithSwapper", - "src": "contracts/RedemptionVaultWithSwapper.sol:47" + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:41" }, { "label": "__gap", "offset": 0, - "slot": "576", + "slot": "472", "type": "t_array(t_uint256)50_storage", - "contract": "TBtcRedemptionVaultWithSwapper", - "src": "contracts/tBTC/TBtcRedemptionVaultWithSwapper.sol:19" + "contract": "MHyperDepositVault", + "src": "contracts/mHYPER/MHyperDepositVault.sol:16" } ], "types": { @@ -32411,23 +35425,19 @@ "label": "bytes4", "numberOfBytes": "4" }, - "t_contract(IDataFeed)12564": { + "t_contract(IDataFeed)14124": { "label": "contract IDataFeed", "numberOfBytes": "20" }, - "t_contract(IMTbill)12745": { + "t_contract(IMTbill)14305": { "label": "contract IMTbill", "numberOfBytes": "20" }, - "t_contract(IRedemptionVault)13182": { - "label": "contract IRedemptionVault", - "numberOfBytes": "20" - }, - "t_contract(MidasAccessControl)10482": { + "t_contract(MidasAccessControl)11638": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, - "t_enum(RequestStatus)12762": { + "t_enum(RequestStatus)14322": { "label": "enum RequestStatus", "members": ["Pending", "Processed", "Canceled"], "numberOfBytes": "1" @@ -32436,10 +35446,14 @@ "label": "mapping(address => bool)", "numberOfBytes": "32" }, - "t_mapping(t_address,t_struct(TokenConfig)12758_storage)": { + "t_mapping(t_address,t_struct(TokenConfig)14318_storage)": { "label": "mapping(address => struct TokenConfig)", "numberOfBytes": "32" }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, "t_mapping(t_bytes32,t_uint256)": { "label": "mapping(bytes32 => uint256)", "numberOfBytes": "32" @@ -32448,7 +35462,7 @@ "label": "mapping(bytes4 => bool)", "numberOfBytes": "32" }, - "t_mapping(t_uint256,t_struct(Request)13022_storage)": { + "t_mapping(t_uint256,t_struct(Request)14141_storage)": { "label": "mapping(uint256 => struct Request)", "numberOfBytes": "32" }, @@ -32468,7 +35482,7 @@ ], "numberOfBytes": "64" }, - "t_struct(Counter)5983_storage": { + "t_struct(Counter)6300_storage": { "label": "struct Counters.Counter", "members": [ { @@ -32480,7 +35494,7 @@ ], "numberOfBytes": "32" }, - "t_struct(Request)13022_storage": { + "t_struct(Request)14141_storage": { "label": "struct Request", "members": [ { @@ -32490,25 +35504,25 @@ "slot": "0" }, { - "label": "tokenOut", + "label": "tokenIn", "type": "t_address", "offset": 0, "slot": "1" }, { "label": "status", - "type": "t_enum(RequestStatus)12762", + "type": "t_enum(RequestStatus)14322", "offset": 20, "slot": "1" }, { - "label": "amountMToken", + "label": "depositedUsdAmount", "type": "t_uint256", "offset": 0, "slot": "2" }, { - "label": "mTokenRate", + "label": "usdAmountWithoutFees", "type": "t_uint256", "offset": 0, "slot": "3" @@ -32540,7 +35554,7 @@ ], "numberOfBytes": "64" }, - "t_struct(TokenConfig)12758_storage": { + "t_struct(TokenConfig)14318_storage": { "label": "struct TokenConfig", "members": [ { @@ -32581,9 +35595,9 @@ } } }, - "7466a2cc031b585419a7937e247b423cb90850cac57853f96b5e2cca47d41ba7": { - "address": "0xE4b7675709883930d7f99640C13bdD4e93A46Fd1", - "txHash": "0xdf65442c1b106fd86b37fb5e473d00022b604d1f3c543b7d57b5a23bc6b27ba2", + "b491cdd119164a2483fbd856d50e8fd89fa520b693bc3ddb573016d40f62031b": { + "address": "0xf4B77B6D4062DEafc2D4A9aa1DAf6a406933D6f3", + "txHash": "0x99814177bf52b8cfea04637cb4d7582ba18bc1d37551239290654240f0a2175b", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -32608,7 +35622,7 @@ "label": "accessControl", "offset": 2, "slot": "0", - "type": "t_contract(MidasAccessControl)10482", + "type": "t_contract(MidasAccessControl)11638", "contract": "WithMidasAccessControl", "src": "contracts/access/WithMidasAccessControl.sol:24" }, @@ -32704,7 +35718,7 @@ "label": "currentRequestId", "offset": 0, "slot": "354", - "type": "t_struct(Counter)5983_storage", + "type": "t_struct(Counter)6300_storage", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:53" }, @@ -32712,7 +35726,7 @@ "label": "mToken", "offset": 0, "slot": "355", - "type": "t_contract(IMTbill)12745", + "type": "t_contract(IMTbill)14305", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:66" }, @@ -32720,7 +35734,7 @@ "label": "mTokenDataFeed", "offset": 0, "slot": "356", - "type": "t_contract(IDataFeed)12564", + "type": "t_contract(IDataFeed)14124", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:71" }, @@ -32792,7 +35806,7 @@ "label": "tokensConfig", "offset": 0, "slot": "366", - "type": "t_mapping(t_address,t_struct(TokenConfig)12758_storage)", + "type": "t_mapping(t_address,t_struct(TokenConfig)14318_storage)", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:118" }, @@ -32821,44 +35835,92 @@ "src": "contracts/abstract/ManageableVault.sol:133" }, { - "label": "minMTokenAmountForFirstDeposit", + "label": "minFiatRedeemAmount", "offset": 0, "slot": "419", "type": "t_uint256", - "contract": "DepositVault", - "src": "contracts/DepositVault.sol:26" + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:28" }, { - "label": "mintRequests", + "label": "fiatAdditionalFee", "offset": 0, "slot": "420", - "type": "t_mapping(t_uint256,t_struct(Request)12581_storage)", - "contract": "DepositVault", - "src": "contracts/DepositVault.sol:31" + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:33" }, { - "label": "totalMinted", + "label": "fiatFlatFee", "offset": 0, "slot": "421", - "type": "t_mapping(t_address,t_uint256)", - "contract": "DepositVault", - "src": "contracts/DepositVault.sol:36" + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:38" }, { - "label": "__gap", + "label": "redeemRequests", "offset": 0, "slot": "422", + "type": "t_mapping(t_uint256,t_struct(Request)14582_storage)", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:43" + }, + { + "label": "requestRedeemer", + "offset": 0, + "slot": "423", + "type": "t_address", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:48" + }, + { + "label": "__gap", + "offset": 0, + "slot": "424", "type": "t_array(t_uint256)50_storage", - "contract": "DepositVault", - "src": "contracts/DepositVault.sol:41" + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:53" + }, + { + "label": "___gap", + "offset": 0, + "slot": "474", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:33" + }, + { + "label": "mTbillRedemptionVault", + "offset": 0, + "slot": "524", + "type": "t_contract(IRedemptionVault)14742", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:40" + }, + { + "label": "liquidityProvider", + "offset": 0, + "slot": "525", + "type": "t_address", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:42" }, { "label": "__gap", "offset": 0, - "slot": "472", + "slot": "526", "type": "t_array(t_uint256)50_storage", - "contract": "TBtcDepositVault", - "src": "contracts/tBTC/TBtcDepositVault.sol:16" + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:47" + }, + { + "label": "__gap", + "offset": 0, + "slot": "576", + "type": "t_array(t_uint256)50_storage", + "contract": "MHyperRedemptionVaultWithSwapper", + "src": "contracts/mHYPER/MHyperRedemptionVaultWithSwapper.sol:19" } ], "types": { @@ -32890,19 +35952,23 @@ "label": "bytes4", "numberOfBytes": "4" }, - "t_contract(IDataFeed)12564": { + "t_contract(IDataFeed)14124": { "label": "contract IDataFeed", "numberOfBytes": "20" }, - "t_contract(IMTbill)12745": { + "t_contract(IMTbill)14305": { "label": "contract IMTbill", "numberOfBytes": "20" }, - "t_contract(MidasAccessControl)10482": { + "t_contract(IRedemptionVault)14742": { + "label": "contract IRedemptionVault", + "numberOfBytes": "20" + }, + "t_contract(MidasAccessControl)11638": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, - "t_enum(RequestStatus)12762": { + "t_enum(RequestStatus)14322": { "label": "enum RequestStatus", "members": ["Pending", "Processed", "Canceled"], "numberOfBytes": "1" @@ -32911,14 +35977,10 @@ "label": "mapping(address => bool)", "numberOfBytes": "32" }, - "t_mapping(t_address,t_struct(TokenConfig)12758_storage)": { + "t_mapping(t_address,t_struct(TokenConfig)14318_storage)": { "label": "mapping(address => struct TokenConfig)", "numberOfBytes": "32" }, - "t_mapping(t_address,t_uint256)": { - "label": "mapping(address => uint256)", - "numberOfBytes": "32" - }, "t_mapping(t_bytes32,t_uint256)": { "label": "mapping(bytes32 => uint256)", "numberOfBytes": "32" @@ -32927,7 +35989,7 @@ "label": "mapping(bytes4 => bool)", "numberOfBytes": "32" }, - "t_mapping(t_uint256,t_struct(Request)12581_storage)": { + "t_mapping(t_uint256,t_struct(Request)14582_storage)": { "label": "mapping(uint256 => struct Request)", "numberOfBytes": "32" }, @@ -32947,7 +36009,7 @@ ], "numberOfBytes": "64" }, - "t_struct(Counter)5983_storage": { + "t_struct(Counter)6300_storage": { "label": "struct Counters.Counter", "members": [ { @@ -32959,7 +36021,7 @@ ], "numberOfBytes": "32" }, - "t_struct(Request)12581_storage": { + "t_struct(Request)14582_storage": { "label": "struct Request", "members": [ { @@ -32969,25 +36031,25 @@ "slot": "0" }, { - "label": "tokenIn", + "label": "tokenOut", "type": "t_address", "offset": 0, "slot": "1" }, { "label": "status", - "type": "t_enum(RequestStatus)12762", + "type": "t_enum(RequestStatus)14322", "offset": 20, "slot": "1" }, { - "label": "depositedUsdAmount", + "label": "amountMToken", "type": "t_uint256", "offset": 0, "slot": "2" }, { - "label": "usdAmountWithoutFees", + "label": "mTokenRate", "type": "t_uint256", "offset": 0, "slot": "3" @@ -33019,7 +36081,7 @@ ], "numberOfBytes": "64" }, - "t_struct(TokenConfig)12758_storage": { + "t_struct(TokenConfig)14318_storage": { "label": "struct TokenConfig", "members": [ { @@ -33060,9 +36122,9 @@ } } }, - "f6fe54d413ecff18ed0962466b13dec782e1b910358ba9e4baaf8a225ccbe862": { - "address": "0x7813671F9c083B63FcBecbC182E9A0FC7De629a4", - "txHash": "0x7ead1aa3b513796d2812af7d655bf2a6e3e76462241bbfda078d04b0a3efe12d", + "a47e95fda06e7b15e8290b08d43752d8493892b71b14aab1dd56f092d84dd41d": { + "address": "0xd43Cc40e380A59bFC06e80fdEa9847556297Df0c", + "txHash": "0x408772c101a81a3b51409186e4e761507c4eb3a38d753890488b778a0428f112", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -33167,7 +36229,7 @@ "label": "accessControl", "offset": 0, "slot": "201", - "type": "t_contract(MidasAccessControl)11638", + "type": "t_contract(MidasAccessControl)8207", "contract": "WithMidasAccessControl", "src": "contracts/access/WithMidasAccessControl.sol:24" }, @@ -33208,8 +36270,8 @@ "offset": 0, "slot": "353", "type": "t_array(t_uint256)50_storage", - "contract": "mevBTC", - "src": "contracts/mevBTC/mevBTC.sol:32" + "contract": "mAPOLLO", + "src": "contracts/mAPOLLO/mAPOLLO.sol:32" } ], "types": { @@ -33241,7 +36303,7 @@ "label": "bytes", "numberOfBytes": "32" }, - "t_contract(MidasAccessControl)11638": { + "t_contract(MidasAccessControl)8207": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, @@ -33272,9 +36334,9 @@ } } }, - "86304c1fbfcf14a1a0426d49a03fb5293b5cf5388bb8ea6cc61057a144ca0dea": { - "address": "0x931403532A4A30fEe41BFe79f5B2159dcD0a5b43", - "txHash": "0x94a8ba179ef1267a593328636876d999f6d14ff197fcd6b4593f9b98d1fe41ca", + "e0534fdd117a7a5b372395c92bd961a06f4e6ce41969b5376669b2963444a618": { + "address": "0x562bB5014793E8D2df2B493a947FBd522d420c55", + "txHash": "0x6e8b994d486af445f4162a81fec3ffb34a1bb4ead1844768623ed80c07388045", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -33299,7 +36361,7 @@ "label": "accessControl", "offset": 2, "slot": "0", - "type": "t_contract(MidasAccessControl)11638", + "type": "t_contract(MidasAccessControl)8207", "contract": "WithMidasAccessControl", "src": "contracts/access/WithMidasAccessControl.sol:24" }, @@ -33355,9 +36417,17 @@ "label": "_roundData", "offset": 0, "slot": "56", - "type": "t_mapping(t_uint80,t_struct(RoundData)12208_storage)", + "type": "t_mapping(t_uint80,t_struct(RoundData)8562_storage)", "contract": "CustomAggregatorV3CompatibleFeed", "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "57", + "type": "t_array(t_uint256)50_storage", + "contract": "MApolloCustomAggregatorFeed", + "src": "contracts/mAPOLLO/MApolloCustomAggregatorFeed.sol:20" } ], "types": { @@ -33369,7 +36439,7 @@ "label": "bool", "numberOfBytes": "1" }, - "t_contract(MidasAccessControl)11638": { + "t_contract(MidasAccessControl)8207": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, @@ -33381,7 +36451,7 @@ "label": "int256", "numberOfBytes": "32" }, - "t_mapping(t_uint80,t_struct(RoundData)12208_storage)": { + "t_mapping(t_uint80,t_struct(RoundData)8562_storage)": { "label": "mapping(uint80 => struct CustomAggregatorV3CompatibleFeed.RoundData)", "numberOfBytes": "32" }, @@ -33389,7 +36459,7 @@ "label": "string", "numberOfBytes": "32" }, - "t_struct(RoundData)12208_storage": { + "t_struct(RoundData)8562_storage": { "label": "struct CustomAggregatorV3CompatibleFeed.RoundData", "members": [ { @@ -33440,9 +36510,9 @@ } } }, - "444bf37c585c948ca3c4619ec1c07f9b21ea7936550eebe7b26113e0e1dcb869": { - "address": "0xf5Fcd69d67D89C2D3ef8D764B841f073162d9a41", - "txHash": "0xe236e212fd752038070dd8756033d614437b6317ace22ca4ccb7306f659e3962", + "8f4939d0c7c314f24d5806c1c4a1287c18c88108c8b3871548d46483d8f864bd": { + "address": "0xf39B570Aa5889F61f9d99B55304f055b2A77ccA9", + "txHash": "0x925680ffded336802d447567690e86ccc669001ca5a4bdc5ad22e19a0fe2b9c3", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -33467,7 +36537,7 @@ "label": "accessControl", "offset": 2, "slot": "0", - "type": "t_contract(MidasAccessControl)11638", + "type": "t_contract(MidasAccessControl)8207", "contract": "WithMidasAccessControl", "src": "contracts/access/WithMidasAccessControl.sol:24" }, @@ -33518,6 +36588,14 @@ "type": "t_array(t_uint256)50_storage", "contract": "DataFeed", "src": "contracts/feeds/DataFeed.sol:42" + }, + { + "label": "__gap", + "offset": 0, + "slot": "105", + "type": "t_array(t_uint256)50_storage", + "contract": "MApolloDataFeed", + "src": "contracts/mAPOLLO/MApolloDataFeed.sol:16" } ], "types": { @@ -33533,7 +36611,7 @@ "label": "contract AggregatorV3Interface", "numberOfBytes": "20" }, - "t_contract(MidasAccessControl)11638": { + "t_contract(MidasAccessControl)8207": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, @@ -33552,9 +36630,9 @@ } } }, - "553e565e8955a8d06880568fc302c8941d2cf26cfc39bc8a2d02510c744b3d64": { - "address": "0xaD391D0C554391C7cd81EbaF410866D1967C77d2", - "txHash": "0xb2d98407fd999802e87149106be11abbea9ab7f8a725910f97143a2a69926d77", + "903c325a76555b112d37435e34e16ef722b9fcbb60cd4bd0df22ff85bc7ef7f8": { + "address": "0x4d371CC63fB8EFD48aFF59C5A0C064863AE4999c", + "txHash": "0xd2fcd09c908f488a084484fd64003866a0292e4624b3bdcf11f276c85841592e", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -33579,7 +36657,7 @@ "label": "accessControl", "offset": 2, "slot": "0", - "type": "t_contract(MidasAccessControl)11638", + "type": "t_contract(MidasAccessControl)8207", "contract": "WithMidasAccessControl", "src": "contracts/access/WithMidasAccessControl.sol:24" }, @@ -33675,7 +36753,7 @@ "label": "currentRequestId", "offset": 0, "slot": "354", - "type": "t_struct(Counter)6300_storage", + "type": "t_struct(Counter)4184_storage", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:53" }, @@ -33683,7 +36761,7 @@ "label": "mToken", "offset": 0, "slot": "355", - "type": "t_contract(IMTbill)14305", + "type": "t_contract(IMTbill)9451", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:66" }, @@ -33691,7 +36769,7 @@ "label": "mTokenDataFeed", "offset": 0, "slot": "356", - "type": "t_contract(IDataFeed)14124", + "type": "t_contract(IDataFeed)9270", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:71" }, @@ -33763,7 +36841,7 @@ "label": "tokensConfig", "offset": 0, "slot": "366", - "type": "t_mapping(t_address,t_struct(TokenConfig)14318_storage)", + "type": "t_mapping(t_address,t_struct(TokenConfig)9464_storage)", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:118" }, @@ -33803,7 +36881,7 @@ "label": "mintRequests", "offset": 0, "slot": "420", - "type": "t_mapping(t_uint256,t_struct(Request)14141_storage)", + "type": "t_mapping(t_uint256,t_struct(Request)9287_storage)", "contract": "DepositVault", "src": "contracts/DepositVault.sol:31" }, @@ -33828,8 +36906,8 @@ "offset": 0, "slot": "472", "type": "t_array(t_uint256)50_storage", - "contract": "MevBtcDepositVault", - "src": "contracts/mevBTC/MevBtcDepositVault.sol:16" + "contract": "MApolloDepositVault", + "src": "contracts/mAPOLLO/MApolloDepositVault.sol:16" } ], "types": { @@ -33861,19 +36939,19 @@ "label": "bytes4", "numberOfBytes": "4" }, - "t_contract(IDataFeed)14124": { + "t_contract(IDataFeed)9270": { "label": "contract IDataFeed", "numberOfBytes": "20" }, - "t_contract(IMTbill)14305": { + "t_contract(IMTbill)9451": { "label": "contract IMTbill", "numberOfBytes": "20" }, - "t_contract(MidasAccessControl)11638": { + "t_contract(MidasAccessControl)8207": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, - "t_enum(RequestStatus)14322": { + "t_enum(RequestStatus)9468": { "label": "enum RequestStatus", "members": ["Pending", "Processed", "Canceled"], "numberOfBytes": "1" @@ -33882,7 +36960,7 @@ "label": "mapping(address => bool)", "numberOfBytes": "32" }, - "t_mapping(t_address,t_struct(TokenConfig)14318_storage)": { + "t_mapping(t_address,t_struct(TokenConfig)9464_storage)": { "label": "mapping(address => struct TokenConfig)", "numberOfBytes": "32" }, @@ -33898,7 +36976,7 @@ "label": "mapping(bytes4 => bool)", "numberOfBytes": "32" }, - "t_mapping(t_uint256,t_struct(Request)14141_storage)": { + "t_mapping(t_uint256,t_struct(Request)9287_storage)": { "label": "mapping(uint256 => struct Request)", "numberOfBytes": "32" }, @@ -33918,7 +36996,7 @@ ], "numberOfBytes": "64" }, - "t_struct(Counter)6300_storage": { + "t_struct(Counter)4184_storage": { "label": "struct Counters.Counter", "members": [ { @@ -33930,7 +37008,7 @@ ], "numberOfBytes": "32" }, - "t_struct(Request)14141_storage": { + "t_struct(Request)9287_storage": { "label": "struct Request", "members": [ { @@ -33947,7 +37025,7 @@ }, { "label": "status", - "type": "t_enum(RequestStatus)14322", + "type": "t_enum(RequestStatus)9468", "offset": 20, "slot": "1" }, @@ -33990,7 +37068,7 @@ ], "numberOfBytes": "64" }, - "t_struct(TokenConfig)14318_storage": { + "t_struct(TokenConfig)9464_storage": { "label": "struct TokenConfig", "members": [ { @@ -34031,9 +37109,9 @@ } } }, - "05e1f79e799464f0f23d055b8a91c07d905c02783c5795491d18177239ac7330": { - "address": "0xFeB770Ae942ef5ed377c6D4BbC50f9d3b25Cf69b", - "txHash": "0x0aba2e0186868bb3359104966761580c8ca580ee8ae8d1e99b7b8be4fb0621e6", + "44d0c4caada5e14d2b0e590340ae2f8dd96ff43a54fba6a21cee9b2d87279023": { + "address": "0xcFFed53CE828d1e3fA2fc0eC6e8496029B8C84eE", + "txHash": "0x84c6035ae3460217061682a88706dfd8f3b327b12eae14d9fe1936c1934f2eee", "layout": { "solcVersion": "0.8.9", "storage": [ @@ -34058,7 +37136,7 @@ "label": "accessControl", "offset": 2, "slot": "0", - "type": "t_contract(MidasAccessControl)11638", + "type": "t_contract(MidasAccessControl)8207", "contract": "WithMidasAccessControl", "src": "contracts/access/WithMidasAccessControl.sol:24" }, @@ -34154,7 +37232,7 @@ "label": "currentRequestId", "offset": 0, "slot": "354", - "type": "t_struct(Counter)6300_storage", + "type": "t_struct(Counter)4184_storage", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:53" }, @@ -34162,7 +37240,7 @@ "label": "mToken", "offset": 0, "slot": "355", - "type": "t_contract(IMTbill)14305", + "type": "t_contract(IMTbill)9451", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:66" }, @@ -34170,7 +37248,7 @@ "label": "mTokenDataFeed", "offset": 0, "slot": "356", - "type": "t_contract(IDataFeed)14124", + "type": "t_contract(IDataFeed)9270", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:71" }, @@ -34242,7 +37320,7 @@ "label": "tokensConfig", "offset": 0, "slot": "366", - "type": "t_mapping(t_address,t_struct(TokenConfig)14318_storage)", + "type": "t_mapping(t_address,t_struct(TokenConfig)9464_storage)", "contract": "ManageableVault", "src": "contracts/abstract/ManageableVault.sol:118" }, @@ -34298,7 +37376,7 @@ "label": "redeemRequests", "offset": 0, "slot": "422", - "type": "t_mapping(t_uint256,t_struct(Request)14582_storage)", + "type": "t_mapping(t_uint256,t_struct(Request)9728_storage)", "contract": "RedemptionVault", "src": "contracts/RedemptionVault.sol:43" }, @@ -34330,7 +37408,7 @@ "label": "mTbillRedemptionVault", "offset": 0, "slot": "524", - "type": "t_contract(IRedemptionVault)14742", + "type": "t_contract(IRedemptionVault)9888", "contract": "RedemptionVaultWithSwapper", "src": "contracts/RedemptionVaultWithSwapper.sol:40" }, @@ -34355,8 +37433,8 @@ "offset": 0, "slot": "576", "type": "t_array(t_uint256)50_storage", - "contract": "MevBtcRedemptionVaultWithSwapper", - "src": "contracts/mevBTC/MevBtcRedemptionVaultWithSwapper.sol:19" + "contract": "MApolloRedemptionVaultWithSwapper", + "src": "contracts/mAPOLLO/MApolloRedemptionVaultWithSwapper.sol:19" } ], "types": { @@ -34388,23 +37466,23 @@ "label": "bytes4", "numberOfBytes": "4" }, - "t_contract(IDataFeed)14124": { + "t_contract(IDataFeed)9270": { "label": "contract IDataFeed", "numberOfBytes": "20" }, - "t_contract(IMTbill)14305": { + "t_contract(IMTbill)9451": { "label": "contract IMTbill", "numberOfBytes": "20" }, - "t_contract(IRedemptionVault)14742": { + "t_contract(IRedemptionVault)9888": { "label": "contract IRedemptionVault", "numberOfBytes": "20" }, - "t_contract(MidasAccessControl)11638": { + "t_contract(MidasAccessControl)8207": { "label": "contract MidasAccessControl", "numberOfBytes": "20" }, - "t_enum(RequestStatus)14322": { + "t_enum(RequestStatus)9468": { "label": "enum RequestStatus", "members": ["Pending", "Processed", "Canceled"], "numberOfBytes": "1" @@ -34413,7 +37491,7 @@ "label": "mapping(address => bool)", "numberOfBytes": "32" }, - "t_mapping(t_address,t_struct(TokenConfig)14318_storage)": { + "t_mapping(t_address,t_struct(TokenConfig)9464_storage)": { "label": "mapping(address => struct TokenConfig)", "numberOfBytes": "32" }, @@ -34425,7 +37503,7 @@ "label": "mapping(bytes4 => bool)", "numberOfBytes": "32" }, - "t_mapping(t_uint256,t_struct(Request)14582_storage)": { + "t_mapping(t_uint256,t_struct(Request)9728_storage)": { "label": "mapping(uint256 => struct Request)", "numberOfBytes": "32" }, @@ -34445,7 +37523,7 @@ ], "numberOfBytes": "64" }, - "t_struct(Counter)6300_storage": { + "t_struct(Counter)4184_storage": { "label": "struct Counters.Counter", "members": [ { @@ -34457,7 +37535,7 @@ ], "numberOfBytes": "32" }, - "t_struct(Request)14582_storage": { + "t_struct(Request)9728_storage": { "label": "struct Request", "members": [ { @@ -34474,7 +37552,7 @@ }, { "label": "status", - "type": "t_enum(RequestStatus)14322", + "type": "t_enum(RequestStatus)9468", "offset": 20, "slot": "1" }, @@ -34517,7 +37595,7 @@ ], "numberOfBytes": "64" }, - "t_struct(TokenConfig)14318_storage": { + "t_struct(TokenConfig)9464_storage": { "label": "struct TokenConfig", "members": [ { diff --git a/.openzeppelin/sepolia.json b/.openzeppelin/sepolia.json index 00d25c69..02266340 100644 --- a/.openzeppelin/sepolia.json +++ b/.openzeppelin/sepolia.json @@ -33884,6 +33884,964 @@ } } } + }, + "1744f9d065994c4b2ccdbaaaa5f8bcf9dd5c933c8e546bf29778a7460701530b": { + "address": "0x682269B3dbDd6aa621aA2988958968D5316007eE", + "txHash": "0x1b98a4514ff630d449e0b40b5d5499d333ce6fa469ebcfd9bfbd38680bcf3531", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)9529", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_paused", + "offset": 0, + "slot": "101", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "fnPaused", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes4,t_bool)", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:14" + }, + { + "label": "greenlistEnabled", + "offset": 0, + "slot": "152", + "type": "t_bool", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:22" + }, + { + "label": "sanctionsList", + "offset": 1, + "slot": "152", + "type": "t_address", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:18" + }, + { + "label": "currentRequestId", + "offset": 0, + "slot": "153", + "type": "t_struct(Counter)4184_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:53" + }, + { + "label": "mToken", + "offset": 0, + "slot": "154", + "type": "t_contract(IMTbill)10657", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:66" + }, + { + "label": "mTokenDataFeed", + "offset": 0, + "slot": "155", + "type": "t_contract(IDataFeed)10392", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:71" + }, + { + "label": "tokensReceiver", + "offset": 0, + "slot": "156", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:76" + }, + { + "label": "instantFee", + "offset": 0, + "slot": "157", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:81" + }, + { + "label": "instantDailyLimit", + "offset": 0, + "slot": "158", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:88" + }, + { + "label": "dailyLimits", + "offset": 0, + "slot": "159", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:93" + }, + { + "label": "feeReceiver", + "offset": 0, + "slot": "160", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:98" + }, + { + "label": "variationTolerance", + "offset": 0, + "slot": "161", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:103" + }, + { + "label": "waivedFeeRestriction", + "offset": 0, + "slot": "162", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:108" + }, + { + "label": "_paymentTokens", + "offset": 0, + "slot": "163", + "type": "t_struct(AddressSet)3891_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:113" + }, + { + "label": "tokensConfig", + "offset": 0, + "slot": "165", + "type": "t_mapping(t_address,t_struct(TokenConfig)10670_storage)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:118" + }, + { + "label": "minAmount", + "offset": 0, + "slot": "166", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:123" + }, + { + "label": "isFreeFromMinAmount", + "offset": 0, + "slot": "167", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:128" + }, + { + "label": "__gap", + "offset": 0, + "slot": "168", + "type": "t_array(t_uint256)50_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:133" + }, + { + "label": "minMTokenAmountForFirstDeposit", + "offset": 0, + "slot": "218", + "type": "t_uint256", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:73" + }, + { + "label": "mintRequests", + "offset": 0, + "slot": "219", + "type": "t_mapping(t_uint256,t_struct(Request)10409_storage)", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:78" + }, + { + "label": "totalMinted", + "offset": 0, + "slot": "220", + "type": "t_mapping(t_address,t_uint256)", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:83" + }, + { + "label": "__gap", + "offset": 0, + "slot": "221", + "type": "t_array(t_uint256)50_storage", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:88" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_bytes32)dyn_storage": { + "label": "bytes32[]", + "numberOfBytes": "32" + }, + "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_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes4": { + "label": "bytes4", + "numberOfBytes": "4" + }, + "t_contract(IDataFeed)10392": { + "label": "contract IDataFeed", + "numberOfBytes": "20" + }, + "t_contract(IMTbill)10657": { + "label": "contract IMTbill", + "numberOfBytes": "20" + }, + "t_contract(MidasAccessControl)9529": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_enum(RequestStatus)10674": { + "label": "enum RequestStatus", + "members": ["Pending", "Processed", "Canceled"], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(TokenConfig)10670_storage)": { + "label": "mapping(address => struct TokenConfig)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_uint256)": { + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes4,t_bool)": { + "label": "mapping(bytes4 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Request)10409_storage)": { + "label": "mapping(uint256 => struct Request)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_struct(AddressSet)3891_storage": { + "label": "struct EnumerableSetUpgradeable.AddressSet", + "members": [ + { + "label": "_inner", + "type": "t_struct(Set)3576_storage", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "64" + }, + "t_struct(Counter)4184_storage": { + "label": "struct Counters.Counter", + "members": [ + { + "label": "_value", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Request)10409_storage": { + "label": "struct Request", + "members": [ + { + "label": "sender", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "tokenIn", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "status", + "type": "t_enum(RequestStatus)10674", + "offset": 20, + "slot": "1" + }, + { + "label": "depositedUsdAmount", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "usdAmountWithoutFees", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "tokenOutRate", + "type": "t_uint256", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_struct(Set)3576_storage": { + "label": "struct EnumerableSetUpgradeable.Set", + "members": [ + { + "label": "_values", + "type": "t_array(t_bytes32)dyn_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "_indexes", + "type": "t_mapping(t_bytes32,t_uint256)", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(TokenConfig)10670_storage": { + "label": "struct TokenConfig", + "members": [ + { + "label": "dataFeed", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "allowance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "stable", + "type": "t_bool", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "6dec1cfdd82ac5f71deca1063a01ace66dfae28cc26e27d429c75dce4abfbe8d": { + "address": "0x9E9dbcbCC8c976FacE7481288bBb9aB285e4D70C", + "txHash": "0xbd596199422d38f3ecadf3a81f85fc5b6b3a6bbea56ab40f62fd01e316e3e73e", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)9544", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_paused", + "offset": 0, + "slot": "101", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "fnPaused", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes4,t_bool)", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:14" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)50_storage", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:19" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)50_storage", + "contract": "Blacklistable", + "src": "contracts/access/Blacklistable.sol:16" + }, + { + "label": "greenlistEnabled", + "offset": 0, + "slot": "252", + "type": "t_bool", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "253", + "type": "t_array(t_uint256)50_storage", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:27" + }, + { + "label": "sanctionsList", + "offset": 0, + "slot": "303", + "type": "t_address", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:18" + }, + { + "label": "__gap", + "offset": 0, + "slot": "304", + "type": "t_array(t_uint256)50_storage", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:23" + }, + { + "label": "currentRequestId", + "offset": 0, + "slot": "354", + "type": "t_struct(Counter)4184_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:53" + }, + { + "label": "mToken", + "offset": 0, + "slot": "355", + "type": "t_contract(IMTbill)11151", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:66" + }, + { + "label": "mTokenDataFeed", + "offset": 0, + "slot": "356", + "type": "t_contract(IDataFeed)10886", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:71" + }, + { + "label": "tokensReceiver", + "offset": 0, + "slot": "357", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:76" + }, + { + "label": "instantFee", + "offset": 0, + "slot": "358", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:81" + }, + { + "label": "instantDailyLimit", + "offset": 0, + "slot": "359", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:88" + }, + { + "label": "dailyLimits", + "offset": 0, + "slot": "360", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:93" + }, + { + "label": "feeReceiver", + "offset": 0, + "slot": "361", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:98" + }, + { + "label": "variationTolerance", + "offset": 0, + "slot": "362", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:103" + }, + { + "label": "waivedFeeRestriction", + "offset": 0, + "slot": "363", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:108" + }, + { + "label": "_paymentTokens", + "offset": 0, + "slot": "364", + "type": "t_struct(AddressSet)3891_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:113" + }, + { + "label": "tokensConfig", + "offset": 0, + "slot": "366", + "type": "t_mapping(t_address,t_struct(TokenConfig)11164_storage)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:118" + }, + { + "label": "minAmount", + "offset": 0, + "slot": "367", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:123" + }, + { + "label": "isFreeFromMinAmount", + "offset": 0, + "slot": "368", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:128" + }, + { + "label": "__gap", + "offset": 0, + "slot": "369", + "type": "t_array(t_uint256)50_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:133" + }, + { + "label": "minFiatRedeemAmount", + "offset": 0, + "slot": "419", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:64" + }, + { + "label": "fiatAdditionalFee", + "offset": 0, + "slot": "420", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:69" + }, + { + "label": "fiatFlatFee", + "offset": 0, + "slot": "421", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:74" + }, + { + "label": "redeemRequests", + "offset": 0, + "slot": "422", + "type": "t_mapping(t_uint256,t_struct(Request)11428_storage)", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:79" + }, + { + "label": "requestRedeemer", + "offset": 0, + "slot": "423", + "type": "t_address", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:84" + }, + { + "label": "__gap", + "offset": 0, + "slot": "424", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:89" + }, + { + "label": "minBuidlToRedeem", + "offset": 0, + "slot": "474", + "type": "t_uint256", + "contract": "RedemptionVaultWIthBUIDL", + "src": "contracts/RedemptionVaultWithBUIDL.sol:24" + }, + { + "label": "minBuidlBalance", + "offset": 0, + "slot": "475", + "type": "t_uint256", + "contract": "RedemptionVaultWIthBUIDL", + "src": "contracts/RedemptionVaultWithBUIDL.sol:26" + }, + { + "label": "buidlRedemption", + "offset": 0, + "slot": "476", + "type": "t_contract(IRedemption)11729", + "contract": "RedemptionVaultWIthBUIDL", + "src": "contracts/RedemptionVaultWithBUIDL.sol:28" + }, + { + "label": "__gap", + "offset": 0, + "slot": "477", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVaultWIthBUIDL", + "src": "contracts/RedemptionVaultWithBUIDL.sol:30" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_bytes32)dyn_storage": { + "label": "bytes32[]", + "numberOfBytes": "32" + }, + "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_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes4": { + "label": "bytes4", + "numberOfBytes": "4" + }, + "t_contract(IDataFeed)10886": { + "label": "contract IDataFeed", + "numberOfBytes": "20" + }, + "t_contract(IMTbill)11151": { + "label": "contract IMTbill", + "numberOfBytes": "20" + }, + "t_contract(IRedemption)11729": { + "label": "contract IRedemption", + "numberOfBytes": "20" + }, + "t_contract(MidasAccessControl)9544": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_enum(RequestStatus)11168": { + "label": "enum RequestStatus", + "members": ["Pending", "Processed", "Canceled"], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(TokenConfig)11164_storage)": { + "label": "mapping(address => struct TokenConfig)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_uint256)": { + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes4,t_bool)": { + "label": "mapping(bytes4 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Request)11428_storage)": { + "label": "mapping(uint256 => struct Request)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_struct(AddressSet)3891_storage": { + "label": "struct EnumerableSetUpgradeable.AddressSet", + "members": [ + { + "label": "_inner", + "type": "t_struct(Set)3576_storage", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "64" + }, + "t_struct(Counter)4184_storage": { + "label": "struct Counters.Counter", + "members": [ + { + "label": "_value", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Request)11428_storage": { + "label": "struct Request", + "members": [ + { + "label": "sender", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "tokenOut", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "status", + "type": "t_enum(RequestStatus)11168", + "offset": 20, + "slot": "1" + }, + { + "label": "amountMToken", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "mTokenRate", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "tokenOutRate", + "type": "t_uint256", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_struct(Set)3576_storage": { + "label": "struct EnumerableSetUpgradeable.Set", + "members": [ + { + "label": "_values", + "type": "t_array(t_bytes32)dyn_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "_indexes", + "type": "t_mapping(t_bytes32,t_uint256)", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(TokenConfig)11164_storage": { + "label": "struct TokenConfig", + "members": [ + { + "label": "dataFeed", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "allowance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "stable", + "type": "t_bool", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } } } } diff --git a/.openzeppelin/unknown-999.json b/.openzeppelin/unknown-999.json index b66b82d2..351dd42d 100644 --- a/.openzeppelin/unknown-999.json +++ b/.openzeppelin/unknown-999.json @@ -129,6 +129,76 @@ "address": "0x289584e63A61C69EEE170cD553cff8B3FFD56EA7", "txHash": "0xa9647dd945274bfbd695a230a172498c9c7aadc61b32ec81c38b8bc6a2212325", "kind": "transparent" + }, + { + "address": "0x81e064d0eB539de7c3170EDF38C1A42CBd752A76", + "txHash": "0xe1cb27bcb9edf3ea6a6fb8ae9bb12a9d3324d509c858ee81b071ca4d41506a59", + "kind": "transparent" + }, + { + "address": "0x2b959a9Deb8e62FaaEA1b226F3bbcbcC0Af31560", + "txHash": "0x59dee89cbafec07faf52625f0a54d6abf5708ee52e20d23d9ad34735f07b3d01", + "kind": "transparent" + }, + { + "address": "0x7d876E544F12bD3347B9e904F0fb2d83bEd59a27", + "txHash": "0xbcfdb8b33de77a81fdb7a99d2c4c0d7f8fd46096e49d220fd988aadc8dcbaa05", + "kind": "transparent" + }, + { + "address": "0x2b158D44eEbb03a025F75B79F1d8B3004Ac97737", + "txHash": "0xc38638b7a94ee63715abf42fb4b012cdc3e5cb714d21bf38c30c42aa3c715df6", + "kind": "transparent" + }, + { + "address": "0x1eff01e0784ae8d06a17AF29A2300D2A9cdA5440", + "txHash": "0x91031a49ed68347095cd453782acb930d88961d91fa55548f26588d2911ba9a2", + "kind": "transparent" + }, + { + "address": "0xD28b1AB7098E7434a7b4eFdC99c35fb85CfD92C1", + "txHash": "0x9f921c8034eb2497a18d6f822f0c18530b7c61927ca03df0d80ba9e622dd929a", + "kind": "transparent" + }, + { + "address": "0x5A55899f324bF45DD2dA0b97E145774a4668A9E4", + "txHash": "0x06daa304b31ca0bccd3e6f8862213e2d8c185f45aa0514ee104d1999c2036fdc", + "kind": "transparent" + }, + { + "address": "0x7F1f3E3D57E5549828909AE3381C7bFF05A4fE09", + "txHash": "0xf84af24c6e225e2799fd33508036ba58fa0fbdd876d9e7c9b0df02ddea8e3daf", + "kind": "transparent" + }, + { + "address": "0xE1C769D56Cb6448813732F7736041425AA0A4A75", + "txHash": "0x5a5eaab33fea2df6e58cbb762cf9b46b01c7a5620064728092898466d53d90fa", + "kind": "transparent" + }, + { + "address": "0x441794D6a8F9A3739F5D4E98a728937b33489D29", + "txHash": "0x73e38de73589ef04a4fd0e4712deacb73c2e120f3f0e53408bf1fd8eaa9b89f7", + "kind": "transparent" + }, + { + "address": "0x1CeaB703956e24b18a0AF6b272E0bF3F499aCa0F", + "txHash": "0x5d03f5694912b7acd9dfd11542cbc1a4d4a253324a465b5e23b94c94c8a775bd", + "kind": "transparent" + }, + { + "address": "0x70519793f50c95f435972637E1190f41cfc907Bd", + "txHash": "0xfc16605ca8d1ff1c916d2c95f9cf2dcbed9d8a2fc6d230a75e3fe9908a154db5", + "kind": "transparent" + }, + { + "address": "0xF538675D292d8b372712f44eaf306Cc66cF6d8DC", + "txHash": "0x2d38d09c2c1e13cf61ce15b38ada8a971e5267b789a27a154d5f5dad417722d9", + "kind": "transparent" + }, + { + "address": "0x558806a80b42cAB4ED75c74bfB178EDc9087AA32", + "txHash": "0x6c4d49a3ee011e49ee86494eee4baf422204ff85ca6ee33b8aee7c929f90f66e", + "kind": "transparent" } ], "impls": { @@ -3553,6 +3623,3038 @@ } } } + }, + "251dba59783e99de4da4234441922831c9a499a6e6d79632babe3d2fb53889ae": { + "address": "0x7B5Bd5A38677A5355A54adc9B3113C3023709d03", + "txHash": "0x3accb88410e6369bdd8bdc1442f7b73bc9cd5e573c58ecd630e0a423413e8b37", + "layout": { + "solcVersion": "0.8.9", + "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": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_balances", + "offset": 0, + "slot": "51", + "type": "t_mapping(t_address,t_uint256)", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:40" + }, + { + "label": "_allowances", + "offset": 0, + "slot": "52", + "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:42" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "53", + "type": "t_uint256", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:44" + }, + { + "label": "_name", + "offset": 0, + "slot": "54", + "type": "t_string_storage", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:46" + }, + { + "label": "_symbol", + "offset": 0, + "slot": "55", + "type": "t_string_storage", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:47" + }, + { + "label": "__gap", + "offset": 0, + "slot": "56", + "type": "t_array(t_uint256)45_storage", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:376" + }, + { + "label": "_paused", + "offset": 0, + "slot": "101", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "151", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC20PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PausableUpgradeable.sol:48" + }, + { + "label": "accessControl", + "offset": 0, + "slot": "201", + "type": "t_contract(MidasAccessControl)8968", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "252", + "type": "t_array(t_uint256)50_storage", + "contract": "Blacklistable", + "src": "contracts/access/Blacklistable.sol:16" + }, + { + "label": "metadata", + "offset": 0, + "slot": "302", + "type": "t_mapping(t_bytes32,t_bytes_storage)", + "contract": "mTBILL", + "src": "contracts/mTBILL/mTBILL.sol:18" + }, + { + "label": "__gap", + "offset": 0, + "slot": "303", + "type": "t_array(t_uint256)50_storage", + "contract": "mTBILL", + "src": "contracts/mTBILL/mTBILL.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "353", + "type": "t_array(t_uint256)50_storage", + "contract": "lstHYPE", + "src": "contracts/lstHYPE/lstHYPE.sol:32" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)45_storage": { + "label": "uint256[45]", + "numberOfBytes": "1440" + }, + "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_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes_storage": { + "label": "bytes", + "numberOfBytes": "32" + }, + "t_contract(MidasAccessControl)8968": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_mapping(t_address,t_uint256))": { + "label": "mapping(address => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_bytes_storage)": { + "label": "mapping(bytes32 => bytes)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "b1e8fbf7d847a8a2df9594c0162b46ea90d51023803d3fa1c2b0415e1d4bf7a5": { + "address": "0x767807aE6789b1ea9Fe9D3C57Ef360392566E013", + "txHash": "0x9b099a61939a642d664a243985b423fec912ecfbb83a243b253e28bca1e3774e", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)8968", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "description", + "offset": 0, + "slot": "51", + "type": "t_string_storage", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:31" + }, + { + "label": "latestRound", + "offset": 0, + "slot": "52", + "type": "t_uint80", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:36" + }, + { + "label": "maxAnswerDeviation", + "offset": 0, + "slot": "53", + "type": "t_uint256", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:42" + }, + { + "label": "minAnswer", + "offset": 0, + "slot": "54", + "type": "t_int192", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:47" + }, + { + "label": "maxAnswer", + "offset": 0, + "slot": "55", + "type": "t_int192", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:52" + }, + { + "label": "_roundData", + "offset": 0, + "slot": "56", + "type": "t_mapping(t_uint80,t_struct(RoundData)9459_storage)", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "57", + "type": "t_array(t_uint256)50_storage", + "contract": "LstHypeCustomAggregatorFeed", + "src": "contracts/lstHYPE/LstHypeCustomAggregatorFeed.sol:20" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(MidasAccessControl)8968": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_int192": { + "label": "int192", + "numberOfBytes": "24" + }, + "t_int256": { + "label": "int256", + "numberOfBytes": "32" + }, + "t_mapping(t_uint80,t_struct(RoundData)9459_storage)": { + "label": "mapping(uint80 => struct CustomAggregatorV3CompatibleFeed.RoundData)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(RoundData)9459_storage": { + "label": "struct CustomAggregatorV3CompatibleFeed.RoundData", + "members": [ + { + "label": "roundId", + "type": "t_uint80", + "offset": 0, + "slot": "0" + }, + { + "label": "answer", + "type": "t_int256", + "offset": 0, + "slot": "1" + }, + { + "label": "startedAt", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "updatedAt", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "answeredInRound", + "type": "t_uint80", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + }, + "t_uint80": { + "label": "uint80", + "numberOfBytes": "10" + } + } + } + }, + "603451dd68a75f784c6acae2271b6b196bb9945611623a0440f6c01e5293c3d2": { + "address": "0xFCf86fa427Dd9651a029caDcA79a40F94E0b29Ba", + "txHash": "0xc71c23cbf0ec8c7ad671d0cdcb6d84562229b08fb5680b50e29068c9042b2035", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)8968", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "aggregator", + "offset": 0, + "slot": "51", + "type": "t_contract(AggregatorV3Interface)45", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:22" + }, + { + "label": "healthyDiff", + "offset": 0, + "slot": "52", + "type": "t_uint256", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:27" + }, + { + "label": "minExpectedAnswer", + "offset": 0, + "slot": "53", + "type": "t_int256", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:32" + }, + { + "label": "maxExpectedAnswer", + "offset": 0, + "slot": "54", + "type": "t_int256", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:37" + }, + { + "label": "__gap", + "offset": 0, + "slot": "55", + "type": "t_array(t_uint256)50_storage", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:42" + }, + { + "label": "__gap", + "offset": 0, + "slot": "105", + "type": "t_array(t_uint256)50_storage", + "contract": "LstHypeDataFeed", + "src": "contracts/lstHYPE/LstHypeDataFeed.sol:16" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(AggregatorV3Interface)45": { + "label": "contract AggregatorV3Interface", + "numberOfBytes": "20" + }, + "t_contract(MidasAccessControl)8968": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_int256": { + "label": "int256", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "8e8f71909f991ba6c4665ebdd7e01109975ea90af1ce438c9ac55f94270b59a7": { + "address": "0x58d5c2068A61B8ad234f7280f0f94533418dBd3b", + "txHash": "0x5edd9f6e54e1d0b36610ddcea52604db8b3be04b54c64903213a5fdf033a9c52", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)8968", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_paused", + "offset": 0, + "slot": "101", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "fnPaused", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes4,t_bool)", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:14" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)50_storage", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:19" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)50_storage", + "contract": "Blacklistable", + "src": "contracts/access/Blacklistable.sol:16" + }, + { + "label": "greenlistEnabled", + "offset": 0, + "slot": "252", + "type": "t_bool", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "253", + "type": "t_array(t_uint256)50_storage", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:27" + }, + { + "label": "sanctionsList", + "offset": 0, + "slot": "303", + "type": "t_address", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:18" + }, + { + "label": "__gap", + "offset": 0, + "slot": "304", + "type": "t_array(t_uint256)50_storage", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:23" + }, + { + "label": "currentRequestId", + "offset": 0, + "slot": "354", + "type": "t_struct(Counter)4184_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:53" + }, + { + "label": "mToken", + "offset": 0, + "slot": "355", + "type": "t_contract(IMTbill)10708", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:66" + }, + { + "label": "mTokenDataFeed", + "offset": 0, + "slot": "356", + "type": "t_contract(IDataFeed)10527", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:71" + }, + { + "label": "tokensReceiver", + "offset": 0, + "slot": "357", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:76" + }, + { + "label": "instantFee", + "offset": 0, + "slot": "358", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:81" + }, + { + "label": "instantDailyLimit", + "offset": 0, + "slot": "359", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:88" + }, + { + "label": "dailyLimits", + "offset": 0, + "slot": "360", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:93" + }, + { + "label": "feeReceiver", + "offset": 0, + "slot": "361", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:98" + }, + { + "label": "variationTolerance", + "offset": 0, + "slot": "362", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:103" + }, + { + "label": "waivedFeeRestriction", + "offset": 0, + "slot": "363", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:108" + }, + { + "label": "_paymentTokens", + "offset": 0, + "slot": "364", + "type": "t_struct(AddressSet)3891_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:113" + }, + { + "label": "tokensConfig", + "offset": 0, + "slot": "366", + "type": "t_mapping(t_address,t_struct(TokenConfig)10721_storage)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:118" + }, + { + "label": "minAmount", + "offset": 0, + "slot": "367", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:123" + }, + { + "label": "isFreeFromMinAmount", + "offset": 0, + "slot": "368", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:128" + }, + { + "label": "__gap", + "offset": 0, + "slot": "369", + "type": "t_array(t_uint256)50_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:133" + }, + { + "label": "minMTokenAmountForFirstDeposit", + "offset": 0, + "slot": "419", + "type": "t_uint256", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:26" + }, + { + "label": "mintRequests", + "offset": 0, + "slot": "420", + "type": "t_mapping(t_uint256,t_struct(Request)10544_storage)", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:31" + }, + { + "label": "totalMinted", + "offset": 0, + "slot": "421", + "type": "t_mapping(t_address,t_uint256)", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "422", + "type": "t_array(t_uint256)50_storage", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:41" + }, + { + "label": "__gap", + "offset": 0, + "slot": "472", + "type": "t_array(t_uint256)50_storage", + "contract": "LstHypeDepositVault", + "src": "contracts/lstHYPE/LstHypeDepositVault.sol:16" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_bytes32)dyn_storage": { + "label": "bytes32[]", + "numberOfBytes": "32" + }, + "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_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes4": { + "label": "bytes4", + "numberOfBytes": "4" + }, + "t_contract(IDataFeed)10527": { + "label": "contract IDataFeed", + "numberOfBytes": "20" + }, + "t_contract(IMTbill)10708": { + "label": "contract IMTbill", + "numberOfBytes": "20" + }, + "t_contract(MidasAccessControl)8968": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_enum(RequestStatus)10725": { + "label": "enum RequestStatus", + "members": ["Pending", "Processed", "Canceled"], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(TokenConfig)10721_storage)": { + "label": "mapping(address => struct TokenConfig)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_uint256)": { + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes4,t_bool)": { + "label": "mapping(bytes4 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Request)10544_storage)": { + "label": "mapping(uint256 => struct Request)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_struct(AddressSet)3891_storage": { + "label": "struct EnumerableSetUpgradeable.AddressSet", + "members": [ + { + "label": "_inner", + "type": "t_struct(Set)3576_storage", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "64" + }, + "t_struct(Counter)4184_storage": { + "label": "struct Counters.Counter", + "members": [ + { + "label": "_value", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Request)10544_storage": { + "label": "struct Request", + "members": [ + { + "label": "sender", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "tokenIn", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "status", + "type": "t_enum(RequestStatus)10725", + "offset": 20, + "slot": "1" + }, + { + "label": "depositedUsdAmount", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "usdAmountWithoutFees", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "tokenOutRate", + "type": "t_uint256", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_struct(Set)3576_storage": { + "label": "struct EnumerableSetUpgradeable.Set", + "members": [ + { + "label": "_values", + "type": "t_array(t_bytes32)dyn_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "_indexes", + "type": "t_mapping(t_bytes32,t_uint256)", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(TokenConfig)10721_storage": { + "label": "struct TokenConfig", + "members": [ + { + "label": "dataFeed", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "allowance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "stable", + "type": "t_bool", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "53c36db8ff340d2a2c6766f3882b5294b6d300e5e557747b9bb55a4de2a4703f": { + "address": "0x75b6F098A6FD7D50e21e903C7f246f04D2bCFc16", + "txHash": "0x589a6aaaac0459e69c45183b3439b19a094b4494c66f1675387e576835ebbd4f", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)8968", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_paused", + "offset": 0, + "slot": "101", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "fnPaused", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes4,t_bool)", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:14" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)50_storage", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:19" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)50_storage", + "contract": "Blacklistable", + "src": "contracts/access/Blacklistable.sol:16" + }, + { + "label": "greenlistEnabled", + "offset": 0, + "slot": "252", + "type": "t_bool", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "253", + "type": "t_array(t_uint256)50_storage", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:27" + }, + { + "label": "sanctionsList", + "offset": 0, + "slot": "303", + "type": "t_address", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:18" + }, + { + "label": "__gap", + "offset": 0, + "slot": "304", + "type": "t_array(t_uint256)50_storage", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:23" + }, + { + "label": "currentRequestId", + "offset": 0, + "slot": "354", + "type": "t_struct(Counter)4184_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:53" + }, + { + "label": "mToken", + "offset": 0, + "slot": "355", + "type": "t_contract(IMTbill)10708", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:66" + }, + { + "label": "mTokenDataFeed", + "offset": 0, + "slot": "356", + "type": "t_contract(IDataFeed)10527", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:71" + }, + { + "label": "tokensReceiver", + "offset": 0, + "slot": "357", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:76" + }, + { + "label": "instantFee", + "offset": 0, + "slot": "358", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:81" + }, + { + "label": "instantDailyLimit", + "offset": 0, + "slot": "359", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:88" + }, + { + "label": "dailyLimits", + "offset": 0, + "slot": "360", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:93" + }, + { + "label": "feeReceiver", + "offset": 0, + "slot": "361", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:98" + }, + { + "label": "variationTolerance", + "offset": 0, + "slot": "362", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:103" + }, + { + "label": "waivedFeeRestriction", + "offset": 0, + "slot": "363", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:108" + }, + { + "label": "_paymentTokens", + "offset": 0, + "slot": "364", + "type": "t_struct(AddressSet)3891_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:113" + }, + { + "label": "tokensConfig", + "offset": 0, + "slot": "366", + "type": "t_mapping(t_address,t_struct(TokenConfig)10721_storage)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:118" + }, + { + "label": "minAmount", + "offset": 0, + "slot": "367", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:123" + }, + { + "label": "isFreeFromMinAmount", + "offset": 0, + "slot": "368", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:128" + }, + { + "label": "__gap", + "offset": 0, + "slot": "369", + "type": "t_array(t_uint256)50_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:133" + }, + { + "label": "minFiatRedeemAmount", + "offset": 0, + "slot": "419", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:28" + }, + { + "label": "fiatAdditionalFee", + "offset": 0, + "slot": "420", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:33" + }, + { + "label": "fiatFlatFee", + "offset": 0, + "slot": "421", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:38" + }, + { + "label": "redeemRequests", + "offset": 0, + "slot": "422", + "type": "t_mapping(t_uint256,t_struct(Request)10985_storage)", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:43" + }, + { + "label": "requestRedeemer", + "offset": 0, + "slot": "423", + "type": "t_address", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:48" + }, + { + "label": "__gap", + "offset": 0, + "slot": "424", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:53" + }, + { + "label": "___gap", + "offset": 0, + "slot": "474", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:33" + }, + { + "label": "mTbillRedemptionVault", + "offset": 0, + "slot": "524", + "type": "t_contract(IRedemptionVault)11145", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:40" + }, + { + "label": "liquidityProvider", + "offset": 0, + "slot": "525", + "type": "t_address", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:42" + }, + { + "label": "__gap", + "offset": 0, + "slot": "526", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:47" + }, + { + "label": "__gap", + "offset": 0, + "slot": "576", + "type": "t_array(t_uint256)50_storage", + "contract": "LstHypeRedemptionVaultWithSwapper", + "src": "contracts/lstHYPE/LstHypeRedemptionVaultWithSwapper.sol:19" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_bytes32)dyn_storage": { + "label": "bytes32[]", + "numberOfBytes": "32" + }, + "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_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes4": { + "label": "bytes4", + "numberOfBytes": "4" + }, + "t_contract(IDataFeed)10527": { + "label": "contract IDataFeed", + "numberOfBytes": "20" + }, + "t_contract(IMTbill)10708": { + "label": "contract IMTbill", + "numberOfBytes": "20" + }, + "t_contract(IRedemptionVault)11145": { + "label": "contract IRedemptionVault", + "numberOfBytes": "20" + }, + "t_contract(MidasAccessControl)8968": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_enum(RequestStatus)10725": { + "label": "enum RequestStatus", + "members": ["Pending", "Processed", "Canceled"], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(TokenConfig)10721_storage)": { + "label": "mapping(address => struct TokenConfig)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_uint256)": { + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes4,t_bool)": { + "label": "mapping(bytes4 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Request)10985_storage)": { + "label": "mapping(uint256 => struct Request)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_struct(AddressSet)3891_storage": { + "label": "struct EnumerableSetUpgradeable.AddressSet", + "members": [ + { + "label": "_inner", + "type": "t_struct(Set)3576_storage", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "64" + }, + "t_struct(Counter)4184_storage": { + "label": "struct Counters.Counter", + "members": [ + { + "label": "_value", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Request)10985_storage": { + "label": "struct Request", + "members": [ + { + "label": "sender", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "tokenOut", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "status", + "type": "t_enum(RequestStatus)10725", + "offset": 20, + "slot": "1" + }, + { + "label": "amountMToken", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "mTokenRate", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "tokenOutRate", + "type": "t_uint256", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_struct(Set)3576_storage": { + "label": "struct EnumerableSetUpgradeable.Set", + "members": [ + { + "label": "_values", + "type": "t_array(t_bytes32)dyn_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "_indexes", + "type": "t_mapping(t_bytes32,t_uint256)", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(TokenConfig)10721_storage": { + "label": "struct TokenConfig", + "members": [ + { + "label": "dataFeed", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "allowance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "stable", + "type": "t_bool", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "eefa148e350035e5559216ad426ca774a490f9789a94d51bb7286a6c59168cf4": { + "address": "0x6d684992F8d105B33f9b1bbAa77bDD0E0F71F585", + "txHash": "0xab7a0cab8da4f8fa2bfd6cd8d15395a78684231deab4f3394abca1b48fa462c2", + "layout": { + "solcVersion": "0.8.9", + "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": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_balances", + "offset": 0, + "slot": "51", + "type": "t_mapping(t_address,t_uint256)", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:40" + }, + { + "label": "_allowances", + "offset": 0, + "slot": "52", + "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:42" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "53", + "type": "t_uint256", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:44" + }, + { + "label": "_name", + "offset": 0, + "slot": "54", + "type": "t_string_storage", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:46" + }, + { + "label": "_symbol", + "offset": 0, + "slot": "55", + "type": "t_string_storage", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:47" + }, + { + "label": "__gap", + "offset": 0, + "slot": "56", + "type": "t_array(t_uint256)45_storage", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:376" + }, + { + "label": "_paused", + "offset": 0, + "slot": "101", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "151", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC20PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PausableUpgradeable.sol:48" + }, + { + "label": "accessControl", + "offset": 0, + "slot": "201", + "type": "t_contract(MidasAccessControl)11638", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "252", + "type": "t_array(t_uint256)50_storage", + "contract": "Blacklistable", + "src": "contracts/access/Blacklistable.sol:16" + }, + { + "label": "metadata", + "offset": 0, + "slot": "302", + "type": "t_mapping(t_bytes32,t_bytes_storage)", + "contract": "mTBILL", + "src": "contracts/mTBILL/mTBILL.sol:18" + }, + { + "label": "__gap", + "offset": 0, + "slot": "303", + "type": "t_array(t_uint256)50_storage", + "contract": "mTBILL", + "src": "contracts/mTBILL/mTBILL.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "353", + "type": "t_array(t_uint256)50_storage", + "contract": "liquidHYPE", + "src": "contracts/liquidHYPE/liquidHYPE.sol:32" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)45_storage": { + "label": "uint256[45]", + "numberOfBytes": "1440" + }, + "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_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes_storage": { + "label": "bytes", + "numberOfBytes": "32" + }, + "t_contract(MidasAccessControl)11638": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_mapping(t_address,t_uint256))": { + "label": "mapping(address => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_bytes_storage)": { + "label": "mapping(bytes32 => bytes)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "1bee2f2ac490401ef75b5c6f96a8c81c7a0367d2ab753315615bd73460decbed": { + "address": "0x20a9BB2E08b9cB3C38cb3838311f7E0bd129bFF8", + "txHash": "0xfb5a16980e4c3443753e1cb01e3e2e903023ff3c5a36f6546717d2af98beea59", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)11638", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "description", + "offset": 0, + "slot": "51", + "type": "t_string_storage", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:31" + }, + { + "label": "latestRound", + "offset": 0, + "slot": "52", + "type": "t_uint80", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:36" + }, + { + "label": "maxAnswerDeviation", + "offset": 0, + "slot": "53", + "type": "t_uint256", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:42" + }, + { + "label": "minAnswer", + "offset": 0, + "slot": "54", + "type": "t_int192", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:47" + }, + { + "label": "maxAnswer", + "offset": 0, + "slot": "55", + "type": "t_int192", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:52" + }, + { + "label": "_roundData", + "offset": 0, + "slot": "56", + "type": "t_mapping(t_uint80,t_struct(RoundData)12208_storage)", + "contract": "CustomAggregatorV3CompatibleFeed", + "src": "contracts/feeds/CustomAggregatorV3CompatibleFeed.sol:57" + }, + { + "label": "__gap", + "offset": 0, + "slot": "57", + "type": "t_array(t_uint256)50_storage", + "contract": "LiquidHypeCustomAggregatorFeed", + "src": "contracts/liquidHYPE/LiquidHypeCustomAggregatorFeed.sol:20" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(MidasAccessControl)11638": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_int192": { + "label": "int192", + "numberOfBytes": "24" + }, + "t_int256": { + "label": "int256", + "numberOfBytes": "32" + }, + "t_mapping(t_uint80,t_struct(RoundData)12208_storage)": { + "label": "mapping(uint80 => struct CustomAggregatorV3CompatibleFeed.RoundData)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(RoundData)12208_storage": { + "label": "struct CustomAggregatorV3CompatibleFeed.RoundData", + "members": [ + { + "label": "roundId", + "type": "t_uint80", + "offset": 0, + "slot": "0" + }, + { + "label": "answer", + "type": "t_int256", + "offset": 0, + "slot": "1" + }, + { + "label": "startedAt", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "updatedAt", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "answeredInRound", + "type": "t_uint80", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + }, + "t_uint80": { + "label": "uint80", + "numberOfBytes": "10" + } + } + } + }, + "79262f211feed313e6bbabced72f7383fc3dd1f8aa5d4748a5e55d494226a0d2": { + "address": "0x156286eD5ce3Ac31F20EF501ad6a3de915fDB01E", + "txHash": "0xb4191b24ae8cc258e9e16ce8bee55fdb813648d63680a464c5a8a5c5a98b6692", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)11638", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "aggregator", + "offset": 0, + "slot": "51", + "type": "t_contract(AggregatorV3Interface)45", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:22" + }, + { + "label": "healthyDiff", + "offset": 0, + "slot": "52", + "type": "t_uint256", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:27" + }, + { + "label": "minExpectedAnswer", + "offset": 0, + "slot": "53", + "type": "t_int256", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:32" + }, + { + "label": "maxExpectedAnswer", + "offset": 0, + "slot": "54", + "type": "t_int256", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:37" + }, + { + "label": "__gap", + "offset": 0, + "slot": "55", + "type": "t_array(t_uint256)50_storage", + "contract": "DataFeed", + "src": "contracts/feeds/DataFeed.sol:42" + }, + { + "label": "__gap", + "offset": 0, + "slot": "105", + "type": "t_array(t_uint256)50_storage", + "contract": "LiquidHypeDataFeed", + "src": "contracts/liquidHYPE/LiquidHypeDataFeed.sol:16" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(AggregatorV3Interface)45": { + "label": "contract AggregatorV3Interface", + "numberOfBytes": "20" + }, + "t_contract(MidasAccessControl)11638": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_int256": { + "label": "int256", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "88b3e09ef57df9cf6d68b58b0fbaac29efd6fd48481d317819f74b4ebdfd12bb": { + "address": "0x0dE56F6dD79D85Fd71EfAF12d1a1d39Ee2c0f2F2", + "txHash": "0xb8eb84d4941eb7ac21210e07743144cab39abdda974d3b670f412a2c120582ee", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)11638", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_paused", + "offset": 0, + "slot": "101", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "fnPaused", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes4,t_bool)", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:14" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)50_storage", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:19" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)50_storage", + "contract": "Blacklistable", + "src": "contracts/access/Blacklistable.sol:16" + }, + { + "label": "greenlistEnabled", + "offset": 0, + "slot": "252", + "type": "t_bool", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "253", + "type": "t_array(t_uint256)50_storage", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:27" + }, + { + "label": "sanctionsList", + "offset": 0, + "slot": "303", + "type": "t_address", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:18" + }, + { + "label": "__gap", + "offset": 0, + "slot": "304", + "type": "t_array(t_uint256)50_storage", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:23" + }, + { + "label": "currentRequestId", + "offset": 0, + "slot": "354", + "type": "t_struct(Counter)6300_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:53" + }, + { + "label": "mToken", + "offset": 0, + "slot": "355", + "type": "t_contract(IMTbill)14305", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:66" + }, + { + "label": "mTokenDataFeed", + "offset": 0, + "slot": "356", + "type": "t_contract(IDataFeed)14124", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:71" + }, + { + "label": "tokensReceiver", + "offset": 0, + "slot": "357", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:76" + }, + { + "label": "instantFee", + "offset": 0, + "slot": "358", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:81" + }, + { + "label": "instantDailyLimit", + "offset": 0, + "slot": "359", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:88" + }, + { + "label": "dailyLimits", + "offset": 0, + "slot": "360", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:93" + }, + { + "label": "feeReceiver", + "offset": 0, + "slot": "361", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:98" + }, + { + "label": "variationTolerance", + "offset": 0, + "slot": "362", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:103" + }, + { + "label": "waivedFeeRestriction", + "offset": 0, + "slot": "363", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:108" + }, + { + "label": "_paymentTokens", + "offset": 0, + "slot": "364", + "type": "t_struct(AddressSet)3891_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:113" + }, + { + "label": "tokensConfig", + "offset": 0, + "slot": "366", + "type": "t_mapping(t_address,t_struct(TokenConfig)14318_storage)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:118" + }, + { + "label": "minAmount", + "offset": 0, + "slot": "367", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:123" + }, + { + "label": "isFreeFromMinAmount", + "offset": 0, + "slot": "368", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:128" + }, + { + "label": "__gap", + "offset": 0, + "slot": "369", + "type": "t_array(t_uint256)50_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:133" + }, + { + "label": "minMTokenAmountForFirstDeposit", + "offset": 0, + "slot": "419", + "type": "t_uint256", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:26" + }, + { + "label": "mintRequests", + "offset": 0, + "slot": "420", + "type": "t_mapping(t_uint256,t_struct(Request)14141_storage)", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:31" + }, + { + "label": "totalMinted", + "offset": 0, + "slot": "421", + "type": "t_mapping(t_address,t_uint256)", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "422", + "type": "t_array(t_uint256)50_storage", + "contract": "DepositVault", + "src": "contracts/DepositVault.sol:41" + }, + { + "label": "__gap", + "offset": 0, + "slot": "472", + "type": "t_array(t_uint256)50_storage", + "contract": "LiquidHypeDepositVault", + "src": "contracts/liquidHYPE/LiquidHypeDepositVault.sol:19" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_bytes32)dyn_storage": { + "label": "bytes32[]", + "numberOfBytes": "32" + }, + "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_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes4": { + "label": "bytes4", + "numberOfBytes": "4" + }, + "t_contract(IDataFeed)14124": { + "label": "contract IDataFeed", + "numberOfBytes": "20" + }, + "t_contract(IMTbill)14305": { + "label": "contract IMTbill", + "numberOfBytes": "20" + }, + "t_contract(MidasAccessControl)11638": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_enum(RequestStatus)14322": { + "label": "enum RequestStatus", + "members": ["Pending", "Processed", "Canceled"], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(TokenConfig)14318_storage)": { + "label": "mapping(address => struct TokenConfig)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_uint256)": { + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes4,t_bool)": { + "label": "mapping(bytes4 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Request)14141_storage)": { + "label": "mapping(uint256 => struct Request)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_struct(AddressSet)3891_storage": { + "label": "struct EnumerableSetUpgradeable.AddressSet", + "members": [ + { + "label": "_inner", + "type": "t_struct(Set)3576_storage", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "64" + }, + "t_struct(Counter)6300_storage": { + "label": "struct Counters.Counter", + "members": [ + { + "label": "_value", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Request)14141_storage": { + "label": "struct Request", + "members": [ + { + "label": "sender", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "tokenIn", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "status", + "type": "t_enum(RequestStatus)14322", + "offset": 20, + "slot": "1" + }, + { + "label": "depositedUsdAmount", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "usdAmountWithoutFees", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "tokenOutRate", + "type": "t_uint256", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_struct(Set)3576_storage": { + "label": "struct EnumerableSetUpgradeable.Set", + "members": [ + { + "label": "_values", + "type": "t_array(t_bytes32)dyn_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "_indexes", + "type": "t_mapping(t_bytes32,t_uint256)", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(TokenConfig)14318_storage": { + "label": "struct TokenConfig", + "members": [ + { + "label": "dataFeed", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "allowance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "stable", + "type": "t_bool", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "8533b4b3ae8ebeb4dc56b4a60b8b276e6e98aaffb50623478e588c33032b687e": { + "address": "0xA69ca6052A4eBf72Ce3497a7F7c5599382825Cd2", + "txHash": "0x5709fe0e7bf41d2c21850a0bf99733682fba7827979e97fb42ef83a9a27416e9", + "layout": { + "solcVersion": "0.8.9", + "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": "accessControl", + "offset": 2, + "slot": "0", + "type": "t_contract(MidasAccessControl)11638", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:24" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "WithMidasAccessControl", + "src": "contracts/access/WithMidasAccessControl.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_paused", + "offset": 0, + "slot": "101", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "fnPaused", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes4,t_bool)", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:14" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)50_storage", + "contract": "Pausable", + "src": "contracts/access/Pausable.sol:19" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)50_storage", + "contract": "Blacklistable", + "src": "contracts/access/Blacklistable.sol:16" + }, + { + "label": "greenlistEnabled", + "offset": 0, + "slot": "252", + "type": "t_bool", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "253", + "type": "t_array(t_uint256)50_storage", + "contract": "Greenlistable", + "src": "contracts/access/Greenlistable.sol:27" + }, + { + "label": "sanctionsList", + "offset": 0, + "slot": "303", + "type": "t_address", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:18" + }, + { + "label": "__gap", + "offset": 0, + "slot": "304", + "type": "t_array(t_uint256)50_storage", + "contract": "WithSanctionsList", + "src": "contracts/abstract/WithSanctionsList.sol:23" + }, + { + "label": "currentRequestId", + "offset": 0, + "slot": "354", + "type": "t_struct(Counter)6300_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:53" + }, + { + "label": "mToken", + "offset": 0, + "slot": "355", + "type": "t_contract(IMTbill)14305", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:66" + }, + { + "label": "mTokenDataFeed", + "offset": 0, + "slot": "356", + "type": "t_contract(IDataFeed)14124", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:71" + }, + { + "label": "tokensReceiver", + "offset": 0, + "slot": "357", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:76" + }, + { + "label": "instantFee", + "offset": 0, + "slot": "358", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:81" + }, + { + "label": "instantDailyLimit", + "offset": 0, + "slot": "359", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:88" + }, + { + "label": "dailyLimits", + "offset": 0, + "slot": "360", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:93" + }, + { + "label": "feeReceiver", + "offset": 0, + "slot": "361", + "type": "t_address", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:98" + }, + { + "label": "variationTolerance", + "offset": 0, + "slot": "362", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:103" + }, + { + "label": "waivedFeeRestriction", + "offset": 0, + "slot": "363", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:108" + }, + { + "label": "_paymentTokens", + "offset": 0, + "slot": "364", + "type": "t_struct(AddressSet)3891_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:113" + }, + { + "label": "tokensConfig", + "offset": 0, + "slot": "366", + "type": "t_mapping(t_address,t_struct(TokenConfig)14318_storage)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:118" + }, + { + "label": "minAmount", + "offset": 0, + "slot": "367", + "type": "t_uint256", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:123" + }, + { + "label": "isFreeFromMinAmount", + "offset": 0, + "slot": "368", + "type": "t_mapping(t_address,t_bool)", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:128" + }, + { + "label": "__gap", + "offset": 0, + "slot": "369", + "type": "t_array(t_uint256)50_storage", + "contract": "ManageableVault", + "src": "contracts/abstract/ManageableVault.sol:133" + }, + { + "label": "minFiatRedeemAmount", + "offset": 0, + "slot": "419", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:28" + }, + { + "label": "fiatAdditionalFee", + "offset": 0, + "slot": "420", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:33" + }, + { + "label": "fiatFlatFee", + "offset": 0, + "slot": "421", + "type": "t_uint256", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:38" + }, + { + "label": "redeemRequests", + "offset": 0, + "slot": "422", + "type": "t_mapping(t_uint256,t_struct(Request)14582_storage)", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:43" + }, + { + "label": "requestRedeemer", + "offset": 0, + "slot": "423", + "type": "t_address", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:48" + }, + { + "label": "__gap", + "offset": 0, + "slot": "424", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVault", + "src": "contracts/RedemptionVault.sol:53" + }, + { + "label": "___gap", + "offset": 0, + "slot": "474", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:33" + }, + { + "label": "mTbillRedemptionVault", + "offset": 0, + "slot": "524", + "type": "t_contract(IRedemptionVault)14742", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:40" + }, + { + "label": "liquidityProvider", + "offset": 0, + "slot": "525", + "type": "t_address", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:42" + }, + { + "label": "__gap", + "offset": 0, + "slot": "526", + "type": "t_array(t_uint256)50_storage", + "contract": "RedemptionVaultWithSwapper", + "src": "contracts/RedemptionVaultWithSwapper.sol:47" + }, + { + "label": "__gap", + "offset": 0, + "slot": "576", + "type": "t_array(t_uint256)50_storage", + "contract": "LiquidHypeRedemptionVaultWithSwapper", + "src": "contracts/liquidHYPE/LiquidHypeRedemptionVaultWithSwapper.sol:19" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_bytes32)dyn_storage": { + "label": "bytes32[]", + "numberOfBytes": "32" + }, + "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_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes4": { + "label": "bytes4", + "numberOfBytes": "4" + }, + "t_contract(IDataFeed)14124": { + "label": "contract IDataFeed", + "numberOfBytes": "20" + }, + "t_contract(IMTbill)14305": { + "label": "contract IMTbill", + "numberOfBytes": "20" + }, + "t_contract(IRedemptionVault)14742": { + "label": "contract IRedemptionVault", + "numberOfBytes": "20" + }, + "t_contract(MidasAccessControl)11638": { + "label": "contract MidasAccessControl", + "numberOfBytes": "20" + }, + "t_enum(RequestStatus)14322": { + "label": "enum RequestStatus", + "members": ["Pending", "Processed", "Canceled"], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(TokenConfig)14318_storage)": { + "label": "mapping(address => struct TokenConfig)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_uint256)": { + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes4,t_bool)": { + "label": "mapping(bytes4 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Request)14582_storage)": { + "label": "mapping(uint256 => struct Request)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_struct(AddressSet)3891_storage": { + "label": "struct EnumerableSetUpgradeable.AddressSet", + "members": [ + { + "label": "_inner", + "type": "t_struct(Set)3576_storage", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "64" + }, + "t_struct(Counter)6300_storage": { + "label": "struct Counters.Counter", + "members": [ + { + "label": "_value", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Request)14582_storage": { + "label": "struct Request", + "members": [ + { + "label": "sender", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "tokenOut", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "status", + "type": "t_enum(RequestStatus)14322", + "offset": 20, + "slot": "1" + }, + { + "label": "amountMToken", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "mTokenRate", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "tokenOutRate", + "type": "t_uint256", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_struct(Set)3576_storage": { + "label": "struct EnumerableSetUpgradeable.Set", + "members": [ + { + "label": "_values", + "type": "t_array(t_bytes32)dyn_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "_indexes", + "type": "t_mapping(t_bytes32,t_uint256)", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(TokenConfig)14318_storage": { + "label": "struct TokenConfig", + "members": [ + { + "label": "dataFeed", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "allowance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "stable", + "type": "t_bool", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + }, + "allAddresses": [ + "0xA69ca6052A4eBf72Ce3497a7F7c5599382825Cd2", + "0x6b1331D4e885aE3143ee23726573AcaDAbE2E137" + ] } } } diff --git a/ROLES.md b/ROLES.md index 65943e07..472d844c 100644 --- a/ROLES.md +++ b/ROLES.md @@ -15,6 +15,7 @@ All the roles for the Midas protocol smart contracts are listed below. | ***blacklisted*** | `0x548c7f0307ab2a7ea894e5c7e8c5353cc750bb9385ee2e945f189a9a83daa8ed` | | ***blacklistedOperator*** | `0x2fdc6683bc8d03effec5b41d3834f28bd219e06ca0a6a26fc737e44b1c7889ff` | + ## Token Roles ### mTBILL Roles @@ -138,6 +139,28 @@ All the roles for the Midas protocol smart contracts are listed below. | ***depositVaultAdmin*** | `0xc36e0ff97dfe3349dafe1988294b64f3512b08a634f42b52895a3c3559879a23` | | ***redemptionVaultAdmin*** | `0xe48f52da9588e92d268adb569f098fc35caa5a1913185feefe9c4e62554590bd` | +### mHYPER Roles + +| Role Name | Role | +| --- | --- | +| ***minter*** | `0xe6046a6e8c55ddf579e30dbcefd2018a368c8b9d4836e839e4858921fb6305d7` | +| ***burner*** | `0xc01eb6e1b4773016d504457dce3f5e83f90f9aad6448a1cac83788ac51b02b68` | +| ***pauser*** | `0x81b54f25b57244cec3082584e702e3d8145a58ff31a5f48fd4a8768cb875788b` | +| ***customFeedAdmin*** | `0xf579edbdfe71eecb0735bb2656b6d53f5b7ee74072467c73e651c84bd4f94e1b` | +| ***depositVaultAdmin*** | `0x5375b38f2ad9c8c8833b90d06ab20e4199feca9d6a6c8f2369d8f717325f4732` | +| ***redemptionVaultAdmin*** | `0xa6095bf1d1689844730f85ea9c1edf7d9e1566838e1baa0327271b6c8c31dd8a` | + +### mAPOLLO Roles + +| Role Name | Role | +| --- | --- | +| ***minter*** | `0x59407f5c6daac4079fa24b515198321ffd28cbdf6f85639037afa72b911a29cf` | +| ***burner*** | `0xa200dd77df4b34ae6c19cb3e3dc83d679195101d9cd5cb8bd0ad2def1b96390b` | +| ***pauser*** | `0xe2244752dbb382338a8c397a21467f95453df086aaf28e473476e12eca96891b` | +| ***customFeedAdmin*** | `0xcdd2c3a00a01651579d9e60180508ef1b0735d9ea12d2ccc6a5a17304c3865e0` | +| ***depositVaultAdmin*** | `0x257642c7a907c8e097f048c5aec3671d93280c2ea79e740dbf3db850fbbfe87c` | +| ***redemptionVaultAdmin*** | `0xba606c08c0542611892ee357c770c7db19d0a4746e65e6ed76098fab6f5a1f74` | + ### mLIQUIDITY Roles | Role Name | Role | @@ -226,6 +249,28 @@ All the roles for the Midas protocol smart contracts are listed below. | ***depositVaultAdmin*** | `0x47a846aa32c59e889fc832ab1f36a3ddfdb2811bf9584199312c2e9f9e2e65d2` | | ***redemptionVaultAdmin*** | `0xa584655a424c1847696a6f0b8baf98ccf0779d1ce1aa17ee76d36d10eb092153` | +### lstHYPE Roles + +| Role Name | Role | +| --- | --- | +| ***minter*** | `0xd9d613875b1cf92181a9917c3b79b390efe1794a42a2c8c4d66369e1eac56bc7` | +| ***burner*** | `0xfd43ba2dfbb1539f854cd0323df890e1ad67033654710e83d8525d8d43a18786` | +| ***pauser*** | `0x12235f80c8dd32fe7d29618c4b2e821779346d2e6a7aba195ca4f97b77dabd67` | +| ***customFeedAdmin*** | `0x745baa764d110b42b6dabca1d82c565ed4cbc8cd27bf9f332de5f0ddab2bcb56` | +| ***depositVaultAdmin*** | `0x35f1adb8c633db7cf4cc370ccfb50b8aa56b5e38a8cdf1bf5d3a58f82dc21cc0` | +| ***redemptionVaultAdmin*** | `0x22e39eb53f44668fbc61c98ca3b75d9c269561162df7cd08bf1b4b51ee2d40c6` | + +### liquidHYPE Roles + +| Role Name | Role | +| --- | --- | +| ***minter*** | `0x5652862ba278bea9c37b31899106e05dde7b59edb9efa32f699274a11a9e5ce0` | +| ***burner*** | `0x3ad6caa208563575bbc20537065b7758606cfc02093977c82f21d01f1cc5f521` | +| ***pauser*** | `0xbfc742108d04824c9a3d911362fa7f2a8b8e60064178e809c134e9698f0f8512` | +| ***customFeedAdmin*** | `0xc8008cecd14e51254a5f110598d40e4f0176f51948f29516417e78147adb3b4f` | +| ***depositVaultAdmin*** | `0x8eb8d75c3e48abb8e2dd66f0c7051267ad19ead14e551bc18d1833986047eba9` | +| ***redemptionVaultAdmin*** | `0x00788a6cc736b61867c5eef2e9b994a921eb9dd76db6909af6b392748456e8e5` | + ### TACmBTC Roles | Role Name | Role | @@ -257,4 +302,4 @@ All the roles for the Midas protocol smart contracts are listed below. | ***pauser*** | `0xe181f7ebeab6043b2aef6e7b855ade1c6478effc8f161002c1a6db314fa00bff` | | ***customFeedAdmin*** | `-` | | ***depositVaultAdmin*** | `0x747cb0a703a70d6f4c9a939eb8562c818cbd166a32ee124c8f67d378fb7b3acf` | -| ***redemptionVaultAdmin*** | `0x2b1562306621e9994db493bf6f01d859047d843e24d2e2505ed812afb0c7f338` | +| ***redemptionVaultAdmin*** | `0x2b1562306621e9994db493bf6f01d859047d843e24d2e2505ed812afb0c7f338` | \ No newline at end of file diff --git a/config/constants/addresses.ts b/config/constants/addresses.ts index 44b3ce11..805d6541 100644 --- a/config/constants/addresses.ts +++ b/config/constants/addresses.ts @@ -1,7 +1,7 @@ import { HardhatRuntimeEnvironment } from 'hardhat/types'; import { chainIds } from '../networks'; -import { ConfigPerNetwork, MTokenName } from '../types/index'; +import { ConfigPerNetwork, MTokenName } from '../types'; export type RedemptionVaultType = | 'redemptionVault' @@ -225,6 +225,20 @@ export const midasAddressesPerNetwork: ConfigPerNetwork< depositVault: '0x41438435c20B1C2f1fcA702d387889F346A0C3DE', redemptionVaultSwapper: '0x44b0440e35c596e858cEA433D0d82F5a985fD19C', }, + mHYPER: { + token: '0x9b5528528656DBC094765E2abB79F293c21191B9', + customFeed: '0x43881B05C3BE68B2d33eb70aDdF9F666C5005f68', + dataFeed: '0x92004DCC5359eD67f287F32d12715A37916deCdE', + depositVault: '0xbA9FD2850965053Ffab368Df8AA7eD2486f11024', + redemptionVaultSwapper: '0x6Be2f55816efd0d91f52720f096006d63c366e98', + }, + mAPOLLO: { + token: '0x7CF9DEC92ca9FD46f8d86e7798B72624Bc116C05', + customFeed: '0x84303e5568C7B167fa4fEBc6253CDdfe12b7Ee4B', + dataFeed: '0x9aEBf5d6F9411BAc355021ddFbe9B2c756BDD358', + depositVault: '0xc21511EDd1E6eCdc36e8aD4c82117033e50D5921', + redemptionVaultSwapper: '0x5aeA6D35ED7B3B7aE78694B7da2Ee880756Af5C0', + }, mLIQUIDITY: { token: '0x841EEb3e2489B2282b0E14202Dc8Bd8F7624e29A', customFeed: '0x74508886cDFEF22FddEDcA0d9Caf9E00E876C5aF', @@ -531,6 +545,21 @@ export const midasAddressesPerNetwork: ConfigPerNetwork< aggregator: '0x215ADBE371A3664640c67d754466CCeE102e9349', dataFeed: '0x289584e63A61C69EEE170cD553cff8B3FFD56EA7', }, + wsthype: { + token: '0x94e8396e0869c9F2200760aF0621aFd240E1CF38', + aggregator: '0xe6E8baDBB469d16e2060e1Ebeb60F92B2a1250A9', + dataFeed: '0xD28b1AB7098E7434a7b4eFdC99c35fb85CfD92C1', + }, + khype: { + token: '0xfD739d4e423301CE9385c1fb8850539D657C296D', + aggregator: '0xFfe5F5e9e18b88FBdD7e28d4A583a111C874fB47', + dataFeed: '0x5A55899f324bF45DD2dA0b97E145774a4668A9E4', + }, + whype: { + token: '0x5555555555555555555555555555555555555555', + aggregator: '0x7F1f3E3D57E5549828909AE3381C7bFF05A4fE09', + dataFeed: '0xE1C769D56Cb6448813732F7736041425AA0A4A75', + }, }, accessControl: '0x0312A9D1Ff2372DDEdCBB21e4B6389aFc919aC4B', hbUSDT: { @@ -547,6 +576,20 @@ export const midasAddressesPerNetwork: ConfigPerNetwork< depositVault: '0x48fb106Ef0c0C1a19EdDC9C5d27A945E66DA1C4E', redemptionVaultSwapper: '0xD26bB9B45140D17eF14FbD4fCa8Cf0d610ac50E7', }, + lstHYPE: { + token: '0x81e064d0eB539de7c3170EDF38C1A42CBd752A76', + customFeed: '0x2b959a9Deb8e62FaaEA1b226F3bbcbcC0Af31560', + dataFeed: '0x7d876E544F12bD3347B9e904F0fb2d83bEd59a27', + depositVault: '0x2b158D44eEbb03a025F75B79F1d8B3004Ac97737', + redemptionVaultSwapper: '0x1eff01e0784ae8d06a17AF29A2300D2A9cdA5440', + }, + liquidHYPE: { + token: '0x441794D6a8F9A3739F5D4E98a728937b33489D29', + customFeed: '0x1CeaB703956e24b18a0AF6b272E0bF3F499aCa0F', + dataFeed: '0x70519793f50c95f435972637E1190f41cfc907Bd', + depositVault: '0xF538675D292d8b372712f44eaf306Cc66cF6d8DC', + redemptionVaultSwapper: '0x558806a80b42cAB4ED75c74bfB178EDc9087AA32', + }, }, katana: { accessControl: '0x980f57b62060824799F23f87d6FA321653b6f069', diff --git a/config/types/tokens.ts b/config/types/tokens.ts index e5af9b79..7979a457 100644 --- a/config/types/tokens.ts +++ b/config/types/tokens.ts @@ -8,6 +8,8 @@ export enum MTokenNameEnum { mMEV = 'mMEV', mSL = 'mSL', mFONE = 'mFONE', + mHYPER = 'mHYPER', + mAPOLLO = 'mAPOLLO', hbUSDT = 'hbUSDT', hbXAUt = 'hbXAUt', TACmBTC = 'TACmBTC', @@ -21,6 +23,8 @@ export enum MTokenNameEnum { tUSDe = 'tUSDe', tBTC = 'tBTC', mevBTC = 'mevBTC', + lstHYPE = 'lstHYPE', + liquidHYPE = 'liquidHYPE', } export type MTokenName = keyof typeof MTokenNameEnum; @@ -58,6 +62,9 @@ export enum PaymentTokenNameEnum { jitosol = 'jitosol', usdhl = 'usdhl', tbtc = 'tbtc', + wsthype = 'wsthype', + khype = 'khype', + whype = 'whype', } export type PaymentTokenName = keyof typeof PaymentTokenNameEnum; diff --git a/contracts/liquidHYPE/LiquidHypeCustomAggregatorFeed.sol b/contracts/liquidHYPE/LiquidHypeCustomAggregatorFeed.sol new file mode 100644 index 00000000..9bfdbec5 --- /dev/null +++ b/contracts/liquidHYPE/LiquidHypeCustomAggregatorFeed.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +import "../feeds/CustomAggregatorV3CompatibleFeed.sol"; +import "./LiquidHypeMidasAccessControlRoles.sol"; + +/** + * @title LiquidHypeCustomAggregatorFeed + * @notice AggregatorV3 compatible feed for liquidHYPE, + * where price is submitted manually by feed admins + * @author RedDuck Software + */ +contract LiquidHypeCustomAggregatorFeed is + CustomAggregatorV3CompatibleFeed, + LiquidHypeMidasAccessControlRoles +{ + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @inheritdoc CustomAggregatorV3CompatibleFeed + */ + function feedAdminRole() public pure override returns (bytes32) { + return LIQUID_HYPE_CUSTOM_AGGREGATOR_FEED_ADMIN_ROLE; + } +} diff --git a/contracts/liquidHYPE/LiquidHypeDataFeed.sol b/contracts/liquidHYPE/LiquidHypeDataFeed.sol new file mode 100644 index 00000000..7cefa595 --- /dev/null +++ b/contracts/liquidHYPE/LiquidHypeDataFeed.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +import "../feeds/DataFeed.sol"; +import "./LiquidHypeMidasAccessControlRoles.sol"; + +/** + * @title LiquidHypeDataFeed + * @notice DataFeed for liquidHYPE product + * @author RedDuck Software + */ +contract LiquidHypeDataFeed is DataFeed, LiquidHypeMidasAccessControlRoles { + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @inheritdoc DataFeed + */ + function feedAdminRole() public pure override returns (bytes32) { + return LIQUID_HYPE_CUSTOM_AGGREGATOR_FEED_ADMIN_ROLE; + } +} diff --git a/contracts/liquidHYPE/LiquidHypeDepositVault.sol b/contracts/liquidHYPE/LiquidHypeDepositVault.sol new file mode 100644 index 00000000..4e6c7354 --- /dev/null +++ b/contracts/liquidHYPE/LiquidHypeDepositVault.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +import "../DepositVault.sol"; +import "./LiquidHypeMidasAccessControlRoles.sol"; + +/** + * @title LiquidHypeDepositVault + * @notice Smart contract that handles liquidHYPE minting + * @author RedDuck Software + */ +contract LiquidHypeDepositVault is + DepositVault, + LiquidHypeMidasAccessControlRoles +{ + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @inheritdoc ManageableVault + */ + function vaultRole() public pure override returns (bytes32) { + return LIQUID_HYPE_DEPOSIT_VAULT_ADMIN_ROLE; + } +} diff --git a/contracts/liquidHYPE/LiquidHypeMidasAccessControlRoles.sol b/contracts/liquidHYPE/LiquidHypeMidasAccessControlRoles.sol new file mode 100644 index 00000000..da2f066a --- /dev/null +++ b/contracts/liquidHYPE/LiquidHypeMidasAccessControlRoles.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +/** + * @title LiquidHypeMidasAccessControlRoles + * @notice Base contract that stores all roles descriptors for liquidHYPE contracts + * @author RedDuck Software + */ +abstract contract LiquidHypeMidasAccessControlRoles { + /** + * @notice actor that can manage LiquidHypeDepositVault + */ + bytes32 public constant LIQUID_HYPE_DEPOSIT_VAULT_ADMIN_ROLE = + keccak256("LIQUID_HYPE_DEPOSIT_VAULT_ADMIN_ROLE"); + + /** + * @notice actor that can manage LiquidHypeRedemptionVault + */ + bytes32 public constant LIQUID_HYPE_REDEMPTION_VAULT_ADMIN_ROLE = + keccak256("LIQUID_HYPE_REDEMPTION_VAULT_ADMIN_ROLE"); + + /** + * @notice actor that can manage LiquidHypeCustomAggregatorFeed and LiquidHypeDataFeed + */ + bytes32 public constant LIQUID_HYPE_CUSTOM_AGGREGATOR_FEED_ADMIN_ROLE = + keccak256("LIQUID_HYPE_CUSTOM_AGGREGATOR_FEED_ADMIN_ROLE"); +} diff --git a/contracts/liquidHYPE/LiquidHypeRedemptionVaultWithSwapper.sol b/contracts/liquidHYPE/LiquidHypeRedemptionVaultWithSwapper.sol new file mode 100644 index 00000000..f1b15d19 --- /dev/null +++ b/contracts/liquidHYPE/LiquidHypeRedemptionVaultWithSwapper.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +import "../RedemptionVaultWithSwapper.sol"; +import "./LiquidHypeMidasAccessControlRoles.sol"; + +/** + * @title LiquidHypeRedemptionVaultWithSwapper + * @notice Smart contract that handles liquidHYPE redemptions + * @author RedDuck Software + */ +contract LiquidHypeRedemptionVaultWithSwapper is + RedemptionVaultWithSwapper, + LiquidHypeMidasAccessControlRoles +{ + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @inheritdoc ManageableVault + */ + function vaultRole() public pure override returns (bytes32) { + return LIQUID_HYPE_REDEMPTION_VAULT_ADMIN_ROLE; + } +} diff --git a/contracts/liquidHYPE/liquidHYPE.sol b/contracts/liquidHYPE/liquidHYPE.sol new file mode 100644 index 00000000..33d4d161 --- /dev/null +++ b/contracts/liquidHYPE/liquidHYPE.sol @@ -0,0 +1,63 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; +import "../mTBILL/mTBILL.sol"; + +/** + * @title liquidHYPE + * @author RedDuck Software + */ +//solhint-disable contract-name-camelcase +contract liquidHYPE is mTBILL { + /** + * @notice actor that can mint liquidHYPE + */ + bytes32 public constant LIQUID_HYPE_MINT_OPERATOR_ROLE = + keccak256("LIQUID_HYPE_MINT_OPERATOR_ROLE"); + + /** + * @notice actor that can burn liquidHYPE + */ + bytes32 public constant LIQUID_HYPE_BURN_OPERATOR_ROLE = + keccak256("LIQUID_HYPE_BURN_OPERATOR_ROLE"); + + /** + * @notice actor that can pause liquidHYPE + */ + bytes32 public constant LIQUID_HYPE_PAUSE_OPERATOR_ROLE = + keccak256("LIQUID_HYPE_PAUSE_OPERATOR_ROLE"); + + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @notice upgradeable pattern contract`s initializer + * @param _accessControl address of MidasAccessControl contract + */ + function initialize(address _accessControl) external override initializer { + __Blacklistable_init(_accessControl); + __ERC20_init("Liquid HYPE Yield", "liquidHYPE"); + } + + /** + * @dev AC role, owner of which can mint liquidHYPE token + */ + function _minterRole() internal pure override returns (bytes32) { + return LIQUID_HYPE_MINT_OPERATOR_ROLE; + } + + /** + * @dev AC role, owner of which can burn liquidHYPE token + */ + function _burnerRole() internal pure override returns (bytes32) { + return LIQUID_HYPE_BURN_OPERATOR_ROLE; + } + + /** + * @dev AC role, owner of which can pause liquidHYPE token + */ + function _pauserRole() internal pure override returns (bytes32) { + return LIQUID_HYPE_PAUSE_OPERATOR_ROLE; + } +} diff --git a/contracts/lstHYPE/LstHypeCustomAggregatorFeed.sol b/contracts/lstHYPE/LstHypeCustomAggregatorFeed.sol new file mode 100644 index 00000000..046d9b22 --- /dev/null +++ b/contracts/lstHYPE/LstHypeCustomAggregatorFeed.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +import "../feeds/CustomAggregatorV3CompatibleFeed.sol"; +import "./LstHypeMidasAccessControlRoles.sol"; + +/** + * @title LstHypeCustomAggregatorFeed + * @notice AggregatorV3 compatible feed for lstHYPE, + * where price is submitted manually by feed admins + * @author RedDuck Software + */ +contract LstHypeCustomAggregatorFeed is + CustomAggregatorV3CompatibleFeed, + LstHypeMidasAccessControlRoles +{ + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @inheritdoc CustomAggregatorV3CompatibleFeed + */ + function feedAdminRole() public pure override returns (bytes32) { + return LST_HYPE_CUSTOM_AGGREGATOR_FEED_ADMIN_ROLE; + } +} diff --git a/contracts/lstHYPE/LstHypeDataFeed.sol b/contracts/lstHYPE/LstHypeDataFeed.sol new file mode 100644 index 00000000..e91d769b --- /dev/null +++ b/contracts/lstHYPE/LstHypeDataFeed.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +import "../feeds/DataFeed.sol"; +import "./LstHypeMidasAccessControlRoles.sol"; + +/** + * @title LstHypeDataFeed + * @notice DataFeed for lstHYPE product + * @author RedDuck Software + */ +contract LstHypeDataFeed is DataFeed, LstHypeMidasAccessControlRoles { + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @inheritdoc DataFeed + */ + function feedAdminRole() public pure override returns (bytes32) { + return LST_HYPE_CUSTOM_AGGREGATOR_FEED_ADMIN_ROLE; + } +} diff --git a/contracts/lstHYPE/LstHypeDepositVault.sol b/contracts/lstHYPE/LstHypeDepositVault.sol new file mode 100644 index 00000000..99b3ce78 --- /dev/null +++ b/contracts/lstHYPE/LstHypeDepositVault.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +import "../DepositVault.sol"; +import "./LstHypeMidasAccessControlRoles.sol"; + +/** + * @title LstHypeDepositVault + * @notice Smart contract that handles LstHype minting + * @author RedDuck Software + */ +contract LstHypeDepositVault is DepositVault, LstHypeMidasAccessControlRoles { + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @inheritdoc ManageableVault + */ + function vaultRole() public pure override returns (bytes32) { + return LST_HYPE_DEPOSIT_VAULT_ADMIN_ROLE; + } +} diff --git a/contracts/lstHYPE/LstHypeMidasAccessControlRoles.sol b/contracts/lstHYPE/LstHypeMidasAccessControlRoles.sol new file mode 100644 index 00000000..628dc227 --- /dev/null +++ b/contracts/lstHYPE/LstHypeMidasAccessControlRoles.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +/** + * @title LstHypeMidasAccessControlRoles + * @notice Base contract that stores all roles descriptors for lstHYPE contracts + * @author RedDuck Software + */ +abstract contract LstHypeMidasAccessControlRoles { + /** + * @notice actor that can manage LstHypeDepositVault + */ + bytes32 public constant LST_HYPE_DEPOSIT_VAULT_ADMIN_ROLE = + keccak256("LST_HYPE_DEPOSIT_VAULT_ADMIN_ROLE"); + + /** + * @notice actor that can manage LstHypeRedemptionVault + */ + bytes32 public constant LST_HYPE_REDEMPTION_VAULT_ADMIN_ROLE = + keccak256("LST_HYPE_REDEMPTION_VAULT_ADMIN_ROLE"); + + /** + * @notice actor that can manage LstHypeCustomAggregatorFeed and LstHypeDataFeed + */ + bytes32 public constant LST_HYPE_CUSTOM_AGGREGATOR_FEED_ADMIN_ROLE = + keccak256("LST_HYPE_CUSTOM_AGGREGATOR_FEED_ADMIN_ROLE"); +} diff --git a/contracts/lstHYPE/LstHypeRedemptionVaultWithSwapper.sol b/contracts/lstHYPE/LstHypeRedemptionVaultWithSwapper.sol new file mode 100644 index 00000000..01d28f87 --- /dev/null +++ b/contracts/lstHYPE/LstHypeRedemptionVaultWithSwapper.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +import "../RedemptionVaultWithSwapper.sol"; +import "./LstHypeMidasAccessControlRoles.sol"; + +/** + * @title LstHypeRedemptionVaultWithSwapper + * @notice Smart contract that handles lstHYPE redemptions + * @author RedDuck Software + */ +contract LstHypeRedemptionVaultWithSwapper is + RedemptionVaultWithSwapper, + LstHypeMidasAccessControlRoles +{ + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @inheritdoc ManageableVault + */ + function vaultRole() public pure override returns (bytes32) { + return LST_HYPE_REDEMPTION_VAULT_ADMIN_ROLE; + } +} diff --git a/contracts/lstHYPE/lstHYPE.sol b/contracts/lstHYPE/lstHYPE.sol new file mode 100644 index 00000000..b9d53bf8 --- /dev/null +++ b/contracts/lstHYPE/lstHYPE.sol @@ -0,0 +1,63 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; +import "../mTBILL/mTBILL.sol"; + +/** + * @title lstHYPE + * @author RedDuck Software + */ +//solhint-disable contract-name-camelcase +contract lstHYPE is mTBILL { + /** + * @notice actor that can mint lstHYPE + */ + bytes32 public constant LST_HYPE_MINT_OPERATOR_ROLE = + keccak256("LST_HYPE_MINT_OPERATOR_ROLE"); + + /** + * @notice actor that can burn lstHYPE + */ + bytes32 public constant LST_HYPE_BURN_OPERATOR_ROLE = + keccak256("LST_HYPE_BURN_OPERATOR_ROLE"); + + /** + * @notice actor that can pause lstHYPE + */ + bytes32 public constant LST_HYPE_PAUSE_OPERATOR_ROLE = + keccak256("LST_HYPE_PAUSE_OPERATOR_ROLE"); + + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @notice upgradeable pattern contract`s initializer + * @param _accessControl address of MidasAccessControll contract + */ + function initialize(address _accessControl) external override initializer { + __Blacklistable_init(_accessControl); + __ERC20_init("Hyperbeat LST Vault", "lstHYPE"); + } + + /** + * @dev AC role, owner of which can mint lstHYPE token + */ + function _minterRole() internal pure override returns (bytes32) { + return LST_HYPE_MINT_OPERATOR_ROLE; + } + + /** + * @dev AC role, owner of which can burn lstHYPE token + */ + function _burnerRole() internal pure override returns (bytes32) { + return LST_HYPE_BURN_OPERATOR_ROLE; + } + + /** + * @dev AC role, owner of which can pause lstHYPE token + */ + function _pauserRole() internal pure override returns (bytes32) { + return LST_HYPE_PAUSE_OPERATOR_ROLE; + } +} diff --git a/contracts/mAPOLLO/MApolloCustomAggregatorFeed.sol b/contracts/mAPOLLO/MApolloCustomAggregatorFeed.sol new file mode 100644 index 00000000..287ccebc --- /dev/null +++ b/contracts/mAPOLLO/MApolloCustomAggregatorFeed.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +import "../feeds/CustomAggregatorV3CompatibleFeed.sol"; +import "./MApolloMidasAccessControlRoles.sol"; + +/** + * @title MApolloCustomAggregatorFeed + * @notice AggregatorV3 compatible feed for mAPOLLO, + * where price is submitted manually by feed admins + * @author RedDuck Software + */ +contract MApolloCustomAggregatorFeed is + CustomAggregatorV3CompatibleFeed, + MApolloMidasAccessControlRoles +{ + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @inheritdoc CustomAggregatorV3CompatibleFeed + */ + function feedAdminRole() public pure override returns (bytes32) { + return M_APOLLO_CUSTOM_AGGREGATOR_FEED_ADMIN_ROLE; + } +} diff --git a/contracts/mAPOLLO/MApolloDataFeed.sol b/contracts/mAPOLLO/MApolloDataFeed.sol new file mode 100644 index 00000000..f2df5fc5 --- /dev/null +++ b/contracts/mAPOLLO/MApolloDataFeed.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +import "../feeds/DataFeed.sol"; +import "./MApolloMidasAccessControlRoles.sol"; + +/** + * @title MApolloDataFeed + * @notice DataFeed for mAPOLLO product + * @author RedDuck Software + */ +contract MApolloDataFeed is DataFeed, MApolloMidasAccessControlRoles { + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @inheritdoc DataFeed + */ + function feedAdminRole() public pure override returns (bytes32) { + return M_APOLLO_CUSTOM_AGGREGATOR_FEED_ADMIN_ROLE; + } +} diff --git a/contracts/mAPOLLO/MApolloDepositVault.sol b/contracts/mAPOLLO/MApolloDepositVault.sol new file mode 100644 index 00000000..8ee315ee --- /dev/null +++ b/contracts/mAPOLLO/MApolloDepositVault.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +import "../DepositVault.sol"; +import "./MApolloMidasAccessControlRoles.sol"; + +/** + * @title MApolloDepositVault + * @notice Smart contract that handles mAPOLLO minting + * @author RedDuck Software + */ +contract MApolloDepositVault is DepositVault, MApolloMidasAccessControlRoles { + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @inheritdoc ManageableVault + */ + function vaultRole() public pure override returns (bytes32) { + return M_APOLLO_DEPOSIT_VAULT_ADMIN_ROLE; + } +} diff --git a/contracts/mAPOLLO/MApolloMidasAccessControlRoles.sol b/contracts/mAPOLLO/MApolloMidasAccessControlRoles.sol new file mode 100644 index 00000000..346a661c --- /dev/null +++ b/contracts/mAPOLLO/MApolloMidasAccessControlRoles.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +/** + * @title MApolloMidasAccessControlRoles + * @notice Base contract that stores all roles descriptors for mAPOLLO contracts + * @author RedDuck Software + */ +abstract contract MApolloMidasAccessControlRoles { + /** + * @notice actor that can manage MApolloDepositVault + */ + bytes32 public constant M_APOLLO_DEPOSIT_VAULT_ADMIN_ROLE = + keccak256("M_APOLLO_DEPOSIT_VAULT_ADMIN_ROLE"); + + /** + * @notice actor that can manage MApolloRedemptionVault + */ + bytes32 public constant M_APOLLO_REDEMPTION_VAULT_ADMIN_ROLE = + keccak256("M_APOLLO_REDEMPTION_VAULT_ADMIN_ROLE"); + + /** + * @notice actor that can manage MApolloCustomAggregatorFeed and MApolloDataFeed + */ + bytes32 public constant M_APOLLO_CUSTOM_AGGREGATOR_FEED_ADMIN_ROLE = + keccak256("M_APOLLO_CUSTOM_AGGREGATOR_FEED_ADMIN_ROLE"); +} diff --git a/contracts/mAPOLLO/MApolloRedemptionVaultWithSwapper.sol b/contracts/mAPOLLO/MApolloRedemptionVaultWithSwapper.sol new file mode 100644 index 00000000..608cd315 --- /dev/null +++ b/contracts/mAPOLLO/MApolloRedemptionVaultWithSwapper.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +import "../RedemptionVaultWithSwapper.sol"; +import "./MApolloMidasAccessControlRoles.sol"; + +/** + * @title MApolloRedemptionVaultWithSwapper + * @notice Smart contract that handles mAPOLLO redemptions + * @author RedDuck Software + */ +contract MApolloRedemptionVaultWithSwapper is + RedemptionVaultWithSwapper, + MApolloMidasAccessControlRoles +{ + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @inheritdoc ManageableVault + */ + function vaultRole() public pure override returns (bytes32) { + return M_APOLLO_REDEMPTION_VAULT_ADMIN_ROLE; + } +} diff --git a/contracts/mAPOLLO/mAPOLLO.sol b/contracts/mAPOLLO/mAPOLLO.sol new file mode 100644 index 00000000..af81c0f1 --- /dev/null +++ b/contracts/mAPOLLO/mAPOLLO.sol @@ -0,0 +1,63 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; +import "../mTBILL/mTBILL.sol"; + +/** + * @title mAPOLLO + * @author RedDuck Software + */ +//solhint-disable contract-name-camelcase +contract mAPOLLO is mTBILL { + /** + * @notice actor that can mint mAPOLLO + */ + bytes32 public constant M_APOLLO_MINT_OPERATOR_ROLE = + keccak256("M_APOLLO_MINT_OPERATOR_ROLE"); + + /** + * @notice actor that can burn mAPOLLO + */ + bytes32 public constant M_APOLLO_BURN_OPERATOR_ROLE = + keccak256("M_APOLLO_BURN_OPERATOR_ROLE"); + + /** + * @notice actor that can pause mAPOLLO + */ + bytes32 public constant M_APOLLO_PAUSE_OPERATOR_ROLE = + keccak256("M_APOLLO_PAUSE_OPERATOR_ROLE"); + + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @notice upgradeable pattern contract`s initializer + * @param _accessControl address of MidasAccessControl contract + */ + function initialize(address _accessControl) external override initializer { + __Blacklistable_init(_accessControl); + __ERC20_init("Midas Apollo Crypto", "mAPOLLO"); + } + + /** + * @dev AC role, owner of which can mint mAPOLLO token + */ + function _minterRole() internal pure override returns (bytes32) { + return M_APOLLO_MINT_OPERATOR_ROLE; + } + + /** + * @dev AC role, owner of which can burn mAPOLLO token + */ + function _burnerRole() internal pure override returns (bytes32) { + return M_APOLLO_BURN_OPERATOR_ROLE; + } + + /** + * @dev AC role, owner of which can pause mAPOLLO token + */ + function _pauserRole() internal pure override returns (bytes32) { + return M_APOLLO_PAUSE_OPERATOR_ROLE; + } +} diff --git a/contracts/mHYPER/MHyperCustomAggregatorFeed.sol b/contracts/mHYPER/MHyperCustomAggregatorFeed.sol new file mode 100644 index 00000000..537dd503 --- /dev/null +++ b/contracts/mHYPER/MHyperCustomAggregatorFeed.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +import "../feeds/CustomAggregatorV3CompatibleFeed.sol"; +import "./MHyperMidasAccessControlRoles.sol"; + +/** + * @title MHyperCustomAggregatorFeed + * @notice AggregatorV3 compatible feed for mHYPER, + * where price is submitted manually by feed admins + * @author RedDuck Software + */ +contract MHyperCustomAggregatorFeed is + CustomAggregatorV3CompatibleFeed, + MHyperMidasAccessControlRoles +{ + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @inheritdoc CustomAggregatorV3CompatibleFeed + */ + function feedAdminRole() public pure override returns (bytes32) { + return M_HYPER_CUSTOM_AGGREGATOR_FEED_ADMIN_ROLE; + } +} diff --git a/contracts/mHYPER/MHyperDataFeed.sol b/contracts/mHYPER/MHyperDataFeed.sol new file mode 100644 index 00000000..55a743cd --- /dev/null +++ b/contracts/mHYPER/MHyperDataFeed.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +import "../feeds/DataFeed.sol"; +import "./MHyperMidasAccessControlRoles.sol"; + +/** + * @title MHyperDataFeed + * @notice DataFeed for mHYPER product + * @author RedDuck Software + */ +contract MHyperDataFeed is DataFeed, MHyperMidasAccessControlRoles { + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @inheritdoc DataFeed + */ + function feedAdminRole() public pure override returns (bytes32) { + return M_HYPER_CUSTOM_AGGREGATOR_FEED_ADMIN_ROLE; + } +} diff --git a/contracts/mHYPER/MHyperDepositVault.sol b/contracts/mHYPER/MHyperDepositVault.sol new file mode 100644 index 00000000..9b1fb520 --- /dev/null +++ b/contracts/mHYPER/MHyperDepositVault.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +import "../DepositVault.sol"; +import "./MHyperMidasAccessControlRoles.sol"; + +/** + * @title MHyperDepositVault + * @notice Smart contract that handles mHYPER minting + * @author RedDuck Software + */ +contract MHyperDepositVault is DepositVault, MHyperMidasAccessControlRoles { + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @inheritdoc ManageableVault + */ + function vaultRole() public pure override returns (bytes32) { + return M_HYPER_DEPOSIT_VAULT_ADMIN_ROLE; + } +} diff --git a/contracts/mHYPER/MHyperMidasAccessControlRoles.sol b/contracts/mHYPER/MHyperMidasAccessControlRoles.sol new file mode 100644 index 00000000..c9d13298 --- /dev/null +++ b/contracts/mHYPER/MHyperMidasAccessControlRoles.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +/** + * @title MHyperMidasAccessControlRoles + * @notice Base contract that stores all roles descriptors for mHYPER contracts + * @author RedDuck Software + */ +abstract contract MHyperMidasAccessControlRoles { + /** + * @notice actor that can manage MHyperDepositVault + */ + bytes32 public constant M_HYPER_DEPOSIT_VAULT_ADMIN_ROLE = + keccak256("M_HYPER_DEPOSIT_VAULT_ADMIN_ROLE"); + + /** + * @notice actor that can manage MHyperRedemptionVault + */ + bytes32 public constant M_HYPER_REDEMPTION_VAULT_ADMIN_ROLE = + keccak256("M_HYPER_REDEMPTION_VAULT_ADMIN_ROLE"); + + /** + * @notice actor that can manage MHyperCustomAggregatorFeed and MHyperDataFeed + */ + bytes32 public constant M_HYPER_CUSTOM_AGGREGATOR_FEED_ADMIN_ROLE = + keccak256("M_HYPER_CUSTOM_AGGREGATOR_FEED_ADMIN_ROLE"); +} diff --git a/contracts/mHYPER/MHyperRedemptionVaultWithSwapper.sol b/contracts/mHYPER/MHyperRedemptionVaultWithSwapper.sol new file mode 100644 index 00000000..5599bc91 --- /dev/null +++ b/contracts/mHYPER/MHyperRedemptionVaultWithSwapper.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +import "../RedemptionVaultWithSwapper.sol"; +import "./MHyperMidasAccessControlRoles.sol"; + +/** + * @title MHyperRedemptionVaultWithSwapper + * @notice Smart contract that handles mHYPER redemptions + * @author RedDuck Software + */ +contract MHyperRedemptionVaultWithSwapper is + RedemptionVaultWithSwapper, + MHyperMidasAccessControlRoles +{ + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @inheritdoc ManageableVault + */ + function vaultRole() public pure override returns (bytes32) { + return M_HYPER_REDEMPTION_VAULT_ADMIN_ROLE; + } +} diff --git a/contracts/mHYPER/mHYPER.sol b/contracts/mHYPER/mHYPER.sol new file mode 100644 index 00000000..ae7fec3d --- /dev/null +++ b/contracts/mHYPER/mHYPER.sol @@ -0,0 +1,63 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; +import "../mTBILL/mTBILL.sol"; + +/** + * @title mHYPER + * @author RedDuck Software + */ +//solhint-disable contract-name-camelcase +contract mHYPER is mTBILL { + /** + * @notice actor that can mint mHYPER + */ + bytes32 public constant M_HYPER_MINT_OPERATOR_ROLE = + keccak256("M_HYPER_MINT_OPERATOR_ROLE"); + + /** + * @notice actor that can burn mHYPER + */ + bytes32 public constant M_HYPER_BURN_OPERATOR_ROLE = + keccak256("M_HYPER_BURN_OPERATOR_ROLE"); + + /** + * @notice actor that can pause mHYPER + */ + bytes32 public constant M_HYPER_PAUSE_OPERATOR_ROLE = + keccak256("M_HYPER_PAUSE_OPERATOR_ROLE"); + + /** + * @dev leaving a storage gap for futures updates + */ + uint256[50] private __gap; + + /** + * @notice upgradeable pattern contract`s initializer + * @param _accessControl address of MidasAccessControl contract + */ + function initialize(address _accessControl) external override initializer { + __Blacklistable_init(_accessControl); + __ERC20_init("Midas Hyperithm", "mHYPER"); + } + + /** + * @dev AC role, owner of which can mint mHYPER token + */ + function _minterRole() internal pure override returns (bytes32) { + return M_HYPER_MINT_OPERATOR_ROLE; + } + + /** + * @dev AC role, owner of which can burn mHYPER token + */ + function _burnerRole() internal pure override returns (bytes32) { + return M_HYPER_BURN_OPERATOR_ROLE; + } + + /** + * @dev AC role, owner of which can pause mHYPER token + */ + function _pauserRole() internal pure override returns (bytes32) { + return M_HYPER_PAUSE_OPERATOR_ROLE; + } +} diff --git a/hardhat.config.ts b/hardhat.config.ts index 77196dad..c66be91c 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -10,7 +10,6 @@ import '@nomicfoundation/hardhat-verify'; import '@openzeppelin/hardhat-upgrades'; import 'hardhat-contract-sizer'; import 'hardhat-deploy'; -// import 'hardhat-docgen'; import 'solidity-docgen'; import './tasks'; diff --git a/helpers/contracts.ts b/helpers/contracts.ts index 9667f265..32ad3efd 100644 --- a/helpers/contracts.ts +++ b/helpers/contracts.ts @@ -27,6 +27,8 @@ export const contractNamesPrefixes: Record = { mMEV: 'MMev', mSL: 'MSl', mFONE: 'MFOne', + mHYPER: 'MHyper', + mAPOLLO: 'MApollo', hbUSDT: 'HBUsdt', hbXAUt: 'HBXaut', mLIQUIDITY: 'MLiquidity', @@ -40,6 +42,8 @@ export const contractNamesPrefixes: Record = { tUSDe: 'TUsde', tBTC: 'TBtc', mevBTC: 'MevBtc', + lstHYPE: 'LstHype', + liquidHYPE: 'LiquidHype', }; export const getCommonContractNames = (): CommonContractNames => { diff --git a/helpers/roles.ts b/helpers/roles.ts index 46e826d9..f2a7a41a 100644 --- a/helpers/roles.ts +++ b/helpers/roles.ts @@ -15,6 +15,8 @@ const prefixes: Record = { hbUSDT: 'HB_USDT', hbXAUt: 'HB_XAUT', mFONE: 'M_FONE', + mHYPER: 'M_HYPER', + mAPOLLO: 'M_APOLLO', mLIQUIDITY: 'M_LIQUIDITY', hypeETH: 'HYPE_ETH', hypeBTC: 'HYPE_BTC', @@ -23,6 +25,8 @@ const prefixes: Record = { tUSDe: 'T_USDE', tBTC: 'T_BTC', mevBTC: 'MEV_BTC', + lstHYPE: 'LST_HYPE', + liquidHYPE: 'LIQUID_HYPE', TACmBTC: 'TAC_M_BTC', TACmEDGE: 'TAC_M_EDGE', TACmMEV: 'TAC_M_MEV', diff --git a/package.json b/package.json index ced5124e..fbb2ca37 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,8 @@ "deploy:rv:buidl": "yarn hh:run:script scripts/deploy/deploy_RVSwapper.ts", "verify:proxy": "yarn hardhat verify --contract @openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol:TransparentUpgradeableProxy", "verify:sourcify": "VERIFY_SOURCIFY=true VERIFY_ETHERSCAN=false yarn hardhat verify", - "dump:roles": "yarn hh:run scripts/dump_roles.ts" + "dump:roles": "yarn hh:run scripts/dump_roles.ts", + "verify:all:impl": "yarn hh:run:script scripts/verify_contracts.ts" }, "devDependencies": { "@chainlink/contracts": "^0.6.1", @@ -57,7 +58,7 @@ "@nomicfoundation/hardhat-chai-matchers": "^1.0.4", "@nomicfoundation/hardhat-network-helpers": "^1.0.6", "@nomicfoundation/hardhat-toolbox": "^1.0.1", - "@nomicfoundation/hardhat-verify": "^2.0.11", + "@nomicfoundation/hardhat-verify": "^2.0.14", "@nomiclabs/hardhat-ethers": "2.2.3", "@openzeppelin/contracts": "^4.8.3", "@openzeppelin/contracts-upgradeable": "^4.9.0", diff --git a/scripts/deploy/configs/index.ts b/scripts/deploy/configs/index.ts index 0203b53b..a4610daa 100644 --- a/scripts/deploy/configs/index.ts +++ b/scripts/deploy/configs/index.ts @@ -3,11 +3,15 @@ import { hbXAUtDeploymentConfig } from './hbXAUt'; import { hypeBTCDeploymentConfig } from './hypeBTC'; import { hypeETHDeploymentConfig } from './hypeETH'; import { hypeUSDDeploymentConfig } from './hypeUSD'; +import { liquidHYPEDeploymentConfig } from './liquidHYPE'; +import { lstHYPEDeploymentConfig } from './lstHYPE'; +import { mAPOLLODeploymentConfig } from './mAPOLLO'; import { mBASISDeploymentConfig } from './mBASIS'; import { mBTCDeploymentConfig } from './mBTC'; import { mEDGEDeploymentConfig } from './mEDGE'; import { mevBTCDeploymentConfig } from './mevBTC'; import { mFONEDeploymentConfig } from './mFONE'; +import { mHYPERDeploymentConfig } from './mHYPER'; import { mLIQUIDITYDeploymentConfig } from './mLIQUIDITY'; import { mMEVDeploymentConfig } from './mMEV'; import { mRE7DeploymentConfig } from './mRE7'; @@ -33,6 +37,8 @@ export const configsPerToken: Record = { mBTC: mBTCDeploymentConfig, mEDGE: mEDGEDeploymentConfig, mFONE: mFONEDeploymentConfig, + mHYPER: mHYPERDeploymentConfig, + mAPOLLO: mAPOLLODeploymentConfig, mMEV: mMEVDeploymentConfig, mRE7: mRE7DeploymentConfig, TACmBTC: TACmBTCDeploymentConfig, @@ -47,4 +53,6 @@ export const configsPerToken: Record = { hbXAUt: hbXAUtDeploymentConfig, mRE7SOL: mRE7SOLDeploymentConfig, mevBTC: mevBTCDeploymentConfig, + lstHYPE: lstHYPEDeploymentConfig, + liquidHYPE: liquidHYPEDeploymentConfig, }; diff --git a/scripts/deploy/configs/liquidHYPE.ts b/scripts/deploy/configs/liquidHYPE.ts new file mode 100644 index 00000000..583f6cd3 --- /dev/null +++ b/scripts/deploy/configs/liquidHYPE.ts @@ -0,0 +1,48 @@ +import { parseUnits } from 'ethers/lib/utils'; + +import { chainIds } from '../../../config'; +import { DeploymentConfig } from '../common/types'; + +export const liquidHYPEDeploymentConfig: DeploymentConfig = { + genericConfigs: { + customAggregator: { + minAnswer: parseUnits('0.1', 8), + maxAnswer: parseUnits('1000', 8), + maxAnswerDeviation: parseUnits('0.12', 8), + description: 'liquidHYPE/HYPE', + }, + dataFeed: { + minAnswer: parseUnits('0.1', 8), + maxAnswer: parseUnits('1000', 8), + healthyDiff: 2592000, + }, + }, + networkConfigs: { + [chainIds.hyperevm]: { + dv: { + feeReceiver: '0x3E4678a7742d4D703F3894922CF08d6E8ff9c1D8', + tokensReceiver: '0xFC1286EeddF81d6955eDAd5C8D99B8Aa32F3D2AA', + instantDailyLimit: parseUnits('2500000'), + instantFee: parseUnits('0', 2), + minMTokenAmountForFirstDeposit: parseUnits('0'), + minAmount: parseUnits('0'), + variationTolerance: parseUnits('0.10', 2), + }, + rvSwapper: { + type: 'SWAPPER', + feeReceiver: '0x83A80e5b64086197c01cbB123dF2AEa79a149C1D', + tokensReceiver: '0xFC1286EeddF81d6955eDAd5C8D99B8Aa32F3D2AA', + instantDailyLimit: parseUnits('2500000'), + instantFee: parseUnits('0.2', 2), + minAmount: parseUnits('0'), + variationTolerance: parseUnits('0.14', 2), + fiatAdditionalFee: parseUnits('0.1', 2), + fiatFlatFee: parseUnits('30'), + minFiatRedeemAmount: parseUnits('1000'), + requestRedeemer: '0xF47CB913cc80096F84a6Ced24e1ccd047c954cBE', + liquidityProvider: 'dummy', + swapperVault: 'dummy', + }, + }, + }, +}; diff --git a/scripts/deploy/configs/lstHYPE.ts b/scripts/deploy/configs/lstHYPE.ts new file mode 100644 index 00000000..f53a7070 --- /dev/null +++ b/scripts/deploy/configs/lstHYPE.ts @@ -0,0 +1,57 @@ +import { constants } from 'ethers'; +import { parseUnits } from 'ethers/lib/utils'; + +import { chainIds } from '../../../config'; +import { DeploymentConfig } from '../common/types'; + +export const lstHYPEDeploymentConfig: DeploymentConfig = { + genericConfigs: { + customAggregator: { + minAnswer: parseUnits('0.1', 8), + maxAnswer: parseUnits('1000', 8), + maxAnswerDeviation: parseUnits('0.12', 8), + description: 'lstHYPE/HYPE', + }, + dataFeed: { + minAnswer: parseUnits('0.1', 8), + maxAnswer: parseUnits('1000', 8), + healthyDiff: 2592000, + }, + }, + networkConfigs: { + [chainIds.hyperevm]: { + dv: { + feeReceiver: '0x765d90a41C3f66ba51DD656a12Df5a1368b167D8', + tokensReceiver: '0x1f5635d4981F2E90c58C8E19582f22c0a46227bB', + instantDailyLimit: parseUnits('650000'), + instantFee: parseUnits('0', 2), + minMTokenAmountForFirstDeposit: parseUnits('0'), + minAmount: parseUnits('0'), + variationTolerance: parseUnits('0.15', 2), + }, + rvSwapper: { + type: 'SWAPPER', + feeReceiver: '0xA66B5862FD471A1b1EeC8710071f3d085F79d5e4', + tokensReceiver: '0x1f5635d4981F2E90c58C8E19582f22c0a46227bB', + instantDailyLimit: parseUnits('650000'), + instantFee: parseUnits('0.2', 2), + minAmount: parseUnits('0'), + variationTolerance: parseUnits('0.22', 2), + fiatAdditionalFee: parseUnits('0.1', 2), + fiatFlatFee: parseUnits('30'), + minFiatRedeemAmount: parseUnits('1000'), + requestRedeemer: '0xdF7feAADA36cf687962B286661A8b68CCA17E0f7', + liquidityProvider: 'dummy', + swapperVault: 'dummy', + }, + postDeploy: { + grantRoles: { + providerType: 'hardhat', + tokenManagerAddress: '0xf5D4f036856837adfb91CF863F470D215Cf8A99c', + vaultsManagerAddress: '0x2ACB4BdCbEf02f81BF713b696Ac26390d7f79A12', + oracleManagerAddress: '0xc42654209f9D82323cF335e3f7Ee7A0b7a88f7BE', + }, + }, + }, + }, +}; diff --git a/scripts/deploy/configs/mAPOLLO.ts b/scripts/deploy/configs/mAPOLLO.ts new file mode 100644 index 00000000..c25223f9 --- /dev/null +++ b/scripts/deploy/configs/mAPOLLO.ts @@ -0,0 +1,53 @@ +import { parseUnits } from 'ethers/lib/utils'; + +import { chainIds } from '../../../config'; +import { DeploymentConfig } from '../common/types'; + +export const mAPOLLODeploymentConfig: DeploymentConfig = { + genericConfigs: { + customAggregator: { + minAnswer: parseUnits('0.1', 8), + maxAnswer: parseUnits('1000', 8), + maxAnswerDeviation: parseUnits('0.35', 8), + description: 'mAPOLLO/USD', + }, + dataFeed: { + minAnswer: parseUnits('0.1', 8), + maxAnswer: parseUnits('1000', 8), + healthyDiff: 2592000, + }, + }, + networkConfigs: { + [chainIds.main]: { + dv: { + feeReceiver: '0x85683dA4a5439976CD586A70e23C0A96c517e6a6', + tokensReceiver: '0x1d021D11829B133b0DE574A8669474F6B5Ce4F9E', + instantDailyLimit: parseUnits('10000000'), + instantFee: parseUnits('0', 2), + minMTokenAmountForFirstDeposit: parseUnits('0'), + minAmount: parseUnits('0'), + variationTolerance: parseUnits('0.6', 2), + enableSanctionsList: true, + }, + rvSwapper: { + type: 'SWAPPER', + feeReceiver: '0x0461bD693caE49bE9d030E5c212e080F9c78B846', + tokensReceiver: '0x1d021D11829B133b0DE574A8669474F6B5Ce4F9E', + instantDailyLimit: parseUnits('100000'), + instantFee: parseUnits('0.5', 2), + minAmount: parseUnits('0'), + variationTolerance: parseUnits('0.6', 2), + fiatAdditionalFee: parseUnits('0.1', 2), + fiatFlatFee: parseUnits('30'), + minFiatRedeemAmount: parseUnits('1000'), + requestRedeemer: '0xBB97Da71852ec063695e81ff5373E895bAda7aEB', + liquidityProvider: '0x0461bD693caE49bE9d030E5c212e080F9c78B846', + swapperVault: { + mToken: 'mTBILL', + redemptionVaultType: 'redemptionVaultBuidl', + }, + enableSanctionsList: true, + }, + }, + }, +}; diff --git a/scripts/deploy/configs/mHYPER.ts b/scripts/deploy/configs/mHYPER.ts new file mode 100644 index 00000000..ae17138b --- /dev/null +++ b/scripts/deploy/configs/mHYPER.ts @@ -0,0 +1,53 @@ +import { parseUnits } from 'ethers/lib/utils'; + +import { chainIds } from '../../../config'; +import { DeploymentConfig } from '../common/types'; + +export const mHYPERDeploymentConfig: DeploymentConfig = { + genericConfigs: { + customAggregator: { + minAnswer: parseUnits('0.1', 8), + maxAnswer: parseUnits('1000', 8), + maxAnswerDeviation: parseUnits('0.35', 8), + description: 'mHYPER/USD', + }, + dataFeed: { + minAnswer: parseUnits('0.1', 8), + maxAnswer: parseUnits('1000', 8), + healthyDiff: 2592000, + }, + }, + networkConfigs: { + [chainIds.main]: { + dv: { + feeReceiver: '0xee67Ec0e51dDd154C0cd904A326822e3F31586F3', + tokensReceiver: '0xF356c5e9F69DaDB332Bb098C7Ed960Db1d3376DD', + instantDailyLimit: parseUnits('10000000'), + instantFee: parseUnits('0', 2), + minMTokenAmountForFirstDeposit: parseUnits('0'), + minAmount: parseUnits('0'), + variationTolerance: parseUnits('0.65', 2), + enableSanctionsList: true, + }, + rvSwapper: { + type: 'SWAPPER', + feeReceiver: '0x0461bD693caE49bE9d030E5c212e080F9c78B846', + tokensReceiver: '0xF356c5e9F69DaDB332Bb098C7Ed960Db1d3376DD', + instantDailyLimit: parseUnits('100000'), + instantFee: parseUnits('0.5', 2), + minAmount: parseUnits('0'), + variationTolerance: parseUnits('0.65', 2), + fiatAdditionalFee: parseUnits('0.1', 2), + fiatFlatFee: parseUnits('30'), + minFiatRedeemAmount: parseUnits('1000'), + requestRedeemer: '0xA4fC2c65643b67fFDbf5cb0b528A10E771F1F159', + liquidityProvider: '0x0461bD693caE49bE9d030E5c212e080F9c78B846', + swapperVault: { + mToken: 'mTBILL', + redemptionVaultType: 'redemptionVaultBuidl', + }, + enableSanctionsList: true, + }, + }, + }, +}; diff --git a/scripts/deploy/configs/payment-tokens.ts b/scripts/deploy/configs/payment-tokens.ts index b15194a9..3042f66e 100644 --- a/scripts/deploy/configs/payment-tokens.ts +++ b/scripts/deploy/configs/payment-tokens.ts @@ -382,6 +382,33 @@ export const paymentTokenDeploymentConfigs: PaymentTokenDeploymentConfig = { maxAnswerDeviation: parseUnits('0', 8), }, }, + wsthype: { + dataFeed: { + minAnswer: parseUnits('1.00767018', 8), + maxAnswer: parseUnits('1.03767018', 8), + healthyDiff: 86400, + }, + }, + khype: { + dataFeed: { + minAnswer: parseUnits('0.999', 8), + maxAnswer: parseUnits('1.03', 8), + healthyDiff: 6 * 3600, + }, + }, + whype: { + customAggregator: { + description: 'wHYPE/HYPE', + minAnswer: parseUnits('0.99999', 8), + maxAnswer: parseUnits('1', 8), + maxAnswerDeviation: parseUnits('0', 8), + }, + dataFeed: { + healthyDiff: constants.MaxUint256, + minAnswer: parseUnits('0.99999', 8), + maxAnswer: parseUnits('1', 8), + }, + }, }, [chainIds.katana]: { usol: { diff --git a/scripts/upgrades/upgrade_RedemptionVaultSwapper.ts b/scripts/upgrades/upgrade_RedemptionVaultSwapper.ts index ddb4191c..d886e1ba 100644 --- a/scripts/upgrades/upgrade_RedemptionVaultSwapper.ts +++ b/scripts/upgrades/upgrade_RedemptionVaultSwapper.ts @@ -4,10 +4,6 @@ import { HardhatRuntimeEnvironment } from 'hardhat/types'; import { getCurrentAddresses } from '../../config/constants/addresses'; import { getTokenContractNames } from '../../helpers/contracts'; -import { - logDeployProxy, - tryEtherscanVerifyImplementation, -} from '../../helpers/utils'; import { getDeployer } from '../deploy/common/utils'; const func: DeployFunction = async (hre: HardhatRuntimeEnvironment) => { @@ -15,27 +11,24 @@ const func: DeployFunction = async (hre: HardhatRuntimeEnvironment) => { const deployer = await getDeployer(hre); - const deployment = await hre.upgrades.upgradeProxy( - addresses?.mBASIS?.redemptionVaultSwapper ?? '', + const deployment = await hre.upgrades.prepareUpgrade( + addresses?.liquidHYPE?.redemptionVaultSwapper ?? '', await hre.ethers.getContractFactory( - getTokenContractNames('mBASIS').rvSwapper!, + getTokenContractNames('liquidHYPE').rvSwapper!, deployer, ), { unsafeAllow: ['constructor'], - redeployImplementation: 'onchange', + redeployImplementation: 'always', }, ); - if (deployment.deployTransaction) { - await deployment.deployTransaction.wait(5); + if (typeof deployment !== 'string') { + await deployment.wait(5); + console.log(deployment.to); + } else { + console.log(deployment); } - await logDeployProxy( - hre, - getTokenContractNames('mBASIS').rvSwapper!, - deployment.address, - ); - await tryEtherscanVerifyImplementation(hre, deployment.address); }; func(hre).then(console.log).catch(console.error); diff --git a/test/common/token.tests.ts b/test/common/token.tests.ts index c9f9830f..798836ee 100644 --- a/test/common/token.tests.ts +++ b/test/common/token.tests.ts @@ -66,6 +66,14 @@ const expectedTokenNameSymb: Record< name: 'Midas Fasanara ONE', symbol: 'mF-ONE', }, + mHYPER: { + name: 'Midas Hyperithm', + symbol: 'mHYPER', + }, + mAPOLLO: { + name: 'Midas Apollo Crypto', + symbol: 'mAPOLLO', + }, hbUSDT: { name: 'Hyperbeat USDT', symbol: 'hbUSDT', @@ -118,6 +126,14 @@ const expectedTokenNameSymb: Record< name: 'Bitcoin MEV Capital', symbol: 'mevBTC', }, + lstHYPE: { + name: 'Hyperbeat LST Vault', + symbol: 'lstHYPE', + }, + liquidHYPE: { + name: 'Liquid HYPE Yield', + symbol: 'liquidHYPE', + }, }; export const tokenContractsTests = (token: MTokenName) => { diff --git a/yarn.lock b/yarn.lock index 4a467d4e..c40ebd73 100644 --- a/yarn.lock +++ b/yarn.lock @@ -866,17 +866,17 @@ resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-1.0.2.tgz#342b79e19c456a56d8e76bc2e9cc8474cbcfc774" integrity sha512-8CEgWSKUK2aMit+76Sez8n7UB0Ze1lwT+LcWxj4EFP30lQWOwOws048t6MTPfThH0BlSWjC6hJRr0LncIkc1Sw== -"@nomicfoundation/hardhat-verify@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.11.tgz#4ce12b592e01ee93a81933924609c233ed00d951" - integrity sha512-lGIo4dNjVQFdsiEgZp3KP6ntLiF7xJEJsbNHfSyIiFCyI0Yv0518ElsFtMC5uCuHEChiBBMrib9jWQvHHT+X3Q== +"@nomicfoundation/hardhat-verify@^2.0.14": + version "2.0.14" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.14.tgz#ba80918fac840f1165825f2a422a694486f82f6f" + integrity sha512-z3iVF1WYZHzcdMMUuureFpSAfcnlfJbJx3faOnGrOYg6PRTki1Ut9JAuRccnFzMHf1AmTEoSUpWcyvBCoxL5Rg== dependencies: "@ethersproject/abi" "^5.1.2" "@ethersproject/address" "^5.0.2" cbor "^8.1.0" - chalk "^2.4.2" debug "^4.1.1" lodash.clonedeep "^4.5.0" + picocolors "^1.1.0" semver "^6.3.0" table "^6.8.0" undici "^5.14.0"