diff --git a/.github/workflows/manual-sol-artifacts.yaml b/.github/workflows/manual-sol-artifacts.yaml index 8ebc3c0..afb1f0f 100644 --- a/.github/workflows/manual-sol-artifacts.yaml +++ b/.github/workflows/manual-sol-artifacts.yaml @@ -1,9 +1,18 @@ name: Manual sol artifacts on: workflow_dispatch: + inputs: + suite: + description: "The suite to deploy. The bare key is the rolling candidate (current source); a `@` key is a frozen release, which is what a newly supported network needs so the addresses every consumer pins land there." + required: true + type: choice + options: + - metaboard + - metaboard@0_1_0 + - metaboard@0_1_1 jobs: deploy: uses: rainlanguage/rainix/.github/workflows/rainix-manual-sol-artifacts.yaml@main with: - suite: metaboard + suite: ${{ inputs.suite }} secrets: inherit diff --git a/foundry.toml b/foundry.toml index 0f44056..effeb0b 100644 --- a/foundry.toml +++ b/foundry.toml @@ -70,7 +70,7 @@ forge-std = "1.16.2" # `IMetaBoardV1_2`, `IMetaV1_2`, `LibIMetaBoardV1_2` and `LibMeta` — the library # half `MetaBoard` is nothing but a delegation into. "rain-metadata" = "0.1.7" -"rain-deploy" = "0.1.7" +"rain-deploy" = "0.1.8" # `LibRainDeploySnapshot` — reached from `script/Build.sol` and the shipped # verify abstracts — emits the generated record via `LibCodeGen`/`LibFs`. "rain-sol-codegen" = "0.1.36" @@ -87,6 +87,8 @@ base_sepolia = "${BASE_SEPOLIA_RPC_URL}" ethereum = "${ETHEREUM_RPC_URL}" flare = "${FLARE_RPC_URL}" hyperevm = "${HYPEREVM_RPC_URL}" +robinhood = "${ROBINHOOD_RPC_URL}" +bsc = "${BSC_RPC_URL}" polygon = "${POLYGON_RPC_URL}" # `rainix-manual-sol-artifacts` passes `--verify` by default and exports exactly @@ -104,4 +106,11 @@ base_sepolia = { key = "${CI_DEPLOY_BASE_SEPOLIA_ETHERSCAN_API_KEY}" } ethereum = { key = "${CI_DEPLOY_ETHEREUM_ETHERSCAN_API_KEY}", chain = 1 } flare = { key = "${CI_DEPLOY_FLARE_ETHERSCAN_API_KEY}" } hyperevm = { key = "${CI_DEPLOY_HYPEREVM_ETHERSCAN_API_KEY}", chain = 999 } +# Robinhood Chain (4663) is not indexed by Etherscan V2. Its Blockscout speaks +# the Etherscan API, so the entry points there (the key is ignored). That +# explorer has rejected non-browser clients, so if `--verify` fails there, +# verify afterwards through Sourcify: `forge verify-contract --verifier +# sourcify --chain 4663 ...`. +robinhood = { key = "${CI_DEPLOY_ROBINHOOD_ETHERSCAN_API_KEY}", chain = 4663, url = "https://robinhoodchain.blockscout.com/api" } +bsc = { key = "${CI_DEPLOY_BSC_ETHERSCAN_API_KEY}", chain = 56 } polygon = { key = "${CI_DEPLOY_POLYGON_ETHERSCAN_API_KEY}" } diff --git a/script/Build.sol b/script/Build.sol index 2fac78f..8337daf 100644 --- a/script/Build.sol +++ b/script/Build.sol @@ -2,10 +2,10 @@ // SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd pragma solidity =0.8.25; -import {BuildScript} from "rain-deploy-0.1.7/src/abstract/BuildScript.sol"; +import {BuildScript} from "rain-deploy-0.1.8/src/abstract/BuildScript.sol"; import {DeployCandidate} from "../src/abstract/RainDeploySuitesBase.sol"; import {MetaBoardDeploySuites} from "../src/abstract/MetaBoardDeploySuites.sol"; -import {LibRainDeploySnapshot} from "rain-deploy-0.1.7/src/lib/LibRainDeploySnapshot.sol"; +import {LibRainDeploySnapshot} from "rain-deploy-0.1.8/src/lib/LibRainDeploySnapshot.sol"; /// One contract's generated files: the rolling snapshot, the alias lib that /// re-exports its pins and the released-suites lib emitted from its record. diff --git a/script/Deploy.sol b/script/Deploy.sol index 9507e9c..a8e8b06 100644 --- a/script/Deploy.sol +++ b/script/Deploy.sol @@ -2,7 +2,7 @@ // SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd pragma solidity =0.8.25; -import {RainDeployBroadcast} from "rain-deploy-0.1.7/src/abstract/RainDeployBroadcast.sol"; +import {RainDeployBroadcast} from "rain-deploy-0.1.8/src/abstract/RainDeployBroadcast.sol"; import {MetaBoardDeploySuites} from "../src/abstract/MetaBoardDeploySuites.sol"; /// @title Deploy diff --git a/soldeer.lock b/soldeer.lock index e36a7ca..1ee3ef8 100644 --- a/soldeer.lock +++ b/soldeer.lock @@ -7,10 +7,10 @@ integrity = "5fb4325b60d7d4194bd0481e2f94398cf1d9c6561dd12a66fb2748ef4a68205f" [[dependencies]] name = "rain-deploy" -version = "0.1.7" -url = "https://soldeer-revisions.s3.amazonaws.com/rain-deploy/0_1_7_19-08-2026_05:57:12_rain.zip" -checksum = "d0e868184ad16fc6abb704bb1dddab57ebf2beb042529690e030568f5c81a9b3" -integrity = "e51da6f2b3a0f427a0aac5d7714bed2027f5cf0f39b31f0692e9623ceeaa47f2" +version = "0.1.8" +url = "https://soldeer-revisions.s3.amazonaws.com/rain-deploy/0_1_8_10-09-2026_14:32:04_rain.zip" +checksum = "506d4b9acea5a06bd6d49442caa17075fd40a70c9662d26fbc6e79339e6e1dc4" +integrity = "44375e425fed5e640711e47c9256aff7643566454870d940f9e831b502d940e5" [[dependencies]] name = "rain-metadata" diff --git a/src/abstract/RainDeploySuitesBase.sol b/src/abstract/RainDeploySuitesBase.sol index d1dc438..294c5a2 100644 --- a/src/abstract/RainDeploySuitesBase.sol +++ b/src/abstract/RainDeploySuitesBase.sol @@ -12,4 +12,4 @@ import { DeployCandidate, DeploySuite, RainDeploySuitesBase -} from "rain-deploy-0.1.7/src/abstract/RainDeploySuitesBase.sol"; +} from "rain-deploy-0.1.8/src/abstract/RainDeploySuitesBase.sol"; diff --git a/test/src/abstract/MetaBoardDeployChain.t.sol b/test/src/abstract/MetaBoardDeployChain.t.sol index 1c0040d..7f48ce0 100644 --- a/test/src/abstract/MetaBoardDeployChain.t.sol +++ b/test/src/abstract/MetaBoardDeployChain.t.sol @@ -2,7 +2,7 @@ // SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd pragma solidity =0.8.25; -import {RainDeployVerifyChain} from "rain-deploy-0.1.7/src/abstract/RainDeployVerifyChain.sol"; +import {RainDeployVerifyChain} from "rain-deploy-0.1.8/src/abstract/RainDeployVerifyChain.sol"; import {MetaBoardDeploySuites} from "src/abstract/MetaBoardDeploySuites.sol"; /// @title MetaBoardDeployChainTest diff --git a/test/src/abstract/MetaBoardDeploySnapshot.t.sol b/test/src/abstract/MetaBoardDeploySnapshot.t.sol index e2a480c..2bb07b9 100644 --- a/test/src/abstract/MetaBoardDeploySnapshot.t.sol +++ b/test/src/abstract/MetaBoardDeploySnapshot.t.sol @@ -2,7 +2,7 @@ // SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd pragma solidity =0.8.25; -import {RainDeployVerifySnapshot} from "rain-deploy-0.1.7/src/abstract/RainDeployVerifySnapshot.sol"; +import {RainDeployVerifySnapshot} from "rain-deploy-0.1.8/src/abstract/RainDeployVerifySnapshot.sol"; import {MetaBoardDeploySuites} from "src/abstract/MetaBoardDeploySuites.sol"; /// @title MetaBoardDeploySnapshotTest diff --git a/test/src/lib/LibMetaBoardDeploy.t.sol b/test/src/lib/LibMetaBoardDeploy.t.sol index c3982a4..f3f48fd 100644 --- a/test/src/lib/LibMetaBoardDeploy.t.sol +++ b/test/src/lib/LibMetaBoardDeploy.t.sol @@ -3,7 +3,7 @@ pragma solidity =0.8.25; import {Test} from "forge-std-1.16.2/src/Test.sol"; -import {LibRainDeploy} from "rain-deploy-0.1.7/src/lib/LibRainDeploy.sol"; +import {LibRainDeploy} from "rain-deploy-0.1.8/src/lib/LibRainDeploy.sol"; import {LibMetaBoardDeploy} from "../../../src/lib/LibMetaBoardDeploy.sol"; import {MetaBoard} from "../../../src/concrete/MetaBoard.sol"; diff --git a/test/src/lib/LibMetaBoardDeployCandidate.t.sol b/test/src/lib/LibMetaBoardDeployCandidate.t.sol index a2ce3ca..b3c28cf 100644 --- a/test/src/lib/LibMetaBoardDeployCandidate.t.sol +++ b/test/src/lib/LibMetaBoardDeployCandidate.t.sol @@ -3,7 +3,7 @@ pragma solidity =0.8.25; import {Test} from "forge-std-1.16.2/src/Test.sol"; -import {LibRainDeploy} from "rain-deploy-0.1.7/src/lib/LibRainDeploy.sol"; +import {LibRainDeploy} from "rain-deploy-0.1.8/src/lib/LibRainDeploy.sol"; import { BYTECODE_HASH, DEPLOYED_ADDRESS, diff --git a/test/src/subgraph/SubgraphDeployRecord.t.sol b/test/src/subgraph/SubgraphDeployRecord.t.sol index 8440708..6441530 100644 --- a/test/src/subgraph/SubgraphDeployRecord.t.sol +++ b/test/src/subgraph/SubgraphDeployRecord.t.sol @@ -2,7 +2,7 @@ // SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd pragma solidity =0.8.25; -import {LibRainDeploy} from "rain-deploy-0.1.7/src/lib/LibRainDeploy.sol"; +import {LibRainDeploy} from "rain-deploy-0.1.8/src/lib/LibRainDeploy.sol"; import {DeploySuite} from "src/abstract/RainDeploySuitesBase.sol"; import {LibMetaBoardReleased} from "src/lib/LibMetaBoardReleased.sol"; import {SubgraphRecordReader, SubgraphDataSource} from "./SubgraphRecordReader.sol"; diff --git a/test/src/subgraph/SubgraphRecordReader.sol b/test/src/subgraph/SubgraphRecordReader.sol index 71ee816..e5eba9b 100644 --- a/test/src/subgraph/SubgraphRecordReader.sol +++ b/test/src/subgraph/SubgraphRecordReader.sol @@ -3,7 +3,7 @@ pragma solidity =0.8.25; import {Test} from "forge-std-1.16.2/src/Test.sol"; -import {LibRainDeploy} from "rain-deploy-0.1.7/src/lib/LibRainDeploy.sol"; +import {LibRainDeploy} from "rain-deploy-0.1.8/src/lib/LibRainDeploy.sol"; /// Thrown when `networks.json` names a network with no declared correspondence /// to a network this repo broadcasts to.