From 2d71e19ae700b450b392095a8620b9d8c34c1092 Mon Sep 17 00:00:00 2001 From: Dan Oved Date: Thu, 9 Nov 2023 13:25:52 -0800 Subject: [PATCH] deployed to zora-sepolia --- .changeset/cold-toys-agree.md | 4 +- .changeset/pre.json | 11 ++++++ .../protocol-deployments/addresses/999.json | 12 +++--- packages/protocol-deployments/package.json | 2 +- .../script/DeployNew1155Impl.s.sol | 1 + .../script/Simulate1155Upgrade.s.sol | 37 +++++++++++++++++++ .../src/ZoraDeployerUtils.sol | 23 ++++++++++++ 7 files changed, 81 insertions(+), 9 deletions(-) create mode 100644 .changeset/pre.json create mode 100644 packages/protocol-deployments/script/Simulate1155Upgrade.s.sol diff --git a/.changeset/cold-toys-agree.md b/.changeset/cold-toys-agree.md index e81fe6360..4fa4b3d63 100644 --- a/.changeset/cold-toys-agree.md +++ b/.changeset/cold-toys-agree.md @@ -1,6 +1,6 @@ --- "@zoralabs/protocol-deployments": patch -"@zoralabs/zora-1155-contracts": patch --- -Moved deployment related code from 1155 to protocol-deployments package +* Moved deployment related code from 1155 to protocol-deployments package +* Deployed 2.4.0 to zora-goerli (testnet) diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 000000000..118de6ca5 --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,11 @@ +{ + "mode": "pre", + "tag": "prerelease", + "initialVersions": { + "@zoralabs/zora-1155-contracts": "2.4.0", + "@zoralabs/premint-sdk": "0.1.1", + "@zoralabs/protocol-deployments": "0.0.4", + "@zoralabs/protocol-rewards": "1.2.1" + }, + "changesets": [] +} diff --git a/packages/protocol-deployments/addresses/999.json b/packages/protocol-deployments/addresses/999.json index af18394f6..105bc7af5 100644 --- a/packages/protocol-deployments/addresses/999.json +++ b/packages/protocol-deployments/addresses/999.json @@ -1,14 +1,14 @@ { - "CONTRACT_1155_IMPL": "0x26C2835dd7F048B7140906fA50E77ea8f8186Bbc", - "CONTRACT_1155_IMPL_VERSION": "2.3.0", - "UPGRADE_GATE": "0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900", - "FACTORY_IMPL": "0x9a42d0786c17e231E0409E8441C99acf4678763d", + "CONTRACT_1155_IMPL": "0xcD7230AFfBC8C720aE607e0Bc386fbCAF5C34C2E", + "CONTRACT_1155_IMPL_VERSION": "2.4.0", + "FACTORY_IMPL": "0x869Be2EaE4AB30Cf319a46B5dE50Ac203c8784Aa", "FACTORY_PROXY": "0x777777C338d93e2C7adf08D102d45CA7CC4Ed021", "FIXED_PRICE_SALE_STRATEGY": "0x04E2516A2c207E84a1839755675dfd8eF6302F0a", "MERKLE_MINT_SALE_STRATEGY": "0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7", "PREMINTER_IMPL": "0x6E2AbBcd82935bFC68A1d5d2c96372b13b65eD9C", "PREMINTER_PROXY": "0x7777773606e7e46C8Ba8B98C08f5cD218e31d340", "REDEEM_MINTER_FACTORY": "0x78964965cF77850224513a367f899435C5B69174", - "timestamp": 1696017248, - "commit": "7a0ae52" + "UPGRADE_GATE": "0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900", + "timestamp": 1699570171, + "commit": "385e4932" } \ No newline at end of file diff --git a/packages/protocol-deployments/package.json b/packages/protocol-deployments/package.json index 828c39f6c..12eb79c26 100644 --- a/packages/protocol-deployments/package.json +++ b/packages/protocol-deployments/package.json @@ -20,7 +20,7 @@ "link-contracts": "rm -rf ./node_modules && cd .. && yarn" }, "dependencies": { - "@zoralabs/zora-1155-contracts": "*", + "@zoralabs/zora-1155-contracts": "2.4.0", "ds-test": "https://github.com/dapphub/ds-test#cd98eff28324bfac652e63a239a60632a761790b", "forge-std": "https://github.com/foundry-rs/forge-std#705263c95892a906d7af65f0f73ce8a4a0c80b80", "solmate": "^6.1.0" diff --git a/packages/protocol-deployments/script/DeployNew1155Impl.s.sol b/packages/protocol-deployments/script/DeployNew1155Impl.s.sol index c13a8865f..23dc6f772 100644 --- a/packages/protocol-deployments/script/DeployNew1155Impl.s.sol +++ b/packages/protocol-deployments/script/DeployNew1155Impl.s.sol @@ -5,6 +5,7 @@ import "forge-std/Script.sol"; import "forge-std/console2.sol"; import {ZoraDeployerBase} from "../src/ZoraDeployerBase.sol"; +import {ZoraDeployerUtils} from "../src/ZoraDeployerUtils.sol"; import {Deployment} from "../src/DeploymentConfig.sol"; import {DeterministicDeployerScript} from "../src/DeterministicDeployerScript.sol"; diff --git a/packages/protocol-deployments/script/Simulate1155Upgrade.s.sol b/packages/protocol-deployments/script/Simulate1155Upgrade.s.sol new file mode 100644 index 000000000..b6b605fc5 --- /dev/null +++ b/packages/protocol-deployments/script/Simulate1155Upgrade.s.sol @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.17; + +import "forge-std/Script.sol"; +import "forge-std/console2.sol"; + +import {ZoraDeployerBase} from "../src/ZoraDeployerBase.sol"; +import {ZoraDeployerUtils} from "../src/ZoraDeployerUtils.sol"; +import {Deployment, ChainConfig} from "../src/DeploymentConfig.sol"; +import {DeterministicDeployerScript} from "../src/DeterministicDeployerScript.sol"; + +/// @dev Deploys implementation contracts for 1155 contracts. +/// @notice Run after deploying the minters +/// @notice This +contract Simulate1155Upgrade is ZoraDeployerBase { + function run() public returns (string memory) { + Deployment memory deployment = getDeployment(); + + ChainConfig memory chainConfig = getChainConfig(); + + address creator = makeAddr("creator"); + + vm.startBroadcast(chainConfig.factoryOwner); + + (address target, bytes memory upgradeCalldata) = ZoraDeployerUtils.simulateUpgrade(deployment); + + console2.log("upgrade 1155 target:", target); + console2.log("calldata:"); + console.logBytes(upgradeCalldata); + + ZoraDeployerUtils.deployTestContractForVerification(deployment.factoryProxy, creator); + + vm.stopBroadcast(); + + return getDeploymentJSON(deployment); + } +} diff --git a/packages/protocol-deployments/src/ZoraDeployerUtils.sol b/packages/protocol-deployments/src/ZoraDeployerUtils.sol index 8f8c2f60e..0e71b4ec3 100644 --- a/packages/protocol-deployments/src/ZoraDeployerUtils.sol +++ b/packages/protocol-deployments/src/ZoraDeployerUtils.sol @@ -173,4 +173,27 @@ library ZoraDeployerUtils { ) ); } + + function getUpgradeCalldata(Deployment memory deployment) internal returns (bytes memory upgradeCalldata) { + // create 1155 proxy from deployment factory proxy address + ZoraCreator1155FactoryImpl factory = ZoraCreator1155FactoryImpl(deployment.factoryProxy); + + address owner = factory.owner(); + + // simulate upgrade call + upgradeCalldata = abi.encodeWithSelector(factory.upgradeTo.selector, deployment.factoryImpl); + } + + function simulateUpgrade(Deployment memory deployment) internal returns (address target, bytes memory upgradeCalldata) { + // console log update information + + upgradeCalldata = getUpgradeCalldata(deployment); + + target = deployment.factoryProxy; + // upgrade the factory proxy to the new implementation + + (bool success, ) = target.call(upgradeCalldata); + + require(success, "upgrade failed"); + } }