import { task } from 'hardhat/config'
import { hdkey } from 'ethereumjs-wallet'
import * as bip39 from 'bip39'
task('rekey', 'Generates a new set of keys for a test network').setAction(
async () => {
const mnemonic = bip39.generateMnemonic()
const pathPrefix = "m/44'/60'/0'/0"
const labels = [
'l2OutputOracleProposer',
'proxyAdmin',
'optimismBaseFeeRecipient',
'optimismL1FeeRecipient',
'optimismL2FeeRecipient',
'p2pSequencerAddress',
'l2OutputOracleOwner',
'batchSenderAddress',
]
const hdwallet = hdkey.fromMasterSeed(await bip39.mnemonicToSeed(mnemonic))
let i = 0
const out = {}
console.log(`Mnemonic: ${mnemonic}`)
for (const label of labels) {
const wallet = hdwallet.derivePath(`${pathPrefix}/${i}`).getWallet()
out[label] = `0x${wallet.getAddress().toString('hex')}`
i++
}
console.log(JSON.stringify(out, null, ' '))
}
)
-
Diederik Loerakker authored
* feat(contracts-bedrock,sdk): deploy config typing, hivenet * bedrock: op-batcher,op-node,op-proposer flags consistency * contracts-bedrock: hardhat deploy config review feedback * contracts-bedrock: lint fixes * contracts-bedrock: fix chain IDs in deploy configs * ops-bedrock: remove l1 genesis timestamp env var Co-authored-by:
Matthew Slipper <me@matthewslipper.com> Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
bd30275b