diff --git a/netmap/netmap_contract.go b/netmap/netmap_contract.go index b510851..e4c495c 100644 --- a/netmap/netmap_contract.go +++ b/netmap/netmap_contract.go @@ -219,6 +219,11 @@ func NewEpoch(epochNum int) bool { panic("newEpoch: this method must be invoked by inner ring nodes") } + currentEpoch := storage.Get(ctx, snapshotEpoch).(int) + if epochNum <= currentEpoch { + return false // ignore invocations with invalid epoch + } + data0snapshot := getSnapshot(ctx, snapshot0Key) dataOnlineState := filterNetmap(ctx, onlineState)