From 9901027089c1e5237bca3cfa4adc7856912a799e Mon Sep 17 00:00:00 2001 From: David Meister Date: Wed, 7 Oct 2026 18:21:57 +0000 Subject: [PATCH] release: rain-factory-deploy 0.1.13 0.1.13 carries no source change over 0.1.12. The record freezes the same candidate, so it names the factory already on chain at 0x12E87F6e74195ce93c11948e22BECcf63548Ac40, deployed on all nine networks and verified. 0.1.12 could not publish: the publish job runs `forge script script/Build.sol` first, and rain-deploy 0.1.15's `run()` refused this repo for want of a build hook. That is fixed on main now, but the tag was spent, so the retry is a version. Co-Authored-By: Claude Opus 5 (1M context) --- foundry.toml | 2 +- src/generated/0_1_13/CloneFactory.sol | 27 +++++++++++++++++++++++++++ src/lib/LibCloneFactoryReleased.sol | 19 ++++++++++++++++++- 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 src/generated/0_1_13/CloneFactory.sol diff --git a/foundry.toml b/foundry.toml index b9ee936..4019c86 100644 --- a/foundry.toml +++ b/foundry.toml @@ -8,7 +8,7 @@ # `script/Build.sol`'s `cutRelease()` to locate the snapshot it freezes. [external.package] name = "rain-factory-deploy" -version = "0.1.12" +version = "0.1.13" [profile.default] src = 'src' diff --git a/src/generated/0_1_13/CloneFactory.sol b/src/generated/0_1_13/CloneFactory.sol new file mode 100644 index 0000000..09561a3 --- /dev/null +++ b/src/generated/0_1_13/CloneFactory.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: LicenseRef-DCL-1.0 +// SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd +pragma solidity ^0.8.25; + +// THIS FILE IS AUTOGENERATED BY THE BUILD SCRIPT. DO NOT EDIT BY HAND. + +/// @dev Hash of the known bytecode. +bytes32 constant BYTECODE_HASH = bytes32(0xaf37df8418bc438735d2e0857c3f3f414aab3f6b5d51d15f20ad4ef9fd83664e); + +/// @dev The deterministic deploy address of the contract when deployed via +/// the Zoltu factory. +address constant DEPLOYED_ADDRESS = address(0x12E87F6e74195ce93c11948e22BECcf63548Ac40); + +/// @dev The creation bytecode of the contract. +bytes constant CREATION_CODE = + hex"6080604052348015600e575f80fd5b506109708061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c806340375cb71461004e57806340419eec1461008a57806393a7e7111461009d578063e921aceb146100b0575b5f80fd5b61006161005c36600461077c565b6100c3565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006161009836600461077c565b61010e565b6100616100ab3660046107fe565b610150565b6100616100be36600461077c565b610164565b5f6101058585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508792506101a6915050565b95945050505050565b5f6101058585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508792506101bc915050565b5f61015c8484846101cb565b949350505050565b5f6101058585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508792506101e0915050565b5f61015c846101b584866101ec565b8585610251565b5f61015c846101b5338561050a565b5f61015c30856101db858761050a565b610563565b5f61015c30856101db85875b8051602080830191909120604080517fec5c9aab67e9ed0e0e127f7e98840bb7d23c9fda0740241d39cef81a4b422c8e93810193909352820184905260608201525f906080015b60405160208183030381529060405280519060200120905092915050565b5f61025b85610622565b5f610267308787610563565b905073ffffffffffffffffffffffffffffffffffffffff81163b156102d4576040517f134a0bbc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240160405180910390fd5b5f6102de876106bd565b90505f868251602084015ff5905073ffffffffffffffffffffffffffffffffffffffff8116610339576040517f04ddc24d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3b3e5b48cfaf4a4b3b2b36425ddec21c2c507fd502d2aea55eb7ffa36b0ca205338983888a604051610370959493929190610883565b60405180910390a15f808273ffffffffffffffffffffffffffffffffffffffff16886040516024016103a291906108d4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f439fab9100000000000000000000000000000000000000000000000000000000179052516104239190610904565b5f604051808303815f865af19150503d805f811461045c576040519150601f19603f3d011682016040523d82523d5f602084013e610461565b606091505b50915091508115801561047457505f8151115b1561048157805160208201fd5b805160201415806104c557507fe0e57eda3f08f2a93bbe980d3df7f9c315eac41181f58b865a13d917fe769fc3818060200190518101906104c2919061090f565b14155b156104fc576040517f19b991a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509098975050505050505050565b604080517f53731b95f9b12a56dfb9ca09c7efdd6b701b6affdffbf57af843b63847964c2a602082015273ffffffffffffffffffffffffffffffffffffffff841691810191909152606081018290525f90608001610233565b5f838261056f856106bd565b80516020918201206040516105e4949392017fff00000000000000000000000000000000000000000000000000000000000000815260609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830191909152603582015260550190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602090910120949350505050565b8073ffffffffffffffffffffffffffffffffffffffff163b5f03610672576040517ff432283200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60015f80843c5f515f1a90508060ef036106b9576040517fe6f6d6de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60606040518060400160405280601481526020017f3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000815250826040518060400160405280600f81526020017f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000081525060405160200161073e93929190610926565b6040516020818303038152906040529050919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610777575f80fd5b919050565b5f805f806060858703121561078f575f80fd5b61079885610754565b9350602085013567ffffffffffffffff808211156107b4575f80fd5b818701915087601f8301126107c7575f80fd5b8135818111156107d5575f80fd5b8860208285010111156107e6575f80fd5b95986020929092019750949560400135945092505050565b5f805f60608486031215610810575f80fd5b61081984610754565b92506020840135915061082e60408501610754565b90509250925092565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff8088168352808716602084015280861660408401525083606083015260a060808301526108c960a0830184610837565b979650505050505050565b602081525f6108e66020830184610837565b9392505050565b5f81518060208401855e5f93019283525090919050565b5f6108e682846108ed565b5f6020828403121561091f575f80fd5b5051919050565b5f61093182866108ed565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16815261096660148201856108ed565b969550505050505056"; + +/// @dev The runtime bytecode of the contract. +bytes constant RUNTIME_CODE = + hex"608060405234801561000f575f80fd5b506004361061004a575f3560e01c806340375cb71461004e57806340419eec1461008a57806393a7e7111461009d578063e921aceb146100b0575b5f80fd5b61006161005c36600461077c565b6100c3565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006161009836600461077c565b61010e565b6100616100ab3660046107fe565b610150565b6100616100be36600461077c565b610164565b5f6101058585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508792506101a6915050565b95945050505050565b5f6101058585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508792506101bc915050565b5f61015c8484846101cb565b949350505050565b5f6101058585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508792506101e0915050565b5f61015c846101b584866101ec565b8585610251565b5f61015c846101b5338561050a565b5f61015c30856101db858761050a565b610563565b5f61015c30856101db85875b8051602080830191909120604080517fec5c9aab67e9ed0e0e127f7e98840bb7d23c9fda0740241d39cef81a4b422c8e93810193909352820184905260608201525f906080015b60405160208183030381529060405280519060200120905092915050565b5f61025b85610622565b5f610267308787610563565b905073ffffffffffffffffffffffffffffffffffffffff81163b156102d4576040517f134a0bbc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240160405180910390fd5b5f6102de876106bd565b90505f868251602084015ff5905073ffffffffffffffffffffffffffffffffffffffff8116610339576040517f04ddc24d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3b3e5b48cfaf4a4b3b2b36425ddec21c2c507fd502d2aea55eb7ffa36b0ca205338983888a604051610370959493929190610883565b60405180910390a15f808273ffffffffffffffffffffffffffffffffffffffff16886040516024016103a291906108d4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f439fab9100000000000000000000000000000000000000000000000000000000179052516104239190610904565b5f604051808303815f865af19150503d805f811461045c576040519150601f19603f3d011682016040523d82523d5f602084013e610461565b606091505b50915091508115801561047457505f8151115b1561048157805160208201fd5b805160201415806104c557507fe0e57eda3f08f2a93bbe980d3df7f9c315eac41181f58b865a13d917fe769fc3818060200190518101906104c2919061090f565b14155b156104fc576040517f19b991a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509098975050505050505050565b604080517f53731b95f9b12a56dfb9ca09c7efdd6b701b6affdffbf57af843b63847964c2a602082015273ffffffffffffffffffffffffffffffffffffffff841691810191909152606081018290525f90608001610233565b5f838261056f856106bd565b80516020918201206040516105e4949392017fff00000000000000000000000000000000000000000000000000000000000000815260609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830191909152603582015260550190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602090910120949350505050565b8073ffffffffffffffffffffffffffffffffffffffff163b5f03610672576040517ff432283200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60015f80843c5f515f1a90508060ef036106b9576040517fe6f6d6de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60606040518060400160405280601481526020017f3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000815250826040518060400160405280600f81526020017f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000081525060405160200161073e93929190610926565b6040516020818303038152906040529050919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610777575f80fd5b919050565b5f805f806060858703121561078f575f80fd5b61079885610754565b9350602085013567ffffffffffffffff808211156107b4575f80fd5b818701915087601f8301126107c7575f80fd5b8135818111156107d5575f80fd5b8860208285010111156107e6575f80fd5b95986020929092019750949560400135945092505050565b5f805f60608486031215610810575f80fd5b61081984610754565b92506020840135915061082e60408501610754565b90509250925092565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff8088168352808716602084015280861660408401525083606083015260a060808301526108c960a0830184610837565b979650505050505050565b602081525f6108e66020830184610837565b9392505050565b5f81518060208401855e5f93019283525090919050565b5f6108e682846108ed565b5f6020828403121561091f575f80fd5b5051919050565b5f61093182866108ed565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16815261096660148201856108ed565b969550505050505056"; + +/// @dev What MUST already be on a network before this release can be +/// broadcast there: an address, and the runtime code that belongs at it. +/// `abi.encode`d as a `DeployDependency[]` because Solidity has no +/// file-scope constant of dynamic array type. +bytes constant DEPENDENCIES = + hex"00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000"; diff --git a/src/lib/LibCloneFactoryReleased.sol b/src/lib/LibCloneFactoryReleased.sol index 8633908..fccd5f1 100644 --- a/src/lib/LibCloneFactoryReleased.sol +++ b/src/lib/LibCloneFactoryReleased.sol @@ -46,6 +46,14 @@ import { DEPENDENCIES as CloneFactory_0_1_12_DEPENDENCIES } from "../generated/0_1_12/CloneFactory.sol"; +import { + DEPLOYED_ADDRESS as CloneFactory_0_1_13_DEPLOYED_ADDRESS, + BYTECODE_HASH as CloneFactory_0_1_13_BYTECODE_HASH, + CREATION_CODE as CloneFactory_0_1_13_CREATION_CODE, + RUNTIME_CODE as CloneFactory_0_1_13_RUNTIME_CODE, + DEPENDENCIES as CloneFactory_0_1_13_DEPENDENCIES +} from "../generated/0_1_13/CloneFactory.sol"; + /// @title LibCloneFactoryReleased /// @notice Every frozen release of `CloneFactory`: one entry per file in /// the append-only `src/generated//` record, in tag order. @@ -66,7 +74,7 @@ library LibCloneFactoryReleased { /// Every frozen release, in tag order. /// @return The released suites. function releasedSuites() internal pure returns (DeploySuite[] memory) { - DeploySuite[] memory suites = new DeploySuite[](5); + DeploySuite[] memory suites = new DeploySuite[](6); suites[0] = DeploySuite({ suite: "clone-factory@0_1_1", creationCode: CloneFactory_0_1_1_CREATION_CODE, @@ -112,6 +120,15 @@ library LibCloneFactoryReleased { artifactPath: "src/concrete/CloneFactory.sol:CloneFactory", dependencies: abi.decode(CloneFactory_0_1_12_DEPENDENCIES, (DeployDependency[])) }); + suites[5] = DeploySuite({ + suite: "clone-factory@0_1_13", + creationCode: CloneFactory_0_1_13_CREATION_CODE, + storedDeployedAddress: CloneFactory_0_1_13_DEPLOYED_ADDRESS, + storedBytecodeHash: CloneFactory_0_1_13_BYTECODE_HASH, + storedRuntimeCode: CloneFactory_0_1_13_RUNTIME_CODE, + artifactPath: "src/concrete/CloneFactory.sol:CloneFactory", + dependencies: abi.decode(CloneFactory_0_1_13_DEPENDENCIES, (DeployDependency[])) + }); return suites; } }