You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: pegboard.go
    path of file: ./repos/client/go/libkb
    
    the code of the file until where you have to start completion: package libkb

import (
	"fmt"
	"os"
	"sync"

	keybase1 "github.com/keybase/client/go/protocol/keybase1"
)

// Pegboard k
    
func (p *Pegboard) TrackUPAK(mctx MetaContext, upak keybase1.UserPlusKeysV2) (err error) {
	if !p.enabled {
		return nil
	}
	defer mctx.Trace("Pegboard.TrackUPAK", &err)()
	p.mu.Lock()
	defer p.mu.Unlock()
	if peg, ok := p.store[upak.Uid]; ok && peg.EldestSeqno != 0 && upak.EldestSeqno != 0 && upak.EldestSeqno < peg.EldestSeqno {
		// User is already tracked. But at a newer version than the argument.
		// CORE-10522 check with explicit local and remote follows?
		return fmt.Errorf("Cannot update to older version of user: %v %v < %v", upak.Uid, upak.EldestSeqno, peg.EldestSeqno)
	}
	p.store[upak.Uid] = Peg{
		UID:         upak.Uid,
		EldestSeqno: upak.EldestSeqno,
	}
	return nil
}