diff --git a/foundry.toml b/foundry.toml index fb5c8bd..bb62f39 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.8" +version = "0.1.9" [profile.default] src = 'src' diff --git a/src/generated/0_1_9/CloneFactory.sol b/src/generated/0_1_9/CloneFactory.sol new file mode 100644 index 0000000..20b3ad4 --- /dev/null +++ b/src/generated/0_1_9/CloneFactory.sol @@ -0,0 +1,26 @@ +// 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(0x40012649f6036f51cdd679c9bb1af523f2e4e914aa04dc75e583065ed813cf0f); + +/// @dev The deterministic deploy address of the contract when deployed via +/// the Zoltu factory. +address constant DEPLOYED_ADDRESS = address(0xAb9741E6f843452D649FCa35899d8F9A36e7DcA8); + +/// @dev The creation bytecode of the contract. +bytes constant CREATION_CODE = + hex"6080604052348015600e575f80fd5b506107fd8061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c806340375cb71461004e57806340419eec1461008a57806393a7e7111461009d578063e921aceb146100b0575b5f80fd5b61006161005c36600461061e565b6100c3565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006161009836600461061e565b61010e565b6100616100ab3660046106a0565b610150565b6100616100be36600461061e565b610164565b5f6101058585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508792506101a6915050565b95945050505050565b5f6101058585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508792506101bc915050565b5f61015c8484846101cb565b949350505050565b5f6101058585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508792506101e0915050565b5f61015c846101b584866101ec565b8585610251565b5f61015c846101b533856103f4565b5f61015c30856101db85876103f4565b61044d565b5f61015c30856101db85875b8051602080830191909120604080517fec5c9aab67e9ed0e0e127f7e98840bb7d23c9fda0740241d39cef81a4b422c8e93810193909352820184905260608201525f906080015b60405160208183030381529060405280519060200120905092915050565b5f61025b8561050c565b5f6102658661055f565b90505f858251602084015ff5905073ffffffffffffffffffffffffffffffffffffffff81166102c0576040517f04ddc24d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3b3e5b48cfaf4a4b3b2b36425ddec21c2c507fd502d2aea55eb7ffa36b0ca20533888387896040516102f7959493929190610725565b60405180910390a16040517f439fab910000000000000000000000000000000000000000000000000000000081527fe0e57eda3f08f2a93bbe980d3df7f9c315eac41181f58b865a13d917fe769fc39073ffffffffffffffffffffffffffffffffffffffff83169063439fab9190610373908990600401610776565b6020604051808303815f875af115801561038f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b3919061078f565b146103ea576040517f19b991a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9695505050505050565b604080517f53731b95f9b12a56dfb9ca09c7efdd6b701b6affdffbf57af843b63847964c2a602082015273ffffffffffffffffffffffffffffffffffffffff841691810191909152606081018290525f90608001610233565b5f83826104598561055f565b80516020918201206040516104ce949392017fff00000000000000000000000000000000000000000000000000000000000000815260609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830191909152603582015260550190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602090910120949350505050565b8073ffffffffffffffffffffffffffffffffffffffff163b5f0361055c576040517ff432283200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60606040518060400160405280601481526020017f3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000815250826040518060400160405280600f81526020017f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000008152506040516020016105e0939291906107bd565b6040516020818303038152906040529050919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610619575f80fd5b919050565b5f805f8060608587031215610631575f80fd5b61063a856105f6565b9350602085013567ffffffffffffffff80821115610656575f80fd5b818701915087601f830112610669575f80fd5b813581811115610677575f80fd5b886020828501011115610688575f80fd5b95986020929092019750949560400135945092505050565b5f805f606084860312156106b2575f80fd5b6106bb846105f6565b9250602084013591506106d0604085016105f6565b90509250925092565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff8088168352808716602084015280861660408401525083606083015260a0608083015261076b60a08301846106d9565b979650505050505050565b602081525f61078860208301846106d9565b9392505050565b5f6020828403121561079f575f80fd5b5051919050565b5f81518060208401855e5f93019283525090919050565b5f6107c882866107a6565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1681526103ea60148201856107a656"; + +/// @dev The runtime bytecode of the contract. +bytes constant RUNTIME_CODE = + hex"608060405234801561000f575f80fd5b506004361061004a575f3560e01c806340375cb71461004e57806340419eec1461008a57806393a7e7111461009d578063e921aceb146100b0575b5f80fd5b61006161005c36600461061e565b6100c3565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006161009836600461061e565b61010e565b6100616100ab3660046106a0565b610150565b6100616100be36600461061e565b610164565b5f6101058585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508792506101a6915050565b95945050505050565b5f6101058585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508792506101bc915050565b5f61015c8484846101cb565b949350505050565b5f6101058585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508792506101e0915050565b5f61015c846101b584866101ec565b8585610251565b5f61015c846101b533856103f4565b5f61015c30856101db85876103f4565b61044d565b5f61015c30856101db85875b8051602080830191909120604080517fec5c9aab67e9ed0e0e127f7e98840bb7d23c9fda0740241d39cef81a4b422c8e93810193909352820184905260608201525f906080015b60405160208183030381529060405280519060200120905092915050565b5f61025b8561050c565b5f6102658661055f565b90505f858251602084015ff5905073ffffffffffffffffffffffffffffffffffffffff81166102c0576040517f04ddc24d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3b3e5b48cfaf4a4b3b2b36425ddec21c2c507fd502d2aea55eb7ffa36b0ca20533888387896040516102f7959493929190610725565b60405180910390a16040517f439fab910000000000000000000000000000000000000000000000000000000081527fe0e57eda3f08f2a93bbe980d3df7f9c315eac41181f58b865a13d917fe769fc39073ffffffffffffffffffffffffffffffffffffffff83169063439fab9190610373908990600401610776565b6020604051808303815f875af115801561038f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b3919061078f565b146103ea576040517f19b991a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9695505050505050565b604080517f53731b95f9b12a56dfb9ca09c7efdd6b701b6affdffbf57af843b63847964c2a602082015273ffffffffffffffffffffffffffffffffffffffff841691810191909152606081018290525f90608001610233565b5f83826104598561055f565b80516020918201206040516104ce949392017fff00000000000000000000000000000000000000000000000000000000000000815260609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830191909152603582015260550190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602090910120949350505050565b8073ffffffffffffffffffffffffffffffffffffffff163b5f0361055c576040517ff432283200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60606040518060400160405280601481526020017f3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000815250826040518060400160405280600f81526020017f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000008152506040516020016105e0939291906107bd565b6040516020818303038152906040529050919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610619575f80fd5b919050565b5f805f8060608587031215610631575f80fd5b61063a856105f6565b9350602085013567ffffffffffffffff80821115610656575f80fd5b818701915087601f830112610669575f80fd5b813581811115610677575f80fd5b886020828501011115610688575f80fd5b95986020929092019750949560400135945092505050565b5f805f606084860312156106b2575f80fd5b6106bb846105f6565b9250602084013591506106d0604085016105f6565b90509250925092565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff8088168352808716602084015280861660408401525083606083015260a0608083015261076b60a08301846106d9565b979650505050505050565b602081525f61078860208301846106d9565b9392505050565b5f6020828403121561079f575f80fd5b5051919050565b5f81518060208401855e5f93019283525090919050565b5f6107c882866107a6565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1681526103ea60148201856107a656"; + +/// @dev The addresses that MUST already have code on a network before +/// this release can be broadcast there, `abi.encode`d as an `address[]` +/// 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 a196f50..bc74c50 100644 --- a/src/lib/LibCloneFactoryReleased.sol +++ b/src/lib/LibCloneFactoryReleased.sol @@ -6,6 +6,14 @@ pragma solidity ^0.8.25; import {DeploySuite} from "../abstract/RainDeploySuitesBase.sol"; +import { + DEPLOYED_ADDRESS as CloneFactory_0_1_9_DEPLOYED_ADDRESS, + BYTECODE_HASH as CloneFactory_0_1_9_BYTECODE_HASH, + CREATION_CODE as CloneFactory_0_1_9_CREATION_CODE, + RUNTIME_CODE as CloneFactory_0_1_9_RUNTIME_CODE, + DEPENDENCIES as CloneFactory_0_1_9_DEPENDENCIES +} from "../generated/0_1_9/CloneFactory.sol"; + /// @title LibCloneFactoryReleased /// @notice Every frozen release of `CloneFactory`: one entry per file in /// the append-only `src/generated//` record, in tag order. @@ -26,7 +34,16 @@ library LibCloneFactoryReleased { /// Every frozen release, in tag order. /// @return The released suites. function releasedSuites() internal pure returns (DeploySuite[] memory) { - DeploySuite[] memory suites = new DeploySuite[](0); + DeploySuite[] memory suites = new DeploySuite[](1); + suites[0] = DeploySuite({ + suite: "clone-factory@0_1_9", + creationCode: CloneFactory_0_1_9_CREATION_CODE, + storedDeployedAddress: CloneFactory_0_1_9_DEPLOYED_ADDRESS, + storedBytecodeHash: CloneFactory_0_1_9_BYTECODE_HASH, + storedRuntimeCode: CloneFactory_0_1_9_RUNTIME_CODE, + artifactPath: "src/concrete/CloneFactory.sol:CloneFactory", + dependencies: abi.decode(CloneFactory_0_1_9_DEPENDENCIES, (address[])) + }); return suites; } }