diff --git a/.openzeppelin/base-sepolia.json b/.openzeppelin/base-sepolia.json index c65d360..bad6ab0 100644 --- a/.openzeppelin/base-sepolia.json +++ b/.openzeppelin/base-sepolia.json @@ -2188,6 +2188,518 @@ }, "namespaces": {} } + }, + "9632c0454f59fdd3baefde564ab6ec82c5dc00e3eb3c91dffb3e29970ce2da74": { + "address": "0xBe782C45B94712BEBE8CE11F2acbfF71C5190C0c", + "txHash": "0x94948145390de39e2aa17fe5a801a667fe287c0f0a1b7d17c8ddab4dbee22406", + "layout": { + "solcVersion": "0.8.18", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol: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": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_bytes32,t_struct(RoleData)852_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "_pendingDefaultAdmin", + "offset": 0, + "slot": "151", + "type": "t_address", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:43" + }, + { + "label": "_pendingDefaultAdminSchedule", + "offset": 20, + "slot": "151", + "type": "t_uint48", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:44" + }, + { + "label": "_currentDelay", + "offset": 26, + "slot": "151", + "type": "t_uint48", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:46" + }, + { + "label": "_currentDefaultAdmin", + "offset": 0, + "slot": "152", + "type": "t_address", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:47" + }, + { + "label": "_pendingDelay", + "offset": 20, + "slot": "152", + "type": "t_uint48", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:50" + }, + { + "label": "_pendingDelaySchedule", + "offset": 26, + "slot": "152", + "type": "t_uint48", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:51" + }, + { + "label": "__gap", + "offset": 0, + "slot": "153", + "type": "t_array(t_uint256)48_storage", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:394" + }, + { + "label": "_paused", + "offset": 0, + "slot": "201", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "_index", + "offset": 0, + "slot": "251", + "type": "t_uint256", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:49" + }, + { + "label": "dlcs", + "offset": 0, + "slot": "252", + "type": "t_mapping(t_uint256,t_struct(DLC)9373_storage)", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:50" + }, + { + "label": "dlcIDsByUUID", + "offset": 0, + "slot": "253", + "type": "t_mapping(t_bytes32,t_uint256)", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:51" + }, + { + "label": "_minimumThreshold", + "offset": 0, + "slot": "254", + "type": "t_uint16", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:53" + }, + { + "label": "_threshold", + "offset": 2, + "slot": "254", + "type": "t_uint16", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:54" + }, + { + "label": "_signerCount", + "offset": 4, + "slot": "254", + "type": "t_uint16", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:55" + }, + { + "label": "tssCommitment", + "offset": 0, + "slot": "255", + "type": "t_bytes32", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:56" + }, + { + "label": "attestorGroupPubKey", + "offset": 0, + "slot": "256", + "type": "t_string_storage", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:57" + }, + { + "label": "dlcBTC", + "offset": 0, + "slot": "257", + "type": "t_contract(DLCBTC)9331", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:59" + }, + { + "label": "btcFeeRecipient", + "offset": 0, + "slot": "258", + "type": "t_string_storage", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:60" + }, + { + "label": "minimumDeposit", + "offset": 0, + "slot": "259", + "type": "t_uint256", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:61" + }, + { + "label": "maximumDeposit", + "offset": 0, + "slot": "260", + "type": "t_uint256", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:62" + }, + { + "label": "btcMintFeeRate", + "offset": 0, + "slot": "261", + "type": "t_uint256", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:63" + }, + { + "label": "btcRedeemFeeRate", + "offset": 0, + "slot": "262", + "type": "t_uint256", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:64" + }, + { + "label": "whitelistingEnabled", + "offset": 0, + "slot": "263", + "type": "t_bool", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:65" + }, + { + "label": "userVaults", + "offset": 0, + "slot": "264", + "type": "t_mapping(t_address,t_array(t_bytes32)dyn_storage)", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:67" + }, + { + "label": "_whitelistedAddresses", + "offset": 0, + "slot": "265", + "type": "t_mapping(t_address,t_bool)", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:68" + }, + { + "label": "porEnabled", + "offset": 0, + "slot": "266", + "type": "t_bool", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:69" + }, + { + "label": "dlcBTCPoRFeed", + "offset": 1, + "slot": "266", + "type": "t_contract(AggregatorV3Interface)104", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:70" + }, + { + "label": "_seenSigners", + "offset": 0, + "slot": "267", + "type": "t_mapping(t_address,t_mapping(t_bytes32,t_bool))", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:71" + }, + { + "label": "__gap", + "offset": 0, + "slot": "268", + "type": "t_array(t_uint256)39_storage", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:72" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_bytes32)dyn_storage": { + "label": "bytes32[]", + "numberOfBytes": "32" + }, + "t_array(t_uint256)39_storage": { + "label": "uint256[39]", + "numberOfBytes": "1248" + }, + "t_array(t_uint256)48_storage": { + "label": "uint256[48]", + "numberOfBytes": "1536" + }, + "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_contract(AggregatorV3Interface)104": { + "label": "contract AggregatorV3Interface", + "numberOfBytes": "20" + }, + "t_contract(DLCBTC)9331": { + "label": "contract DLCBTC", + "numberOfBytes": "20" + }, + "t_enum(DLCStatus)9343": { + "label": "enum DLCLink.DLCStatus", + "members": [ + "READY", + "FUNDED", + "CLOSING", + "CLOSED", + "AUX_STATE_1", + "AUX_STATE_2", + "AUX_STATE_3", + "AUX_STATE_4", + "AUX_STATE_5" + ], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_array(t_bytes32)dyn_storage)": { + "label": "mapping(address => bytes32[])", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_bytes32,t_bool))": { + "label": "mapping(address => mapping(bytes32 => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_bool)": { + "label": "mapping(bytes32 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)852_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_uint256)": { + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(DLC)9373_storage)": { + "label": "mapping(uint256 => struct DLCLink.DLC)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(DLC)9373_storage": { + "label": "struct DLCLink.DLC", + "members": [ + { + "label": "uuid", + "type": "t_bytes32", + "offset": 0, + "slot": "0" + }, + { + "label": "protocolContract", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "timestamp", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "valueLocked", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "creator", + "type": "t_address", + "offset": 0, + "slot": "4" + }, + { + "label": "status", + "type": "t_enum(DLCStatus)9343", + "offset": 20, + "slot": "4" + }, + { + "label": "fundingTxId", + "type": "t_string_storage", + "offset": 0, + "slot": "5" + }, + { + "label": "closingTxId", + "type": "t_string_storage", + "offset": 0, + "slot": "6" + }, + { + "label": "btcFeeRecipient", + "type": "t_string_storage", + "offset": 0, + "slot": "7" + }, + { + "label": "btcMintFeeBasisPoints", + "type": "t_uint256", + "offset": 0, + "slot": "8" + }, + { + "label": "btcRedeemFeeBasisPoints", + "type": "t_uint256", + "offset": 0, + "slot": "9" + }, + { + "label": "taprootPubKey", + "type": "t_string_storage", + "offset": 0, + "slot": "10" + }, + { + "label": "valueMinted", + "type": "t_uint256", + "offset": 0, + "slot": "11" + }, + { + "label": "wdTxId", + "type": "t_string_storage", + "offset": 0, + "slot": "12" + } + ], + "numberOfBytes": "416" + }, + "t_struct(RoleData)852_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint48": { + "label": "uint48", + "numberOfBytes": "6" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } } } } diff --git a/.openzeppelin/base.json b/.openzeppelin/base.json index f0d3cfd..1319684 100644 --- a/.openzeppelin/base.json +++ b/.openzeppelin/base.json @@ -1077,7 +1077,7 @@ "label": "_roles", "offset": 0, "slot": "101", - "type": "t_mapping(t_bytes32,t_struct(RoleData)747_storage)", + "type": "t_mapping(t_bytes32,t_struct(RoleData)852_storage)", "contract": "AccessControlUpgradeable", "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62" }, @@ -1173,7 +1173,7 @@ "label": "dlcs", "offset": 0, "slot": "252", - "type": "t_mapping(t_uint256,t_struct(DLC)7554_storage)", + "type": "t_mapping(t_uint256,t_struct(DLC)9373_storage)", "contract": "DLCManager", "src": "contracts/DLCManager.sol:48" }, @@ -1229,7 +1229,7 @@ "label": "dlcBTC", "offset": 0, "slot": "257", - "type": "t_contract(DLCBTC)7512", + "type": "t_contract(DLCBTC)9331", "contract": "DLCManager", "src": "contracts/DLCManager.sol:57" }, @@ -1339,11 +1339,11 @@ "label": "bytes32", "numberOfBytes": "32" }, - "t_contract(DLCBTC)7512": { + "t_contract(DLCBTC)9331": { "label": "contract DLCBTC", "numberOfBytes": "20" }, - "t_enum(DLCStatus)7524": { + "t_enum(DLCStatus)9343": { "label": "enum DLCLink.DLCStatus", "members": [ "READY", @@ -1366,7 +1366,7 @@ "label": "mapping(address => bool)", "numberOfBytes": "32" }, - "t_mapping(t_bytes32,t_struct(RoleData)747_storage)": { + "t_mapping(t_bytes32,t_struct(RoleData)852_storage)": { "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", "numberOfBytes": "32" }, @@ -1374,7 +1374,7 @@ "label": "mapping(bytes32 => uint256)", "numberOfBytes": "32" }, - "t_mapping(t_uint256,t_struct(DLC)7554_storage)": { + "t_mapping(t_uint256,t_struct(DLC)9373_storage)": { "label": "mapping(uint256 => struct DLCLink.DLC)", "numberOfBytes": "32" }, @@ -1382,7 +1382,7 @@ "label": "string", "numberOfBytes": "32" }, - "t_struct(DLC)7554_storage": { + "t_struct(DLC)9373_storage": { "label": "struct DLCLink.DLC", "members": [ { @@ -1417,7 +1417,7 @@ }, { "label": "status", - "type": "t_enum(DLCStatus)7524", + "type": "t_enum(DLCStatus)9343", "offset": 20, "slot": "4" }, @@ -1472,7 +1472,519 @@ ], "numberOfBytes": "416" }, - "t_struct(RoleData)747_storage": { + "t_struct(RoleData)852_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint48": { + "label": "uint48", + "numberOfBytes": "6" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "9632c0454f59fdd3baefde564ab6ec82c5dc00e3eb3c91dffb3e29970ce2da74": { + "address": "0x07234079573a5C1e2c0B3f1DA3Bd5aD675b5a2A7", + "txHash": "0x601bd7b1f9f4e7bc294ff6abdf3a20ac8e5e3f200d6381242b1efc134394f193", + "layout": { + "solcVersion": "0.8.18", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol: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": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_bytes32,t_struct(RoleData)852_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "_pendingDefaultAdmin", + "offset": 0, + "slot": "151", + "type": "t_address", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:43" + }, + { + "label": "_pendingDefaultAdminSchedule", + "offset": 20, + "slot": "151", + "type": "t_uint48", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:44" + }, + { + "label": "_currentDelay", + "offset": 26, + "slot": "151", + "type": "t_uint48", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:46" + }, + { + "label": "_currentDefaultAdmin", + "offset": 0, + "slot": "152", + "type": "t_address", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:47" + }, + { + "label": "_pendingDelay", + "offset": 20, + "slot": "152", + "type": "t_uint48", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:50" + }, + { + "label": "_pendingDelaySchedule", + "offset": 26, + "slot": "152", + "type": "t_uint48", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:51" + }, + { + "label": "__gap", + "offset": 0, + "slot": "153", + "type": "t_array(t_uint256)48_storage", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:394" + }, + { + "label": "_paused", + "offset": 0, + "slot": "201", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "_index", + "offset": 0, + "slot": "251", + "type": "t_uint256", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:49" + }, + { + "label": "dlcs", + "offset": 0, + "slot": "252", + "type": "t_mapping(t_uint256,t_struct(DLC)9373_storage)", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:50" + }, + { + "label": "dlcIDsByUUID", + "offset": 0, + "slot": "253", + "type": "t_mapping(t_bytes32,t_uint256)", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:51" + }, + { + "label": "_minimumThreshold", + "offset": 0, + "slot": "254", + "type": "t_uint16", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:53" + }, + { + "label": "_threshold", + "offset": 2, + "slot": "254", + "type": "t_uint16", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:54" + }, + { + "label": "_signerCount", + "offset": 4, + "slot": "254", + "type": "t_uint16", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:55" + }, + { + "label": "tssCommitment", + "offset": 0, + "slot": "255", + "type": "t_bytes32", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:56" + }, + { + "label": "attestorGroupPubKey", + "offset": 0, + "slot": "256", + "type": "t_string_storage", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:57" + }, + { + "label": "dlcBTC", + "offset": 0, + "slot": "257", + "type": "t_contract(DLCBTC)9331", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:59" + }, + { + "label": "btcFeeRecipient", + "offset": 0, + "slot": "258", + "type": "t_string_storage", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:60" + }, + { + "label": "minimumDeposit", + "offset": 0, + "slot": "259", + "type": "t_uint256", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:61" + }, + { + "label": "maximumDeposit", + "offset": 0, + "slot": "260", + "type": "t_uint256", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:62" + }, + { + "label": "btcMintFeeRate", + "offset": 0, + "slot": "261", + "type": "t_uint256", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:63" + }, + { + "label": "btcRedeemFeeRate", + "offset": 0, + "slot": "262", + "type": "t_uint256", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:64" + }, + { + "label": "whitelistingEnabled", + "offset": 0, + "slot": "263", + "type": "t_bool", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:65" + }, + { + "label": "userVaults", + "offset": 0, + "slot": "264", + "type": "t_mapping(t_address,t_array(t_bytes32)dyn_storage)", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:67" + }, + { + "label": "_whitelistedAddresses", + "offset": 0, + "slot": "265", + "type": "t_mapping(t_address,t_bool)", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:68" + }, + { + "label": "porEnabled", + "offset": 0, + "slot": "266", + "type": "t_bool", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:69" + }, + { + "label": "dlcBTCPoRFeed", + "offset": 1, + "slot": "266", + "type": "t_contract(AggregatorV3Interface)104", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:70" + }, + { + "label": "_seenSigners", + "offset": 0, + "slot": "267", + "type": "t_mapping(t_address,t_mapping(t_bytes32,t_bool))", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:71" + }, + { + "label": "__gap", + "offset": 0, + "slot": "268", + "type": "t_array(t_uint256)39_storage", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:72" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_bytes32)dyn_storage": { + "label": "bytes32[]", + "numberOfBytes": "32" + }, + "t_array(t_uint256)39_storage": { + "label": "uint256[39]", + "numberOfBytes": "1248" + }, + "t_array(t_uint256)48_storage": { + "label": "uint256[48]", + "numberOfBytes": "1536" + }, + "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_contract(AggregatorV3Interface)104": { + "label": "contract AggregatorV3Interface", + "numberOfBytes": "20" + }, + "t_contract(DLCBTC)9331": { + "label": "contract DLCBTC", + "numberOfBytes": "20" + }, + "t_enum(DLCStatus)9343": { + "label": "enum DLCLink.DLCStatus", + "members": [ + "READY", + "FUNDED", + "CLOSING", + "CLOSED", + "AUX_STATE_1", + "AUX_STATE_2", + "AUX_STATE_3", + "AUX_STATE_4", + "AUX_STATE_5" + ], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_array(t_bytes32)dyn_storage)": { + "label": "mapping(address => bytes32[])", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_bytes32,t_bool))": { + "label": "mapping(address => mapping(bytes32 => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_bool)": { + "label": "mapping(bytes32 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)852_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_uint256)": { + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(DLC)9373_storage)": { + "label": "mapping(uint256 => struct DLCLink.DLC)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(DLC)9373_storage": { + "label": "struct DLCLink.DLC", + "members": [ + { + "label": "uuid", + "type": "t_bytes32", + "offset": 0, + "slot": "0" + }, + { + "label": "protocolContract", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "timestamp", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "valueLocked", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "creator", + "type": "t_address", + "offset": 0, + "slot": "4" + }, + { + "label": "status", + "type": "t_enum(DLCStatus)9343", + "offset": 20, + "slot": "4" + }, + { + "label": "fundingTxId", + "type": "t_string_storage", + "offset": 0, + "slot": "5" + }, + { + "label": "closingTxId", + "type": "t_string_storage", + "offset": 0, + "slot": "6" + }, + { + "label": "btcFeeRecipient", + "type": "t_string_storage", + "offset": 0, + "slot": "7" + }, + { + "label": "btcMintFeeBasisPoints", + "type": "t_uint256", + "offset": 0, + "slot": "8" + }, + { + "label": "btcRedeemFeeBasisPoints", + "type": "t_uint256", + "offset": 0, + "slot": "9" + }, + { + "label": "taprootPubKey", + "type": "t_string_storage", + "offset": 0, + "slot": "10" + }, + { + "label": "valueMinted", + "type": "t_uint256", + "offset": 0, + "slot": "11" + }, + { + "label": "wdTxId", + "type": "t_string_storage", + "offset": 0, + "slot": "12" + } + ], + "numberOfBytes": "416" + }, + "t_struct(RoleData)852_storage": { "label": "struct AccessControlUpgradeable.RoleData", "members": [ { diff --git a/.openzeppelin/sepolia.json b/.openzeppelin/sepolia.json index 7d3f94f..f333e79 100644 --- a/.openzeppelin/sepolia.json +++ b/.openzeppelin/sepolia.json @@ -4919,7 +4919,7 @@ "label": "_roles", "offset": 0, "slot": "101", - "type": "t_mapping(t_bytes32,t_struct(RoleData)747_storage)", + "type": "t_mapping(t_bytes32,t_struct(RoleData)852_storage)", "contract": "AccessControlUpgradeable", "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62" }, @@ -5015,7 +5015,7 @@ "label": "dlcs", "offset": 0, "slot": "252", - "type": "t_mapping(t_uint256,t_struct(DLC)7554_storage)", + "type": "t_mapping(t_uint256,t_struct(DLC)9373_storage)", "contract": "DLCManager", "src": "contracts/DLCManager.sol:48" }, @@ -5071,7 +5071,7 @@ "label": "dlcBTC", "offset": 0, "slot": "257", - "type": "t_contract(DLCBTC)7512", + "type": "t_contract(DLCBTC)9331", "contract": "DLCManager", "src": "contracts/DLCManager.sol:57" }, @@ -5181,11 +5181,11 @@ "label": "bytes32", "numberOfBytes": "32" }, - "t_contract(DLCBTC)7512": { + "t_contract(DLCBTC)9331": { "label": "contract DLCBTC", "numberOfBytes": "20" }, - "t_enum(DLCStatus)7524": { + "t_enum(DLCStatus)9343": { "label": "enum DLCLink.DLCStatus", "members": [ "READY", @@ -5208,7 +5208,7 @@ "label": "mapping(address => bool)", "numberOfBytes": "32" }, - "t_mapping(t_bytes32,t_struct(RoleData)747_storage)": { + "t_mapping(t_bytes32,t_struct(RoleData)852_storage)": { "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", "numberOfBytes": "32" }, @@ -5216,7 +5216,7 @@ "label": "mapping(bytes32 => uint256)", "numberOfBytes": "32" }, - "t_mapping(t_uint256,t_struct(DLC)7554_storage)": { + "t_mapping(t_uint256,t_struct(DLC)9373_storage)": { "label": "mapping(uint256 => struct DLCLink.DLC)", "numberOfBytes": "32" }, @@ -5224,7 +5224,7 @@ "label": "string", "numberOfBytes": "32" }, - "t_struct(DLC)7554_storage": { + "t_struct(DLC)9373_storage": { "label": "struct DLCLink.DLC", "members": [ { @@ -5259,7 +5259,7 @@ }, { "label": "status", - "type": "t_enum(DLCStatus)7524", + "type": "t_enum(DLCStatus)9343", "offset": 20, "slot": "4" }, @@ -5314,7 +5314,519 @@ ], "numberOfBytes": "416" }, - "t_struct(RoleData)747_storage": { + "t_struct(RoleData)852_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint48": { + "label": "uint48", + "numberOfBytes": "6" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "9632c0454f59fdd3baefde564ab6ec82c5dc00e3eb3c91dffb3e29970ce2da74": { + "address": "0x77edc59187A81B54038F3e5e821A4Ad28BaF6789", + "txHash": "0x909017aeaccdd6ba6e28ee421f664ef64ba70ea50725d95c54c96cac2d9b1142", + "layout": { + "solcVersion": "0.8.18", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol: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": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_bytes32,t_struct(RoleData)852_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "_pendingDefaultAdmin", + "offset": 0, + "slot": "151", + "type": "t_address", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:43" + }, + { + "label": "_pendingDefaultAdminSchedule", + "offset": 20, + "slot": "151", + "type": "t_uint48", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:44" + }, + { + "label": "_currentDelay", + "offset": 26, + "slot": "151", + "type": "t_uint48", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:46" + }, + { + "label": "_currentDefaultAdmin", + "offset": 0, + "slot": "152", + "type": "t_address", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:47" + }, + { + "label": "_pendingDelay", + "offset": 20, + "slot": "152", + "type": "t_uint48", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:50" + }, + { + "label": "_pendingDelaySchedule", + "offset": 26, + "slot": "152", + "type": "t_uint48", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:51" + }, + { + "label": "__gap", + "offset": 0, + "slot": "153", + "type": "t_array(t_uint256)48_storage", + "contract": "AccessControlDefaultAdminRulesUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlDefaultAdminRulesUpgradeable.sol:394" + }, + { + "label": "_paused", + "offset": 0, + "slot": "201", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "_index", + "offset": 0, + "slot": "251", + "type": "t_uint256", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:49" + }, + { + "label": "dlcs", + "offset": 0, + "slot": "252", + "type": "t_mapping(t_uint256,t_struct(DLC)9373_storage)", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:50" + }, + { + "label": "dlcIDsByUUID", + "offset": 0, + "slot": "253", + "type": "t_mapping(t_bytes32,t_uint256)", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:51" + }, + { + "label": "_minimumThreshold", + "offset": 0, + "slot": "254", + "type": "t_uint16", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:53" + }, + { + "label": "_threshold", + "offset": 2, + "slot": "254", + "type": "t_uint16", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:54" + }, + { + "label": "_signerCount", + "offset": 4, + "slot": "254", + "type": "t_uint16", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:55" + }, + { + "label": "tssCommitment", + "offset": 0, + "slot": "255", + "type": "t_bytes32", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:56" + }, + { + "label": "attestorGroupPubKey", + "offset": 0, + "slot": "256", + "type": "t_string_storage", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:57" + }, + { + "label": "dlcBTC", + "offset": 0, + "slot": "257", + "type": "t_contract(DLCBTC)9331", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:59" + }, + { + "label": "btcFeeRecipient", + "offset": 0, + "slot": "258", + "type": "t_string_storage", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:60" + }, + { + "label": "minimumDeposit", + "offset": 0, + "slot": "259", + "type": "t_uint256", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:61" + }, + { + "label": "maximumDeposit", + "offset": 0, + "slot": "260", + "type": "t_uint256", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:62" + }, + { + "label": "btcMintFeeRate", + "offset": 0, + "slot": "261", + "type": "t_uint256", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:63" + }, + { + "label": "btcRedeemFeeRate", + "offset": 0, + "slot": "262", + "type": "t_uint256", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:64" + }, + { + "label": "whitelistingEnabled", + "offset": 0, + "slot": "263", + "type": "t_bool", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:65" + }, + { + "label": "userVaults", + "offset": 0, + "slot": "264", + "type": "t_mapping(t_address,t_array(t_bytes32)dyn_storage)", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:67" + }, + { + "label": "_whitelistedAddresses", + "offset": 0, + "slot": "265", + "type": "t_mapping(t_address,t_bool)", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:68" + }, + { + "label": "porEnabled", + "offset": 0, + "slot": "266", + "type": "t_bool", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:69" + }, + { + "label": "dlcBTCPoRFeed", + "offset": 1, + "slot": "266", + "type": "t_contract(AggregatorV3Interface)104", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:70" + }, + { + "label": "_seenSigners", + "offset": 0, + "slot": "267", + "type": "t_mapping(t_address,t_mapping(t_bytes32,t_bool))", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:71" + }, + { + "label": "__gap", + "offset": 0, + "slot": "268", + "type": "t_array(t_uint256)39_storage", + "contract": "DLCManager", + "src": "contracts/DLCManager.sol:72" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_bytes32)dyn_storage": { + "label": "bytes32[]", + "numberOfBytes": "32" + }, + "t_array(t_uint256)39_storage": { + "label": "uint256[39]", + "numberOfBytes": "1248" + }, + "t_array(t_uint256)48_storage": { + "label": "uint256[48]", + "numberOfBytes": "1536" + }, + "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_contract(AggregatorV3Interface)104": { + "label": "contract AggregatorV3Interface", + "numberOfBytes": "20" + }, + "t_contract(DLCBTC)9331": { + "label": "contract DLCBTC", + "numberOfBytes": "20" + }, + "t_enum(DLCStatus)9343": { + "label": "enum DLCLink.DLCStatus", + "members": [ + "READY", + "FUNDED", + "CLOSING", + "CLOSED", + "AUX_STATE_1", + "AUX_STATE_2", + "AUX_STATE_3", + "AUX_STATE_4", + "AUX_STATE_5" + ], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_array(t_bytes32)dyn_storage)": { + "label": "mapping(address => bytes32[])", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_bytes32,t_bool))": { + "label": "mapping(address => mapping(bytes32 => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_bool)": { + "label": "mapping(bytes32 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)852_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_uint256)": { + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(DLC)9373_storage)": { + "label": "mapping(uint256 => struct DLCLink.DLC)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(DLC)9373_storage": { + "label": "struct DLCLink.DLC", + "members": [ + { + "label": "uuid", + "type": "t_bytes32", + "offset": 0, + "slot": "0" + }, + { + "label": "protocolContract", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "timestamp", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "valueLocked", + "type": "t_uint256", + "offset": 0, + "slot": "3" + }, + { + "label": "creator", + "type": "t_address", + "offset": 0, + "slot": "4" + }, + { + "label": "status", + "type": "t_enum(DLCStatus)9343", + "offset": 20, + "slot": "4" + }, + { + "label": "fundingTxId", + "type": "t_string_storage", + "offset": 0, + "slot": "5" + }, + { + "label": "closingTxId", + "type": "t_string_storage", + "offset": 0, + "slot": "6" + }, + { + "label": "btcFeeRecipient", + "type": "t_string_storage", + "offset": 0, + "slot": "7" + }, + { + "label": "btcMintFeeBasisPoints", + "type": "t_uint256", + "offset": 0, + "slot": "8" + }, + { + "label": "btcRedeemFeeBasisPoints", + "type": "t_uint256", + "offset": 0, + "slot": "9" + }, + { + "label": "taprootPubKey", + "type": "t_string_storage", + "offset": 0, + "slot": "10" + }, + { + "label": "valueMinted", + "type": "t_uint256", + "offset": 0, + "slot": "11" + }, + { + "label": "wdTxId", + "type": "t_string_storage", + "offset": 0, + "slot": "12" + } + ], + "numberOfBytes": "416" + }, + "t_struct(RoleData)852_storage": { "label": "struct AccessControlUpgradeable.RoleData", "members": [ { diff --git a/deploymentFiles/base/DLCManager.2024-11-11T19:01:36.661Z.json b/deploymentFiles/base/DLCManager.2024-11-11T19:01:36.661Z.json new file mode 100644 index 0000000..2748219 --- /dev/null +++ b/deploymentFiles/base/DLCManager.2024-11-11T19:01:36.661Z.json @@ -0,0 +1,141 @@ +{ + "network": "base", + "updatedAt": "2024-11-01T10:22:01.026Z", + "gitSHA": "8204612", + "contract": { + "name": "DLCManager", + "address": "0xE0d2c0979583Db7fD7E8779ADd83cA7Eb6BC7BD7", + "signerAddress": "0x9506Ea24038609679732855F757041a3C1C06623", + "abi": [ + "constructor()", + "error ClosingFundedVault()", + "error ContractNotWhitelisted()", + "error DLCNotFound()", + "error DLCNotFunded()", + "error DLCNotPending()", + "error DLCNotReadyOrFunded()", + "error DepositTooLarge(uint256 deposit, uint256 maximumDeposit)", + "error DepositTooSmall(uint256 deposit, uint256 minimumDeposit)", + "error DuplicateSignature()", + "error DuplicateSigner(address signer)", + "error FeeRateOutOfBounds(uint256 feeRate)", + "error IncompatibleRoles()", + "error InsufficientMintedBalance(uint256 minted, uint256 amount)", + "error InsufficientTokenBalance(uint256 balance, uint256 amount)", + "error InvalidRange()", + "error InvalidSigner()", + "error NoSignerRenouncement()", + "error NotCreatorContract()", + "error NotDLCAdmin()", + "error NotEnoughReserves(uint256 reserves, uint256 amount)", + "error NotEnoughSignatures()", + "error NotOwner()", + "error NotWhitelisted()", + "error SignerNotApproved(address signer)", + "error ThresholdMinimumReached(uint16 _minimumThreshold)", + "error ThresholdTooLow(uint16 _minimumThreshold)", + "error Unauthorized()", + "error UnderCollateralized(uint256 newValueLocked, uint256 valueMinted)", + "event Burn(address from, uint256 amount)", + "event CreateDLC(bytes32 uuid, address creator, uint256 timestamp)", + "event DefaultAdminDelayChangeCanceled()", + "event DefaultAdminDelayChangeScheduled(uint48 newDelay, uint48 effectSchedule)", + "event DefaultAdminTransferCanceled()", + "event DefaultAdminTransferScheduled(address indexed newAdmin, uint48 acceptSchedule)", + "event Initialized(uint8 version)", + "event Mint(address to, uint256 amount)", + "event Paused(address account)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "event SetBtcFeeRecipient(string btcFeeRecipient)", + "event SetBtcMintFeeRate(uint256 newBtcMintFeeRate)", + "event SetBtcRedeemFeeRate(uint256 newBtcRedeemFeeRate)", + "event SetDlcBTCPoRFeed(address feed)", + "event SetMaximumDeposit(uint256 newMaximumDeposit)", + "event SetMinimumDeposit(uint256 newMinimumDeposit)", + "event SetPorEnabled(bool enabled)", + "event SetStatusFunded(bytes32 uuid, string btcTxId, address creator, uint256 newValueLocked, uint256 amountToMint)", + "event SetStatusPending(bytes32 uuid, string btcTxId, address creator, string taprootPubKey, uint256 newValueLocked)", + "event SetThreshold(uint16 newThreshold)", + "event SetWhitelistingEnabled(bool isWhitelistingEnabled)", + "event TransferTokenContractOwnership(address newOwner)", + "event Unpaused(address account)", + "event UnwhitelistAddress(address addressToUnWhitelist)", + "event WhitelistAddress(address addressToWhitelist)", + "event Withdraw(bytes32 uuid, uint256 amount, address sender)", + "function APPROVED_SIGNER() view returns (bytes32)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function DLC_ADMIN_ROLE() view returns (bytes32)", + "function WHITELISTED_CONTRACT() view returns (bytes32)", + "function acceptDefaultAdminTransfer()", + "function attestorGroupPubKey() view returns (string)", + "function beginDefaultAdminTransfer(address newAdmin)", + "function btcFeeRecipient() view returns (string)", + "function btcMintFeeRate() view returns (uint256)", + "function btcRedeemFeeRate() view returns (uint256)", + "function cancelDefaultAdminTransfer()", + "function changeDefaultAdminDelay(uint48 newDelay)", + "function defaultAdmin() view returns (address)", + "function defaultAdminDelay() view returns (uint48)", + "function defaultAdminDelayIncreaseWait() view returns (uint48)", + "function dlcBTC() view returns (address)", + "function dlcBTCPoRFeed() view returns (address)", + "function dlcIDsByUUID(bytes32) view returns (uint256)", + "function dlcs(uint256) view returns (bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId)", + "function getAllDLCs(uint256 startIndex, uint256 endIndex) view returns (tuple(bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId)[])", + "function getAllVaultUUIDsForAddress(address owner) view returns (bytes32[])", + "function getAllVaultsForAddress(address owner) view returns (tuple(bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId)[])", + "function getDLC(bytes32 uuid) view returns (tuple(bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId))", + "function getDLCByIndex(uint256 index) view returns (tuple(bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId))", + "function getMinimumThreshold() view returns (uint16)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function getSignerCount() view returns (uint16)", + "function getThreshold() view returns (uint16)", + "function getTotalValueMintedInVaults() view returns (uint256)", + "function getVault(bytes32 uuid) view returns (tuple(bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId))", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function initialize(address defaultAdmin, address dlcAdminRole, uint16 threshold, address tokenContract, string btcFeeRecipientToSet)", + "function isWhitelisted(address account) view returns (bool)", + "function maximumDeposit() view returns (uint256)", + "function minimumDeposit() view returns (uint256)", + "function owner() view returns (address)", + "function pauseContract()", + "function paused() view returns (bool)", + "function pendingDefaultAdmin() view returns (address newAdmin, uint48 schedule)", + "function pendingDefaultAdminDelay() view returns (uint48 newDelay, uint48 schedule)", + "function porEnabled() view returns (bool)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function rollbackDefaultAdminDelay()", + "function setAttestorGroupPubKey(string pubKey)", + "function setBtcFeeRecipient(string btcFeeRecipientToSet)", + "function setBtcFeeRecipientForVault(bytes32 uuid, string btcFeeRecipientToSet)", + "function setBtcMintFeeRate(uint256 newBtcMintFeeRate)", + "function setBtcRedeemFeeRate(uint256 newBtcRedeemFeeRate)", + "function setBurnerOnTokenContract(address burner)", + "function setDlcBTCPoRFeed(address feed)", + "function setMaximumDeposit(uint256 newMaximumDeposit)", + "function setMinimumDeposit(uint256 newMinimumDeposit)", + "function setMinterOnTokenContract(address minter)", + "function setPorEnabled(bool enabled)", + "function setStatusFunded(bytes32 uuid, string btcTxId, bytes[] signatures, uint256 newValueLocked)", + "function setStatusPending(bytes32 uuid, string wdTxId, bytes[] signatures, string taprootPubKey, uint256 newValueLocked)", + "function setTSSCommitment(bytes32 commitment)", + "function setThreshold(uint16 newThreshold)", + "function setWhitelistingEnabled(bool isWhitelistingEnabled)", + "function setupVault() returns (bytes32)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function transferTokenContractOwnership(address newOwner)", + "function tssCommitment() view returns (bytes32)", + "function unpauseContract()", + "function unwhitelistAddress(address addressToUnWhitelist)", + "function userVaults(address, uint256) view returns (bytes32)", + "function whitelistAddress(address addressToWhitelist)", + "function whitelistingEnabled() view returns (bool)", + "function withdraw(bytes32 uuid, uint256 amount)" + ] + }, + "upgradeData": "0x99a88ec4000000000000000000000000e0d2c0979583db7fd7e8779add83ca7eb6bc7bd700000000000000000000000007234079573a5c1e2c0b3f1da3bd5ad675b5a2a7" +} diff --git a/deploymentFiles/base/DLCManager.json b/deploymentFiles/base/DLCManager.json index a5c48d8..2748219 100644 --- a/deploymentFiles/base/DLCManager.json +++ b/deploymentFiles/base/DLCManager.json @@ -1,7 +1,7 @@ { "network": "base", - "updatedAt": "2024-09-27T08:04:46.295Z", - "gitSHA": "9c2375d", + "updatedAt": "2024-11-01T10:22:01.026Z", + "gitSHA": "8204612", "contract": { "name": "DLCManager", "address": "0xE0d2c0979583Db7fD7E8779ADd83cA7Eb6BC7BD7", @@ -27,6 +27,7 @@ "error NoSignerRenouncement()", "error NotCreatorContract()", "error NotDLCAdmin()", + "error NotEnoughReserves(uint256 reserves, uint256 amount)", "error NotEnoughSignatures()", "error NotOwner()", "error NotWhitelisted()", @@ -50,8 +51,10 @@ "event SetBtcFeeRecipient(string btcFeeRecipient)", "event SetBtcMintFeeRate(uint256 newBtcMintFeeRate)", "event SetBtcRedeemFeeRate(uint256 newBtcRedeemFeeRate)", + "event SetDlcBTCPoRFeed(address feed)", "event SetMaximumDeposit(uint256 newMaximumDeposit)", "event SetMinimumDeposit(uint256 newMinimumDeposit)", + "event SetPorEnabled(bool enabled)", "event SetStatusFunded(bytes32 uuid, string btcTxId, address creator, uint256 newValueLocked, uint256 amountToMint)", "event SetStatusPending(bytes32 uuid, string btcTxId, address creator, string taprootPubKey, uint256 newValueLocked)", "event SetThreshold(uint16 newThreshold)", @@ -77,6 +80,7 @@ "function defaultAdminDelay() view returns (uint48)", "function defaultAdminDelayIncreaseWait() view returns (uint48)", "function dlcBTC() view returns (address)", + "function dlcBTCPoRFeed() view returns (address)", "function dlcIDsByUUID(bytes32) view returns (uint256)", "function dlcs(uint256) view returns (bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId)", "function getAllDLCs(uint256 startIndex, uint256 endIndex) view returns (tuple(bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId)[])", @@ -88,6 +92,7 @@ "function getRoleAdmin(bytes32 role) view returns (bytes32)", "function getSignerCount() view returns (uint16)", "function getThreshold() view returns (uint16)", + "function getTotalValueMintedInVaults() view returns (uint256)", "function getVault(bytes32 uuid) view returns (tuple(bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId))", "function grantRole(bytes32 role, address account)", "function hasRole(bytes32 role, address account) view returns (bool)", @@ -100,6 +105,7 @@ "function paused() view returns (bool)", "function pendingDefaultAdmin() view returns (address newAdmin, uint48 schedule)", "function pendingDefaultAdminDelay() view returns (uint48 newDelay, uint48 schedule)", + "function porEnabled() view returns (bool)", "function renounceRole(bytes32 role, address account)", "function revokeRole(bytes32 role, address account)", "function rollbackDefaultAdminDelay()", @@ -109,9 +115,11 @@ "function setBtcMintFeeRate(uint256 newBtcMintFeeRate)", "function setBtcRedeemFeeRate(uint256 newBtcRedeemFeeRate)", "function setBurnerOnTokenContract(address burner)", + "function setDlcBTCPoRFeed(address feed)", "function setMaximumDeposit(uint256 newMaximumDeposit)", "function setMinimumDeposit(uint256 newMinimumDeposit)", "function setMinterOnTokenContract(address minter)", + "function setPorEnabled(bool enabled)", "function setStatusFunded(bytes32 uuid, string btcTxId, bytes[] signatures, uint256 newValueLocked)", "function setStatusPending(bytes32 uuid, string wdTxId, bytes[] signatures, string taprootPubKey, uint256 newValueLocked)", "function setTSSCommitment(bytes32 commitment)", @@ -128,5 +136,6 @@ "function whitelistingEnabled() view returns (bool)", "function withdraw(bytes32 uuid, uint256 amount)" ] - } + }, + "upgradeData": "0x99a88ec4000000000000000000000000e0d2c0979583db7fd7e8779add83ca7eb6bc7bd700000000000000000000000007234079573a5c1e2c0b3f1da3bd5ad675b5a2a7" } diff --git a/deploymentFiles/basesepolia/DLCManager.proposed.json b/deploymentFiles/basesepolia/DLCManager.2024-10-30T14:41:18.621Z.json similarity index 93% rename from deploymentFiles/basesepolia/DLCManager.proposed.json rename to deploymentFiles/basesepolia/DLCManager.2024-10-30T14:41:18.621Z.json index b6b0411..6535d85 100644 --- a/deploymentFiles/basesepolia/DLCManager.proposed.json +++ b/deploymentFiles/basesepolia/DLCManager.2024-10-30T14:41:18.621Z.json @@ -1,7 +1,7 @@ { "network": "basesepolia", - "updatedAt": "2024-10-09T11:39:15.234Z", - "gitSHA": "5a0ee77", + "updatedAt": "2024-10-30T14:33:57.040Z", + "gitSHA": "bec9b25", "contract": { "name": "DLCManager", "address": "0x050C24dBf1eEc17babE5fc585F06116A259CC77A", @@ -27,6 +27,7 @@ "error NoSignerRenouncement()", "error NotCreatorContract()", "error NotDLCAdmin()", + "error NotEnoughReserves(uint256 reserves, uint256 amount)", "error NotEnoughSignatures()", "error NotOwner()", "error NotWhitelisted()", @@ -50,8 +51,10 @@ "event SetBtcFeeRecipient(string btcFeeRecipient)", "event SetBtcMintFeeRate(uint256 newBtcMintFeeRate)", "event SetBtcRedeemFeeRate(uint256 newBtcRedeemFeeRate)", + "event SetDlcBTCPoRFeed(address feed)", "event SetMaximumDeposit(uint256 newMaximumDeposit)", "event SetMinimumDeposit(uint256 newMinimumDeposit)", + "event SetPorEnabled(bool enabled)", "event SetStatusFunded(bytes32 uuid, string btcTxId, address creator, uint256 newValueLocked, uint256 amountToMint)", "event SetStatusPending(bytes32 uuid, string btcTxId, address creator, string taprootPubKey, uint256 newValueLocked)", "event SetThreshold(uint16 newThreshold)", @@ -77,6 +80,7 @@ "function defaultAdminDelay() view returns (uint48)", "function defaultAdminDelayIncreaseWait() view returns (uint48)", "function dlcBTC() view returns (address)", + "function dlcBTCPoRFeed() view returns (address)", "function dlcIDsByUUID(bytes32) view returns (uint256)", "function dlcs(uint256) view returns (bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId)", "function getAllDLCs(uint256 startIndex, uint256 endIndex) view returns (tuple(bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId)[])", @@ -88,6 +92,7 @@ "function getRoleAdmin(bytes32 role) view returns (bytes32)", "function getSignerCount() view returns (uint16)", "function getThreshold() view returns (uint16)", + "function getTotalValueMintedInVaults() view returns (uint256)", "function getVault(bytes32 uuid) view returns (tuple(bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId))", "function grantRole(bytes32 role, address account)", "function hasRole(bytes32 role, address account) view returns (bool)", @@ -100,6 +105,7 @@ "function paused() view returns (bool)", "function pendingDefaultAdmin() view returns (address newAdmin, uint48 schedule)", "function pendingDefaultAdminDelay() view returns (uint48 newDelay, uint48 schedule)", + "function porEnabled() view returns (bool)", "function renounceRole(bytes32 role, address account)", "function revokeRole(bytes32 role, address account)", "function rollbackDefaultAdminDelay()", @@ -109,9 +115,11 @@ "function setBtcMintFeeRate(uint256 newBtcMintFeeRate)", "function setBtcRedeemFeeRate(uint256 newBtcRedeemFeeRate)", "function setBurnerOnTokenContract(address burner)", + "function setDlcBTCPoRFeed(address feed)", "function setMaximumDeposit(uint256 newMaximumDeposit)", "function setMinimumDeposit(uint256 newMinimumDeposit)", "function setMinterOnTokenContract(address minter)", + "function setPorEnabled(bool enabled)", "function setStatusFunded(bytes32 uuid, string btcTxId, bytes[] signatures, uint256 newValueLocked)", "function setStatusPending(bytes32 uuid, string wdTxId, bytes[] signatures, string taprootPubKey, uint256 newValueLocked)", "function setTSSCommitment(bytes32 commitment)", @@ -128,5 +136,6 @@ "function whitelistingEnabled() view returns (bool)", "function withdraw(bytes32 uuid, uint256 amount)" ] - } + }, + "upgradeData": "0x99a88ec4000000000000000000000000050c24dbf1eec17babe5fc585f06116a259cc77a000000000000000000000000be782c45b94712bebe8ce11f2acbff71c5190c0c" } diff --git a/deploymentFiles/basesepolia/DLCManager.json b/deploymentFiles/basesepolia/DLCManager.json index b6b0411..6535d85 100644 --- a/deploymentFiles/basesepolia/DLCManager.json +++ b/deploymentFiles/basesepolia/DLCManager.json @@ -1,7 +1,7 @@ { "network": "basesepolia", - "updatedAt": "2024-10-09T11:39:15.234Z", - "gitSHA": "5a0ee77", + "updatedAt": "2024-10-30T14:33:57.040Z", + "gitSHA": "bec9b25", "contract": { "name": "DLCManager", "address": "0x050C24dBf1eEc17babE5fc585F06116A259CC77A", @@ -27,6 +27,7 @@ "error NoSignerRenouncement()", "error NotCreatorContract()", "error NotDLCAdmin()", + "error NotEnoughReserves(uint256 reserves, uint256 amount)", "error NotEnoughSignatures()", "error NotOwner()", "error NotWhitelisted()", @@ -50,8 +51,10 @@ "event SetBtcFeeRecipient(string btcFeeRecipient)", "event SetBtcMintFeeRate(uint256 newBtcMintFeeRate)", "event SetBtcRedeemFeeRate(uint256 newBtcRedeemFeeRate)", + "event SetDlcBTCPoRFeed(address feed)", "event SetMaximumDeposit(uint256 newMaximumDeposit)", "event SetMinimumDeposit(uint256 newMinimumDeposit)", + "event SetPorEnabled(bool enabled)", "event SetStatusFunded(bytes32 uuid, string btcTxId, address creator, uint256 newValueLocked, uint256 amountToMint)", "event SetStatusPending(bytes32 uuid, string btcTxId, address creator, string taprootPubKey, uint256 newValueLocked)", "event SetThreshold(uint16 newThreshold)", @@ -77,6 +80,7 @@ "function defaultAdminDelay() view returns (uint48)", "function defaultAdminDelayIncreaseWait() view returns (uint48)", "function dlcBTC() view returns (address)", + "function dlcBTCPoRFeed() view returns (address)", "function dlcIDsByUUID(bytes32) view returns (uint256)", "function dlcs(uint256) view returns (bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId)", "function getAllDLCs(uint256 startIndex, uint256 endIndex) view returns (tuple(bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId)[])", @@ -88,6 +92,7 @@ "function getRoleAdmin(bytes32 role) view returns (bytes32)", "function getSignerCount() view returns (uint16)", "function getThreshold() view returns (uint16)", + "function getTotalValueMintedInVaults() view returns (uint256)", "function getVault(bytes32 uuid) view returns (tuple(bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId))", "function grantRole(bytes32 role, address account)", "function hasRole(bytes32 role, address account) view returns (bool)", @@ -100,6 +105,7 @@ "function paused() view returns (bool)", "function pendingDefaultAdmin() view returns (address newAdmin, uint48 schedule)", "function pendingDefaultAdminDelay() view returns (uint48 newDelay, uint48 schedule)", + "function porEnabled() view returns (bool)", "function renounceRole(bytes32 role, address account)", "function revokeRole(bytes32 role, address account)", "function rollbackDefaultAdminDelay()", @@ -109,9 +115,11 @@ "function setBtcMintFeeRate(uint256 newBtcMintFeeRate)", "function setBtcRedeemFeeRate(uint256 newBtcRedeemFeeRate)", "function setBurnerOnTokenContract(address burner)", + "function setDlcBTCPoRFeed(address feed)", "function setMaximumDeposit(uint256 newMaximumDeposit)", "function setMinimumDeposit(uint256 newMinimumDeposit)", "function setMinterOnTokenContract(address minter)", + "function setPorEnabled(bool enabled)", "function setStatusFunded(bytes32 uuid, string btcTxId, bytes[] signatures, uint256 newValueLocked)", "function setStatusPending(bytes32 uuid, string wdTxId, bytes[] signatures, string taprootPubKey, uint256 newValueLocked)", "function setTSSCommitment(bytes32 commitment)", @@ -128,5 +136,6 @@ "function whitelistingEnabled() view returns (bool)", "function withdraw(bytes32 uuid, uint256 amount)" ] - } + }, + "upgradeData": "0x99a88ec4000000000000000000000000050c24dbf1eec17babe5fc585f06116a259cc77a000000000000000000000000be782c45b94712bebe8ce11f2acbff71c5190c0c" } diff --git a/deploymentFiles/sepolia/DLCManager.json b/deploymentFiles/sepolia/DLCManager.json index 0964a9a..4f1ed37 100644 --- a/deploymentFiles/sepolia/DLCManager.json +++ b/deploymentFiles/sepolia/DLCManager.json @@ -1,7 +1,7 @@ { "network": "sepolia", - "updatedAt": "2024-09-26T15:29:31.672Z", - "gitSHA": "b4622fe", + "updatedAt": "2024-10-30T14:23:44.189Z", + "gitSHA": "bec9b25", "contract": { "name": "DLCManager", "address": "0x2bAa7E92F3F14883264BfA63058cC223Ad719438", @@ -27,6 +27,7 @@ "error NoSignerRenouncement()", "error NotCreatorContract()", "error NotDLCAdmin()", + "error NotEnoughReserves(uint256 reserves, uint256 amount)", "error NotEnoughSignatures()", "error NotOwner()", "error NotWhitelisted()", @@ -50,8 +51,10 @@ "event SetBtcFeeRecipient(string btcFeeRecipient)", "event SetBtcMintFeeRate(uint256 newBtcMintFeeRate)", "event SetBtcRedeemFeeRate(uint256 newBtcRedeemFeeRate)", + "event SetDlcBTCPoRFeed(address feed)", "event SetMaximumDeposit(uint256 newMaximumDeposit)", "event SetMinimumDeposit(uint256 newMinimumDeposit)", + "event SetPorEnabled(bool enabled)", "event SetStatusFunded(bytes32 uuid, string btcTxId, address creator, uint256 newValueLocked, uint256 amountToMint)", "event SetStatusPending(bytes32 uuid, string btcTxId, address creator, string taprootPubKey, uint256 newValueLocked)", "event SetThreshold(uint16 newThreshold)", @@ -77,6 +80,7 @@ "function defaultAdminDelay() view returns (uint48)", "function defaultAdminDelayIncreaseWait() view returns (uint48)", "function dlcBTC() view returns (address)", + "function dlcBTCPoRFeed() view returns (address)", "function dlcIDsByUUID(bytes32) view returns (uint256)", "function dlcs(uint256) view returns (bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId)", "function getAllDLCs(uint256 startIndex, uint256 endIndex) view returns (tuple(bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId)[])", @@ -88,6 +92,7 @@ "function getRoleAdmin(bytes32 role) view returns (bytes32)", "function getSignerCount() view returns (uint16)", "function getThreshold() view returns (uint16)", + "function getTotalValueMintedInVaults() view returns (uint256)", "function getVault(bytes32 uuid) view returns (tuple(bytes32 uuid, address protocolContract, uint256 timestamp, uint256 valueLocked, address creator, uint8 status, string fundingTxId, string closingTxId, string btcFeeRecipient, uint256 btcMintFeeBasisPoints, uint256 btcRedeemFeeBasisPoints, string taprootPubKey, uint256 valueMinted, string wdTxId))", "function grantRole(bytes32 role, address account)", "function hasRole(bytes32 role, address account) view returns (bool)", @@ -100,6 +105,7 @@ "function paused() view returns (bool)", "function pendingDefaultAdmin() view returns (address newAdmin, uint48 schedule)", "function pendingDefaultAdminDelay() view returns (uint48 newDelay, uint48 schedule)", + "function porEnabled() view returns (bool)", "function renounceRole(bytes32 role, address account)", "function revokeRole(bytes32 role, address account)", "function rollbackDefaultAdminDelay()", @@ -109,9 +115,11 @@ "function setBtcMintFeeRate(uint256 newBtcMintFeeRate)", "function setBtcRedeemFeeRate(uint256 newBtcRedeemFeeRate)", "function setBurnerOnTokenContract(address burner)", + "function setDlcBTCPoRFeed(address feed)", "function setMaximumDeposit(uint256 newMaximumDeposit)", "function setMinimumDeposit(uint256 newMinimumDeposit)", "function setMinterOnTokenContract(address minter)", + "function setPorEnabled(bool enabled)", "function setStatusFunded(bytes32 uuid, string btcTxId, bytes[] signatures, uint256 newValueLocked)", "function setStatusPending(bytes32 uuid, string wdTxId, bytes[] signatures, string taprootPubKey, uint256 newValueLocked)", "function setTSSCommitment(bytes32 commitment)", @@ -128,5 +136,6 @@ "function whitelistingEnabled() view returns (bool)", "function withdraw(bytes32 uuid, uint256 amount)" ] - } + }, + "upgradeData": "" } diff --git a/scripts/50_contract-admin.js b/scripts/50_contract-admin.js index ed43e0b..f360dc0 100644 --- a/scripts/50_contract-admin.js +++ b/scripts/50_contract-admin.js @@ -10,6 +10,7 @@ const { promptUser, loadContractAddress, getMinimumDelay, + getExpectedContractAddress, } = require('./helpers/utils'); const { saveDeploymentInfo, @@ -219,6 +220,7 @@ module.exports = async function contractAdmin() { value: config.name, })), }); + await hardhat.run('clean'); await hardhat.run('compile'); const contractName = contractSelectPrompt.contracts; const proxyAddress = await loadContractAddress( @@ -233,13 +235,14 @@ module.exports = async function contractAdmin() { const newImplementation = await hardhat.ethers.getContractFactory(contractName); - if (proxyAdminOwner == deployer) { + if (proxyAdminOwner == deployer.address) { // Deployer can perform the whole upgrade flow console.log('deployer is ProxyAdmin owner, continuing...'); await hardhat.upgrades.upgradeProxy( proxyAddress, newImplementation, { + timeout: 240, // @ts-ignore txOverrides: { maxFeePerGas: 1000000000, @@ -266,6 +269,16 @@ module.exports = async function contractAdmin() { console.error(error); } } else { + console.log('New implementation:', newImplementation); + console.log( + 'Expected contract address: ', + await getExpectedContractAddress(deployer) + ); + if ( + (await promptUser('Are you sure you want to continue?')) === + false + ) + return; // We need to propose the upgrade through the SAFE & timelock const newImplementationAddress = await hardhat.upgrades.prepareUpgrade( @@ -500,14 +513,14 @@ module.exports = async function contractAdmin() { break; } case 'transfer-proxyadmin': { - const currentAdmin = await ( - await hardhat.upgrades.admin.getInstance() - ).functions['owner()'](); + const proxyAdmin = await hardhat.upgrades.admin.getInstance(); + const currentAdminOwner = await proxyAdmin.functions['owner()'](); console.log( - chalk.bgYellow('Current ProxyAdmin owner:', currentAdmin) + chalk.bgYellow('Current ProxyAdmin owner:', currentAdminOwner) ); - if (currentAdmin == dlcAdminSafes.critical) { + console.log('dlcAdminSafes.critical: ', dlcAdminSafes.critical); + if (currentAdminOwner == dlcAdminSafes.critical) { console.log( chalk.bgRed( 'Current ProxyAdmin owner is the Critical Multisig Already!' @@ -523,9 +536,33 @@ module.exports = async function contractAdmin() { const newAdmin = await prompts({ type: 'text', name: 'value', - message: 'Enter new ProxyAdmin address', + message: + 'Enter new ProxyAdmin address or use default TimelockController address', + initial: await loadContractAddress( + 'TimelockController', + network + ), }); if (!newAdmin.value) return; + + if (currentAdminOwner != deployer.address) { + const txRequest = + await proxyAdmin.populateTransaction.transferOwnership( + newAdmin.value + ); + console.log( + 'Proposing ownership transfer of ProxyAdmin to:', + newAdmin.value + ); + console.log('txRequest', txRequest); + await safeContractProposal( + txRequest, + deployer, + dlcAdminSafes.critical + ); + return; + } + console.log('Transferring ownership of ProxyAdmin...'); await hardhat.upgrades.admin.transferProxyAdminOwnership( newAdmin.value diff --git a/scripts/helpers/utils.js b/scripts/helpers/utils.js index 3cb1b1f..2d33328 100644 --- a/scripts/helpers/utils.js +++ b/scripts/helpers/utils.js @@ -1,6 +1,7 @@ require('dotenv').config(); const prompts = require('prompts'); const { loadDeploymentInfo } = require('./deployment-handlers_versioned'); +const { ethers } = require('hardhat'); async function promptUser(message) { if (process.env.CLI_MODE === 'noninteractive') { @@ -41,8 +42,27 @@ function getMinimumDelay(networkName) { } } +async function getExpectedContractAddress(deployer, nonce = undefined) { + // If nonce is not provided, get the current nonce + if (nonce === undefined) { + nonce = await deployer.getTransactionCount(); + } + + // Calculate the address using CREATE1 formula + const addressBytes = ethers.utils.keccak256( + ethers.utils.RLP.encode([ + deployer.address, + ethers.BigNumber.from(nonce).toHexString(), + ]) + ); + + // Take the last 40 characters (20 bytes) of the hash + return ethers.utils.getAddress('0x' + addressBytes.substring(26)); +} + module.exports = { promptUser, loadContractAddress, getMinimumDelay, + getExpectedContractAddress, };