Skip to content

Commit 510ffb4

Browse files
committed
fix: fixed precompile address v2 getting registered in the upgrade handler
1 parent 7c7a3a1 commit 510ffb4

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

app/upgrades/v1.2.0-donut/upgrade.go

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,14 @@ func CreateUpgradeHandler(
5454
}
5555

5656
// ---------------------------------------------------------------
57-
// 3. Run module migrations (consensus version bumps)
57+
// 3. Register usigverifier V2 precompile in EVM params
58+
// ---------------------------------------------------------------
59+
if err := registerPrecompileV2(sdkCtx, ak, logger); err != nil {
60+
return nil, fmt.Errorf("registerPrecompileV2: %w", err)
61+
}
62+
63+
// ---------------------------------------------------------------
64+
// 4. Run module migrations (consensus version bumps)
5865
// - uexecutor: 5 → 6 (PendingOutbounds collection)
5966
// - utss: 1 → 2 (TssEvents collections)
6067
// ---------------------------------------------------------------
@@ -220,3 +227,28 @@ func backfillTssEvents(ctx context.Context, ak *upgrades.AppKeepers, logger log.
220227
logger.Info("TssEvents backfill complete")
221228
return nil
222229
}
230+
231+
// registerPrecompileV2 adds the usigverifier V2 address to EVM ActiveStaticPrecompiles
232+
// so the EVM recognizes it as a callable precompile.
233+
func registerPrecompileV2(sdkCtx sdk.Context, ak *upgrades.AppKeepers, logger log.Logger) error {
234+
const usigVerifierV2Addr = "0xEC00000000000000000000000000000000000001"
235+
236+
evmParams := ak.EVMKeeper.GetParams(sdkCtx)
237+
238+
// Check if already registered
239+
for _, addr := range evmParams.ActiveStaticPrecompiles {
240+
if addr == usigVerifierV2Addr {
241+
logger.Info("usigverifier V2 precompile already registered in EVM params")
242+
return nil
243+
}
244+
}
245+
246+
evmParams.ActiveStaticPrecompiles = append(evmParams.ActiveStaticPrecompiles, usigVerifierV2Addr)
247+
248+
if err := ak.EVMKeeper.SetParams(sdkCtx, evmParams); err != nil {
249+
return fmt.Errorf("failed to set EVM params with new precompile: %w", err)
250+
}
251+
252+
logger.Info("Registered usigverifier V2 precompile in EVM params", "address", usigVerifierV2Addr)
253+
return nil
254+
}

0 commit comments

Comments
 (0)