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; } }