From 6428119ca5f3cf82878f76a9e55db7de93399480 Mon Sep 17 00:00:00 2001 From: Ratan Kaliani Date: Tue, 7 Jan 2025 18:28:16 -0800 Subject: [PATCH] add --- contracts/script/UpdateVkey.s.sol | 29 +++++++++++++++++++++++++++++ render.yaml | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 contracts/script/UpdateVkey.s.sol diff --git a/contracts/script/UpdateVkey.s.sol b/contracts/script/UpdateVkey.s.sol new file mode 100644 index 0000000..e01f5a6 --- /dev/null +++ b/contracts/script/UpdateVkey.s.sol @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.26; + +import {stdJson} from "forge-std/StdJson.sol"; +import {SP1Blobstream} from "../src/SP1Blobstream.sol"; +import {BaseScript} from "./Base.s.sol"; + +// Required environment variables: +// - CHAINS (comma separated list of chain names) +// - CONTRACT_ADDRESS_{CHAIN_ID} + +contract UpdateVkeyScript is BaseScript { + using stdJson for string; + + function setUp() public {} + + string internal constant KEY = "UpdateVkey"; + + /// Reads CONTRACT_ADDRESS_ from the environment variables and updates the SP1 Verifier and program vkey. + function run() external multichain(KEY) broadcaster { + string memory contractAddressKey = string.concat("CONTRACT_ADDRESS_", vm.toString(block.chainid)); + address existingProxyAddress = vm.envAddress(contractAddressKey); + + SP1Blobstream sp1Blobstream = SP1Blobstream(address(existingProxyAddress)); + + // v4 program vkey + sp1Blobstream.updateProgramVkey(0x00a4a07806c0cb9bc8fcc14fed368a161b947d13b4a4fd58eb382d07a3373ef7); + } +} diff --git a/render.yaml b/render.yaml index 13aad40..5ba3e3e 100644 --- a/render.yaml +++ b/render.yaml @@ -219,7 +219,7 @@ services: rootDir: script buildCommand: rm -rf build.rs && cargo build --bin operator --release startCommand: cargo run --bin operator --release - autoDeploy: false + autoDeploy: true envVars: - key: CHAIN_ID value: 534352