Commit 4a154126 authored by Adrian Sutton's avatar Adrian Sutton Committed by GitHub

op-challenger: Set agreed prestate preimage for super cannon games. (#13838)

Changes type to just []byte and uses empty array as not set for simplicity.
parent ba2bfdc9
...@@ -37,10 +37,11 @@ func NewSuperCannonTraceAccessor( ...@@ -37,10 +37,11 @@ func NewSuperCannonTraceAccessor(
logger := logger.New("agreedPrestate", claimInfo.AgreedPrestate, "claim", claimInfo.Claim, "localContext", localContext) logger := logger.New("agreedPrestate", claimInfo.AgreedPrestate, "claim", claimInfo.Claim, "localContext", localContext)
subdir := filepath.Join(dir, localContext.Hex()) subdir := filepath.Join(dir, localContext.Hex())
localInputs := utils.LocalGameInputs{ localInputs := utils.LocalGameInputs{
L1Head: l1Head.Hash, L1Head: l1Head.Hash,
L2OutputRoot: crypto.Keccak256Hash(claimInfo.AgreedPrestate), L2OutputRoot: crypto.Keccak256Hash(claimInfo.AgreedPrestate),
L2Claim: claimInfo.Claim, AgreedPreState: claimInfo.AgreedPrestate,
L2BlockNumber: new(big.Int).SetUint64(poststateBlock), L2Claim: claimInfo.Claim,
L2BlockNumber: new(big.Int).SetUint64(poststateBlock),
} }
provider := cannon.NewTraceProvider(logger, m.ToTypedVmMetrics(cfg.VmType.String()), cfg, serverExecutor, prestateProvider, cannonPrestate, localInputs, subdir, depth) provider := cannon.NewTraceProvider(logger, m.ToTypedVmMetrics(cfg.VmType.String()), cfg, serverExecutor, prestateProvider, cannonPrestate, localInputs, subdir, depth)
return provider, nil return provider, nil
......
...@@ -13,7 +13,7 @@ type LocalGameInputs struct { ...@@ -13,7 +13,7 @@ type LocalGameInputs struct {
L1Head common.Hash L1Head common.Hash
L2Head common.Hash L2Head common.Hash
L2OutputRoot common.Hash L2OutputRoot common.Hash
AgreedPreState *[]byte AgreedPreState []byte
L2Claim common.Hash L2Claim common.Hash
L2BlockNumber *big.Int L2BlockNumber *big.Int
} }
......
...@@ -22,7 +22,7 @@ func NewNativeKonaSuperExecutor() *KonaSuperExecutor { ...@@ -22,7 +22,7 @@ func NewNativeKonaSuperExecutor() *KonaSuperExecutor {
} }
func (s *KonaSuperExecutor) OracleCommand(cfg Config, dataDir string, inputs utils.LocalGameInputs) ([]string, error) { func (s *KonaSuperExecutor) OracleCommand(cfg Config, dataDir string, inputs utils.LocalGameInputs) ([]string, error) {
if inputs.AgreedPreState == nil { if len(inputs.AgreedPreState) == 0 {
return nil, errors.New("agreed pre-state is not defined") return nil, errors.New("agreed pre-state is not defined")
} }
...@@ -33,7 +33,7 @@ func (s *KonaSuperExecutor) OracleCommand(cfg Config, dataDir string, inputs uti ...@@ -33,7 +33,7 @@ func (s *KonaSuperExecutor) OracleCommand(cfg Config, dataDir string, inputs uti
"--l1-beacon-address", cfg.L1Beacon, "--l1-beacon-address", cfg.L1Beacon,
"--l2-node-addresses", cfg.L2, "--l2-node-addresses", cfg.L2,
"--l1-head", inputs.L1Head.Hex(), "--l1-head", inputs.L1Head.Hex(),
"--agreed-l2-pre-state", common.Bytes2Hex(*inputs.AgreedPreState), "--agreed-l2-pre-state", common.Bytes2Hex(inputs.AgreedPreState),
"--claimed-l2-post-state", inputs.L2Claim.Hex(), "--claimed-l2-post-state", inputs.L2Claim.Hex(),
"--claimed-l2-timestamp", inputs.L2BlockNumber.Text(10), "--claimed-l2-timestamp", inputs.L2BlockNumber.Text(10),
} }
......
...@@ -70,7 +70,7 @@ func RunKonaNative( ...@@ -70,7 +70,7 @@ func RunKonaNative(
var hostCmd []string var hostCmd []string
var err error var err error
if fixtureInputs.InteropEnabled { if fixtureInputs.InteropEnabled {
inputs.AgreedPreState = &fixtureInputs.AgreedPrestate inputs.AgreedPreState = fixtureInputs.AgreedPrestate
hostCmd, err = vm.NewNativeKonaSuperExecutor().OracleCommand(vmCfg, workDir, inputs) hostCmd, err = vm.NewNativeKonaSuperExecutor().OracleCommand(vmCfg, workDir, inputs)
} else { } else {
hostCmd, err = vm.NewNativeKonaExecutor().OracleCommand(vmCfg, workDir, inputs) hostCmd, err = vm.NewNativeKonaExecutor().OracleCommand(vmCfg, workDir, inputs)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment