diff --git a/.openzeppelin/polygon.json b/.openzeppelin/polygon.json index 6053ed3..8a84a54 100644 --- a/.openzeppelin/polygon.json +++ b/.openzeppelin/polygon.json @@ -2932,6 +2932,555 @@ }, "namespaces": {} } + }, + "c04f2f67ce0c52583d5259fdcfd8a09565843ff9a80e39d42a00a2b8fce0e069": { + "address": "0xE0db30CC9c322fdbBdb51Da982ED7e64749dE8CB", + "txHash": "0x3a26d8fcda0ea9b80cf6c4de29f9dd52f5cbb71434081621203ef0945c4bcd26", + "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:40" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "_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": "oriumMarketplaceRoyalties", + "offset": 0, + "slot": "151", + "type": "t_address", + "contract": "OriumSftMarketplace", + "src": "contracts/OriumSftMarketplace.sol:22" + }, + { + "label": "isCreated", + "offset": 0, + "slot": "152", + "type": "t_mapping(t_bytes32,t_bool)", + "contract": "OriumSftMarketplace", + "src": "contracts/OriumSftMarketplace.sol:25" + }, + { + "label": "nonceDeadline", + "offset": 0, + "slot": "153", + "type": "t_mapping(t_address,t_mapping(t_uint256,t_uint64))", + "contract": "OriumSftMarketplace", + "src": "contracts/OriumSftMarketplace.sol:28" + }, + { + "label": "commitmentIdToNonce", + "offset": 0, + "slot": "154", + "type": "t_mapping(t_address,t_mapping(t_uint256,t_uint256))", + "contract": "OriumSftMarketplace", + "src": "contracts/OriumSftMarketplace.sol:31" + }, + { + "label": "rentals", + "offset": 0, + "slot": "155", + "type": "t_mapping(t_bytes32,t_struct(Rental)1081_storage)", + "contract": "OriumSftMarketplace", + "src": "contracts/OriumSftMarketplace.sol:34" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_uint256,t_uint256))": { + "label": "mapping(address => mapping(uint256 => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_uint256,t_uint64))": { + "label": "mapping(address => mapping(uint256 => uint64))", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_bool)": { + "label": "mapping(bytes32 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(Rental)1081_storage)": { + "label": "mapping(bytes32 => struct OriumSftMarketplace.Rental)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint64)": { + "label": "mapping(uint256 => uint64)", + "numberOfBytes": "32" + }, + "t_struct(Rental)1081_storage": { + "label": "struct OriumSftMarketplace.Rental", + "members": [ + { + "label": "borrower", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "expirationDate", + "type": "t_uint64", + "offset": 20, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint64": { + "label": "uint64", + "numberOfBytes": "8" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "cc79dab4202d7dcfb4a36da39dd6885af74a8b0a035da3d5fea910d90f8a4209": { + "address": "0x51977c94a35d7C0616f2f6F2f98B4da5a93cE413", + "txHash": "0x4538910ca669c35ad766f0f85d7c7965e35d3fb18a78a4f8ac911ab067b9c089", + "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:40" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "_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": "oriumMarketplaceRoyalties", + "offset": 0, + "slot": "151", + "type": "t_address", + "contract": "OriumSftMarketplace", + "src": "contracts/OriumSftMarketplace.sol:22" + }, + { + "label": "isCreated", + "offset": 0, + "slot": "152", + "type": "t_mapping(t_bytes32,t_bool)", + "contract": "OriumSftMarketplace", + "src": "contracts/OriumSftMarketplace.sol:25" + }, + { + "label": "nonceDeadline", + "offset": 0, + "slot": "153", + "type": "t_mapping(t_address,t_mapping(t_uint256,t_uint64))", + "contract": "OriumSftMarketplace", + "src": "contracts/OriumSftMarketplace.sol:28" + }, + { + "label": "commitmentIdToNonce", + "offset": 0, + "slot": "154", + "type": "t_mapping(t_address,t_mapping(t_uint256,t_uint256))", + "contract": "OriumSftMarketplace", + "src": "contracts/OriumSftMarketplace.sol:31" + }, + { + "label": "rentals", + "offset": 0, + "slot": "155", + "type": "t_mapping(t_bytes32,t_struct(Rental)1081_storage)", + "contract": "OriumSftMarketplace", + "src": "contracts/OriumSftMarketplace.sol:34" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_uint256,t_uint256))": { + "label": "mapping(address => mapping(uint256 => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_uint256,t_uint64))": { + "label": "mapping(address => mapping(uint256 => uint64))", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_bool)": { + "label": "mapping(bytes32 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(Rental)1081_storage)": { + "label": "mapping(bytes32 => struct OriumSftMarketplace.Rental)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint64)": { + "label": "mapping(uint256 => uint64)", + "numberOfBytes": "32" + }, + "t_struct(Rental)1081_storage": { + "label": "struct OriumSftMarketplace.Rental", + "members": [ + { + "label": "borrower", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "expirationDate", + "type": "t_uint64", + "offset": 20, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint64": { + "label": "uint64", + "numberOfBytes": "8" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "8601dd3628657f83f841f12d320b4b8e23f4b8da8a218b8a83d07cc0a16c3e4f": { + "address": "0xd04d97d855A24b4E70D5723Bb90C194EC8946938", + "txHash": "0xb8cde1cd374f7241c8448edec401cb3261c8cb575ebb21a5b8771995a3052aa5", + "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:40" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "_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": "oriumMarketplaceRoyalties", + "offset": 0, + "slot": "151", + "type": "t_address", + "contract": "OriumSftMarketplace", + "src": "contracts/OriumSftMarketplace.sol:22" + }, + { + "label": "isCreated", + "offset": 0, + "slot": "152", + "type": "t_mapping(t_bytes32,t_bool)", + "contract": "OriumSftMarketplace", + "src": "contracts/OriumSftMarketplace.sol:25" + }, + { + "label": "nonceDeadline", + "offset": 0, + "slot": "153", + "type": "t_mapping(t_address,t_mapping(t_uint256,t_uint64))", + "contract": "OriumSftMarketplace", + "src": "contracts/OriumSftMarketplace.sol:28" + }, + { + "label": "commitmentIdToNonce", + "offset": 0, + "slot": "154", + "type": "t_mapping(t_address,t_mapping(t_uint256,t_uint256))", + "contract": "OriumSftMarketplace", + "src": "contracts/OriumSftMarketplace.sol:31" + }, + { + "label": "rentals", + "offset": 0, + "slot": "155", + "type": "t_mapping(t_bytes32,t_struct(Rental)1081_storage)", + "contract": "OriumSftMarketplace", + "src": "contracts/OriumSftMarketplace.sol:34" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_uint256,t_uint256))": { + "label": "mapping(address => mapping(uint256 => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_uint256,t_uint64))": { + "label": "mapping(address => mapping(uint256 => uint64))", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_bool)": { + "label": "mapping(bytes32 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(Rental)1081_storage)": { + "label": "mapping(bytes32 => struct OriumSftMarketplace.Rental)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint64)": { + "label": "mapping(uint256 => uint64)", + "numberOfBytes": "32" + }, + "t_struct(Rental)1081_storage": { + "label": "struct OriumSftMarketplace.Rental", + "members": [ + { + "label": "borrower", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "expirationDate", + "type": "t_uint64", + "offset": 20, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint64": { + "label": "uint64", + "numberOfBytes": "8" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } } } } diff --git a/addresses/polygon/index.json b/addresses/polygon/index.json index 2829fdd..e651b64 100644 --- a/addresses/polygon/index.json +++ b/addresses/polygon/index.json @@ -29,10 +29,10 @@ "OriumSftMarketplace": { "address": "0xB1D47B09aa6D81d7B00C3A37705a6A157B83C49F", "operator": "0x359E1208DE02Af11461A37D72165Ef2dcD2Adfc8", - "implementation": "0x575Afbb4857256D51810c4168277A8DD94607BC1", + "implementation": "0xd04d97d855A24b4E70D5723Bb90C194EC8946938", "proxyAdmin": "0x48c769f6a8de57d824f0e7330d7A27dee53a43cD", "libraries": [ - "0xf422197D72A8272a1b5aA6A861b31756cD61c12e" + "0x39CdF22FA80A9E7B95Db29efb2936A9561c70601" ] } } \ No newline at end of file diff --git a/scripts/orium-sft-marketplace/06-propose-upgrade.ts b/scripts/orium-sft-marketplace/06-propose-upgrade.ts index 90bda4a..c74f21b 100644 --- a/scripts/orium-sft-marketplace/06-propose-upgrade.ts +++ b/scripts/orium-sft-marketplace/06-propose-upgrade.ts @@ -15,12 +15,19 @@ async function main() { print(colors.highlight, `Proposing upgrade for ${CONTRACT_NAME} on ${NETWORK} network...`) + print(colors.highlight, 'Deploying new library...') const LibraryFactory = await ethers.getContractFactory(LIBRARY_NAME) - const library = await LibraryFactory.deploy() - await library.deployed() + const library = await LibraryFactory.deploy({ + maxFeePerGas: ethers.parseUnits('120', 'gwei'), + maxPriorityFeePerGas: ethers.parseUnits('50', 'gwei'), + }) + print(colors.highlight, 'Waiting for library deployment...') + await library.waitForDeployment() + const libraryAddress = await library.getAddress() + print(colors.success, `Library deployed at: ${libraryAddress}`) const newContract = await ethers.getContractFactory(CONTRACT_NAME, { - libraries: { [LIBRARY_NAME]: library.address }, + libraries: { [LIBRARY_NAME]: libraryAddress }, }) const proposal = await defender.proposeUpgrade(CONTRACT_ADDRESS, newContract, { unsafeAllowLinkedLibraries: true, @@ -38,7 +45,7 @@ async function main() { operator: OPERATOR_ADDRESS, implementation: implementationAddress, proxyAdmin: await upgrades.erc1967.getAdminAddress(CONTRACT_ADDRESS), - libraries: [library.address], + libraries: [libraryAddress], }, } @@ -50,15 +57,15 @@ async function main() { print(colors.highlight, 'Verifying Library...') try { - print(colors.highlight, `Verifying ${library.address}...`) + print(colors.highlight, `Verifying ${libraryAddress}...`) await hre.run('verify:verify', { - address: library.address, + address: libraryAddress, network: NETWORK, constructorArguments: [], }) print(colors.success, 'Contract verified!') } catch (e) { - print(colors.error, `Error verifying library ${library.address}: ${e}`) + print(colors.error, `Error verifying library ${libraryAddress}: ${e}`) } try {