Add workflow to transfer Batcher ownership (COINS-1281) - #371
Draft
kamleshmugdiya wants to merge 1 commit into
Draft
Add workflow to transfer Batcher ownership (COINS-1281)#371kamleshmugdiya wants to merge 1 commit into
kamleshmugdiya wants to merge 1 commit into
Conversation
Adds a script + GitHub workflow to send transferOwnership(newOwner) on the Batcher contract as step 1 of the Ownable2Step handover to a TSS custody wallet. Modeled on updateTransferGasLimit.ts / its workflow. The new owner address is deliberately not a workflow input: it is a hardcoded constant (left blank pending the wallet's base address from DevOps) cross-checked at runtime against a BATCHER_NEW_OWNER_ADDRESS secret, aborting on any mismatch. NEW_OWNER_ADDRESS is intentionally left empty -- DevOps is still provisioning the custody wallet. Fill it in once the base address is available, then this is ready for review. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
scripts/transferBatcherOwnership.ts+.github/workflows/transfer_batcher_ownership.yaml, sending step 1 of theOwnable2Stephandover (transferOwnership(newOwner)) as part of moving Batcher ownership to a TSS custody wallet.updateTransferGasLimit.ts/update_transfer_gas_limit.yamlpair: same two-jobpreview→ environment-gatedrun-transferstructure, same signer (index 2,PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT), same env-var wiring.NEW_OWNER_ADDRESSin the script) set via reviewed PR, cross-checked at runtime against aBATCHER_NEW_OWNER_ADDRESSsecret — the script aborts on any mismatch.Why draft
NEW_OWNER_ADDRESSis intentionally left blank. DevOps is provisioning the TSS custody wallet (COINS-1280); once they hand back the base address and add it to theBATCHER_NEW_OWNER_ADDRESSGitHub secret, I'll fill in the constant, un-draft, and this is ready for review/merge.Pre-flight / post-send checks in the script
owner()== the signing key's addressNEW_OWNER_ADDRESSconstant is set and matchesBATCHER_NEW_OWNER_ADDRESSexactlypendingOwner()and asserts it matches — this step is reversible (re-issuingtransferOwnershipreplaces the pending transfer); only the subsequentacceptOwnership()(separate ticket, COINS-1282) is not.Test plan
npx tsc --noEmit— no new type errors (pre-existing unrelatedignition-core.d.tserrors confirmed present onmastertoo)npx prettier --checkon changed files — passesworkflow_dispatchinputs/jobs as expected)npx hardhat test test/batcher.js— pre-existingHH8config error reproduced identically on unmodifiedmaster(missing local.envsecrets in this environment), confirmed unrelated to this changeNEW_OWNER_ADDRESSonce DevOps provisions the wallet (COINS-1280)tmorpheth(testnet) manually viaworkflow_dispatch, verifypendingOwner()on-chainRef: TDD §6
🤖 Generated with Claude Code