From ba6546f024dcb35248be9a48072c4d0db175de77 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 11 Jun 2026 15:54:54 +0000 Subject: [PATCH 1/5] Add studio deployment config for 2026-06-11 (ABSTUDIO_100, MLIBTY, Flex; ABSTUDIO_101, Lammetje, Standard) Co-authored-by: ryley-o --- .../mainnet/2026-06-11-deployment-config.ts | 89 +++++++++++++++++++ ...ent_addresses_mainnet-delete-when-used.txt | 1 - ...ent_addresses_mainnet-delete-when-used.txt | 1 - 3 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 packages/contracts/deployments/engine/V3/studio/mainnet/2026-06-11-deployment-config.ts diff --git a/packages/contracts/deployments/engine/V3/studio/mainnet/2026-06-11-deployment-config.ts b/packages/contracts/deployments/engine/V3/studio/mainnet/2026-06-11-deployment-config.ts new file mode 100644 index 000000000..d85dcbd09 --- /dev/null +++ b/packages/contracts/deployments/engine/V3/studio/mainnet/2026-06-11-deployment-config.ts @@ -0,0 +1,89 @@ +// This file is used to configure the deployment of Engine and Engine Flex contracts +// It is intended to be imported by the batch engine factory deployer by running `deploy:v3-engine:mainnet`, `deploy:v3-engine:staging` or `deploy:v3-engine:dev`. + +export const deployNetworkConfiguration = { + network: "mainnet", + // environment is only used for metadata purposes, and is not used in the deployment process + // Please set to "dev", "staging", or "mainnet", arbitrum as appropriate + environment: "prod", + useLedgerSigner: true, + // ONLY Gnosis Safe is supported for Studio deployments at this time + useGnosisSafe: true, + safeAddress: "0x52119BB73Ac8bdbE59aF0EEdFd4E4Ee6887Ed2EA", + transactionServiceUrl: "https://safe-transaction-mainnet.safe.global", + // set the transaction hash after successful execution of the batch creation + transactionHash: "", +}; + +export const deployConfigDetailsArray = [ + { + // productClass is either "Engine" or "Studio", and used to validate render provider payment address + productClass: "Studio", + // 0 for Engine, 1 for Engine Flex + engineCoreContractType: 1, + // prod-only: see efficient_addresses...txt in network directories for a list of efficient salts + salt: "0x0000000000000000000000000000000000000000a73bf3db9debc93b87010080", + // INCREMENT THESE NUMBERS FOR EACH NEW STUDIO DEPLOYMENT + tokenName: "Art Blocks Studio | 100", + tokenTicker: "ABSTUDIO_100", + // optionally define this for improved readability and searchability in the deployment logs + artistName: "MLIBTY", + // set to the address you want to transfer the superAdmin role to + // (can be the zero address if you have an existing Admin ACL Contract and are not transferring) + newSuperAdminAddress: "0x9eEC0B5Bd8A48047f0Dcc61E98B4b92951480F98", + // see /scripts/util/constants.ts::MAIN_CONFIG for the correct address if prod deployment + renderProviderAddress: "0x036F3D03C1ccdde1878F01607922EA12110Ee9Bd", + // platform provider address should be set to the zero address for Studio deployments + platformProviderAddress: "0x0000000000000000000000000000000000000000", + startingProjectId: 0, + // autoApproveArtistSplitProposals should be true for Studio deployments + autoApproveArtistSplitProposals: true, + // nullPlatformProvider must be true for Studio deployments + nullPlatformProvider: true, + // allowArtistProjectActivation must be true for Studio deployments + allowArtistProjectActivation: true, + // if you want to use an existing admin ACL, set the address here (otherwise set as the zero address 0x0000000000000000000000000000000000000000 to deploy a new one) + adminACLContract: "0x0000000000000000000000000000000000000000", + // optionally define this to set default vertical name for the contract after deployment. + // if not defined, the default vertical name will be "unassigned". + // common values include `studio`, `fullyonchain`, `flex`, or partnerships like `artblocksxpace`. + // also note that if you desire to create a new vertical, you will need to add the vertical name to the + // `project_verticals` table in the database before running this deploy script. + defaultVerticalName: "studio", + }, + { + // productClass is either "Engine" or "Studio", and used to validate render provider payment address + productClass: "Studio", + // 0 for Engine, 1 for Engine Flex + engineCoreContractType: 0, + // prod-only: see efficient_addresses...txt in network directories for a list of efficient salts + salt: "0x0000000000000000000000000000000000000000f7634f1ab331430e750200c0", + // INCREMENT THESE NUMBERS FOR EACH NEW STUDIO DEPLOYMENT + tokenName: "Art Blocks Studio | 101", + tokenTicker: "ABSTUDIO_101", + // optionally define this for improved readability and searchability in the deployment logs + artistName: "Lammetje", + // set to the address you want to transfer the superAdmin role to + // (can be the zero address if you have an existing Admin ACL Contract and are not transferring) + newSuperAdminAddress: "0x87Fbc14794EDe30e64905f0b8DA30aBb57ac1b15", + // see /scripts/util/constants.ts::MAIN_CONFIG for the correct address if prod deployment + renderProviderAddress: "0x036F3D03C1ccdde1878F01607922EA12110Ee9Bd", + // platform provider address should be set to the zero address for Studio deployments + platformProviderAddress: "0x0000000000000000000000000000000000000000", + startingProjectId: 0, + // autoApproveArtistSplitProposals should be true for Studio deployments + autoApproveArtistSplitProposals: true, + // nullPlatformProvider must be true for Studio deployments + nullPlatformProvider: true, + // allowArtistProjectActivation must be true for Studio deployments + allowArtistProjectActivation: true, + // if you want to use an existing admin ACL, set the address here (otherwise set as the zero address 0x0000000000000000000000000000000000000000 to deploy a new one) + adminACLContract: "0x0000000000000000000000000000000000000000", + // optionally define this to set default vertical name for the contract after deployment. + // if not defined, the default vertical name will be "unassigned". + // common values include `studio`, `fullyonchain`, `flex`, or partnerships like `artblocksxpace`. + // also note that if you desire to create a new vertical, you will need to add the vertical name to the + // `project_verticals` table in the database before running this deploy script. + defaultVerticalName: "studio", + }, +]; diff --git a/packages/contracts/deployments/engine/V3/studio/mainnet/_ENGINE_efficient_addresses_mainnet-delete-when-used.txt b/packages/contracts/deployments/engine/V3/studio/mainnet/_ENGINE_efficient_addresses_mainnet-delete-when-used.txt index 25abc066c..67ec532b4 100644 --- a/packages/contracts/deployments/engine/V3/studio/mainnet/_ENGINE_efficient_addresses_mainnet-delete-when-used.txt +++ b/packages/contracts/deployments/engine/V3/studio/mainnet/_ENGINE_efficient_addresses_mainnet-delete-when-used.txt @@ -1,6 +1,5 @@ 0x0000000000000000000000000000000000000000f7634f1ab331ae8b68020000 => 0x000000781AFDA03054792B5052d0791A5aFD4415 => 1 0x0000000000000000000000000000000000000000f7634f1ab331b71f6b020000 => 0x0000008771e4Be91d5A52de3C94c2f00861c6147 => 16 -0x0000000000000000000000000000000000000000f7634f1ab331430e750200c0 => 0x000000A5322a62D6CD76b66e751ebaA97180066F => 1 0x0000000000000000000000000000000000000000f7634f1ab331fab3880200c0 => 0x0000009091Fd364E3332660B6ea6fC4CfAE46F52 => 1 0x0000000000000000000000000000000000000000f7634f1ab3311fa69f020000 => 0x00001b0096089709312C735B9489e6Cb001c2110 => 2 0x0000000000000000000000000000000000000000f7634f1ab331ba17b3020080 => 0x0000a8b57ee7EFee668E0000F6C669Bb21EeCF8B => 2 diff --git a/packages/contracts/deployments/engine/V3/studio/mainnet/_FLEX_efficient_addresses_mainnet-delete-when-used.txt b/packages/contracts/deployments/engine/V3/studio/mainnet/_FLEX_efficient_addresses_mainnet-delete-when-used.txt index 11973fc2a..f9e6ea1e5 100644 --- a/packages/contracts/deployments/engine/V3/studio/mainnet/_FLEX_efficient_addresses_mainnet-delete-when-used.txt +++ b/packages/contracts/deployments/engine/V3/studio/mainnet/_FLEX_efficient_addresses_mainnet-delete-when-used.txt @@ -1,4 +1,3 @@ -0x0000000000000000000000000000000000000000a73bf3db9debc93b87010080 => 0x0000925464C002C700A0bE004F79ED5Cd4F9aA51 => 2 0x0000000000000000000000000000000000000000a73bf3db9debaead7c010020 => 0x0000BdD35f0037401de29D2349ddbCf8b1EB0076 => 2 0x0000000000000000000000000000000000000000a73bf3db9debc2b7b4010080 => 0x00000FcDf48cB1c2eB2B396FC60e9B00000BE7C5 => 2 0x0000000000000000000000000000000000000000a73bf3db9deb9ea1dc010020 => 0x00000694E800BD00f19e5977F5EFEA397346B933 => 2 From c545cc3a57de114c9e4044da1b949009f6128883 Mon Sep 17 00:00:00 2001 From: Lindsay Gilbert Date: Fri, 12 Jun 2026 11:18:51 -0400 Subject: [PATCH 2/5] resolve merge conflict --- .../_ENGINE_efficient_addresses_mainnet-delete-when-used.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/contracts/deployments/engine/V3/studio/mainnet/_ENGINE_efficient_addresses_mainnet-delete-when-used.txt b/packages/contracts/deployments/engine/V3/studio/mainnet/_ENGINE_efficient_addresses_mainnet-delete-when-used.txt index e323aeadc..25abc066c 100644 --- a/packages/contracts/deployments/engine/V3/studio/mainnet/_ENGINE_efficient_addresses_mainnet-delete-when-used.txt +++ b/packages/contracts/deployments/engine/V3/studio/mainnet/_ENGINE_efficient_addresses_mainnet-delete-when-used.txt @@ -1,9 +1,6 @@ -<<<<<<< HEAD 0x0000000000000000000000000000000000000000f7634f1ab331ae8b68020000 => 0x000000781AFDA03054792B5052d0791A5aFD4415 => 1 0x0000000000000000000000000000000000000000f7634f1ab331b71f6b020000 => 0x0000008771e4Be91d5A52de3C94c2f00861c6147 => 16 -======= 0x0000000000000000000000000000000000000000f7634f1ab331430e750200c0 => 0x000000A5322a62D6CD76b66e751ebaA97180066F => 1 ->>>>>>> e177f134e6c09fe555a852a7244ab9a0430b90a9 0x0000000000000000000000000000000000000000f7634f1ab331fab3880200c0 => 0x0000009091Fd364E3332660B6ea6fC4CfAE46F52 => 1 0x0000000000000000000000000000000000000000f7634f1ab3311fa69f020000 => 0x00001b0096089709312C735B9489e6Cb001c2110 => 2 0x0000000000000000000000000000000000000000f7634f1ab331ba17b3020080 => 0x0000a8b57ee7EFee668E0000F6C669Bb21EeCF8B => 2 From bea471023f03b8f24bec2791bc69d630efa3ec59 Mon Sep 17 00:00:00 2001 From: Lindsay Gilbert Date: Fri, 12 Jun 2026 11:22:04 -0400 Subject: [PATCH 3/5] merge conflict --- .../_ENGINE_efficient_addresses_mainnet-delete-when-used.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/contracts/deployments/engine/V3/studio/mainnet/_ENGINE_efficient_addresses_mainnet-delete-when-used.txt b/packages/contracts/deployments/engine/V3/studio/mainnet/_ENGINE_efficient_addresses_mainnet-delete-when-used.txt index 25abc066c..c0e2b5028 100644 --- a/packages/contracts/deployments/engine/V3/studio/mainnet/_ENGINE_efficient_addresses_mainnet-delete-when-used.txt +++ b/packages/contracts/deployments/engine/V3/studio/mainnet/_ENGINE_efficient_addresses_mainnet-delete-when-used.txt @@ -1,5 +1,3 @@ -0x0000000000000000000000000000000000000000f7634f1ab331ae8b68020000 => 0x000000781AFDA03054792B5052d0791A5aFD4415 => 1 -0x0000000000000000000000000000000000000000f7634f1ab331b71f6b020000 => 0x0000008771e4Be91d5A52de3C94c2f00861c6147 => 16 0x0000000000000000000000000000000000000000f7634f1ab331430e750200c0 => 0x000000A5322a62D6CD76b66e751ebaA97180066F => 1 0x0000000000000000000000000000000000000000f7634f1ab331fab3880200c0 => 0x0000009091Fd364E3332660B6ea6fC4CfAE46F52 => 1 0x0000000000000000000000000000000000000000f7634f1ab3311fa69f020000 => 0x00001b0096089709312C735B9489e6Cb001c2110 => 2 From 824eb39929c4f99a183a1349d6e88d5b05677685 Mon Sep 17 00:00:00 2001 From: Lindsay Gilbert Date: Fri, 12 Jun 2026 11:23:36 -0400 Subject: [PATCH 4/5] merge conflict --- .../_ENGINE_efficient_addresses_mainnet-delete-when-used.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/contracts/deployments/engine/V3/studio/mainnet/_ENGINE_efficient_addresses_mainnet-delete-when-used.txt b/packages/contracts/deployments/engine/V3/studio/mainnet/_ENGINE_efficient_addresses_mainnet-delete-when-used.txt index c0e2b5028..318b3c2f3 100644 --- a/packages/contracts/deployments/engine/V3/studio/mainnet/_ENGINE_efficient_addresses_mainnet-delete-when-used.txt +++ b/packages/contracts/deployments/engine/V3/studio/mainnet/_ENGINE_efficient_addresses_mainnet-delete-when-used.txt @@ -1,4 +1,3 @@ -0x0000000000000000000000000000000000000000f7634f1ab331430e750200c0 => 0x000000A5322a62D6CD76b66e751ebaA97180066F => 1 0x0000000000000000000000000000000000000000f7634f1ab331fab3880200c0 => 0x0000009091Fd364E3332660B6ea6fC4CfAE46F52 => 1 0x0000000000000000000000000000000000000000f7634f1ab3311fa69f020000 => 0x00001b0096089709312C735B9489e6Cb001c2110 => 2 0x0000000000000000000000000000000000000000f7634f1ab331ba17b3020080 => 0x0000a8b57ee7EFee668E0000F6C669Bb21EeCF8B => 2 From ffcc5c39100beb5652b6cf40b0ba8d46a9bff7ce Mon Sep 17 00:00:00 2001 From: Lindsay Gilbert Date: Fri, 12 Jun 2026 12:50:45 -0400 Subject: [PATCH 5/5] post deployment step --- .../mainnet/2026-06-11-deployment-config.ts | 3 +- .../engine/V3/studio/mainnet/DEPLOYMENTS.md | 69 +++++++++++++++++++ .../V3/studio/mainnet/DEPLOYMENT_LOGS.md | 15 ++++ 3 files changed, 86 insertions(+), 1 deletion(-) diff --git a/packages/contracts/deployments/engine/V3/studio/mainnet/2026-06-11-deployment-config.ts b/packages/contracts/deployments/engine/V3/studio/mainnet/2026-06-11-deployment-config.ts index d85dcbd09..9fba6d6e5 100644 --- a/packages/contracts/deployments/engine/V3/studio/mainnet/2026-06-11-deployment-config.ts +++ b/packages/contracts/deployments/engine/V3/studio/mainnet/2026-06-11-deployment-config.ts @@ -12,7 +12,8 @@ export const deployNetworkConfiguration = { safeAddress: "0x52119BB73Ac8bdbE59aF0EEdFd4E4Ee6887Ed2EA", transactionServiceUrl: "https://safe-transaction-mainnet.safe.global", // set the transaction hash after successful execution of the batch creation - transactionHash: "", + transactionHash: + "0x9f6b985ed751cb76e7171b662aaea2f2db3136441358ea7dded7727ddd906df8", }; export const deployConfigDetailsArray = [ diff --git a/packages/contracts/deployments/engine/V3/studio/mainnet/DEPLOYMENTS.md b/packages/contracts/deployments/engine/V3/studio/mainnet/DEPLOYMENTS.md index 58f4a5cdb..19dc8087f 100644 --- a/packages/contracts/deployments/engine/V3/studio/mainnet/DEPLOYMENTS.md +++ b/packages/contracts/deployments/engine/V3/studio/mainnet/DEPLOYMENTS.md @@ -2936,4 +2936,73 @@ Date: 2024-10-03T20:31:48.898Z --- + + # Batch Engine and Engine Flex Contract Deployments + + Date: 2026-06-12T16:50:01.848Z + + ## **Network:** mainnet + + ## **Environment:** prod + + **Engine Implementation:** https://etherscan.io/address/0x00000000f10424506961445f935ec76579e0769F#code + + **Engine Flex Implementation:** https://etherscan.io/address/0x000000000132CFBeC18C143aB0AaD021B1fDEA13#code + + **Engine Factory:** https://etherscan.io/address/0x00000067f7CE2C47f295b2DE3485a796d2FC058f#code + + **Core Registry:** https://etherscan.io/address/0x2eE7B9bB2E038bE7323A119701A191c030A61ec6#code + + --- + + + ## Deployment: Engine Flex | 0xe891aBd8D836915F1269FCaab8A0527D9272938f + + **Engine Contract:** https://etherscan.io/address/0xe891aBd8D836915F1269FCaab8A0527D9272938f#code + + **Metadata** + - **Starting Project Id:** 0 + - **Artist Name:** MLIBTY + - **Token Name:** Art Blocks Studio | 100 + - **Token Ticker:** ABSTUDIO_100 + - **Auto Approve Artist Split Proposals:** true + - **Render Provider Address, Primary Sales:** 0x036F3D03C1ccdde1878F01607922EA12110Ee9Bd + - **Platform Provider Address, Primary Sales:** 0x0000000000000000000000000000000000000000 + - **Null Platform Provider:** true + - **Allow Artist Project Activation:** true + - **Admin ACL Contract:** 0xa8E9df8B60575aD1d06c50d3B2fcbEd4B7F73a28 + - **Super Admin Address:** 0x9eEC0B5Bd8A48047f0Dcc61E98B4b92951480F98 + + **Other** + + - **Starting project ID:** 0 + - **Image Bucket:** abstudio-100-mainnet + + --- + + + ## Deployment: Engine | 0x16DA6C9f17b525613950BFBA89f7719DAD35607d + + **Engine Contract:** https://etherscan.io/address/0x16DA6C9f17b525613950BFBA89f7719DAD35607d#code + + **Metadata** + - **Starting Project Id:** 0 + - **Artist Name:** Lammetje + - **Token Name:** Art Blocks Studio | 101 + - **Token Ticker:** ABSTUDIO_101 + - **Auto Approve Artist Split Proposals:** true + - **Render Provider Address, Primary Sales:** 0x036F3D03C1ccdde1878F01607922EA12110Ee9Bd + - **Platform Provider Address, Primary Sales:** 0x0000000000000000000000000000000000000000 + - **Null Platform Provider:** true + - **Allow Artist Project Activation:** true + - **Admin ACL Contract:** 0x2A15A744f2b7F781D1cA7bCA4e65D51eca607496 + - **Super Admin Address:** 0x87Fbc14794EDe30e64905f0b8DA30aBb57ac1b15 + + **Other** + + - **Starting project ID:** 0 + - **Image Bucket:** abstudio-101-mainnet + + --- + \ No newline at end of file diff --git a/packages/contracts/deployments/engine/V3/studio/mainnet/DEPLOYMENT_LOGS.md b/packages/contracts/deployments/engine/V3/studio/mainnet/DEPLOYMENT_LOGS.md index 85ad2a234..937569f46 100644 --- a/packages/contracts/deployments/engine/V3/studio/mainnet/DEPLOYMENT_LOGS.md +++ b/packages/contracts/deployments/engine/V3/studio/mainnet/DEPLOYMENT_LOGS.md @@ -363,4 +363,19 @@ [INFO] Datetime of deployment: 2026-05-28T18:47:55.761Z [INFO] Deployment configuration file: /Users/lindsaygilbert/Documents/Projects/artblocks-contracts/packages/contracts/deployments/engine/V3/studio/mainnet/2026-05-28-deployment-config.ts + + ---------------------------------------- + [INFO] Datetime of deployment: 2026-06-12T15:41:42.427Z + [INFO] Deployment configuration file: /Users/lindsaygilbert/Documents/Projects/artblocks-contracts/packages/contracts/deployments/engine/V3/studio/mainnet/2026-06-11-deployment-config.ts + + + ---------------------------------------- + [INFO] Datetime of deployment: 2026-06-12T15:43:16.221Z + [INFO] Deployment configuration file: /Users/lindsaygilbert/Documents/Projects/artblocks-contracts/packages/contracts/deployments/engine/V3/studio/mainnet/2026-06-11-deployment-config.ts + + + ---------------------------------------- + [INFO] Datetime of deployment: 2026-06-12T16:50:01.358Z + [INFO] Deployment configuration file: /Users/lindsaygilbert/Documents/Projects/artblocks-contracts/packages/contracts/deployments/engine/V3/studio/mainnet/2026-06-11-deployment-config.ts + \ No newline at end of file