package config

import (
	
	

	

	

	
)

const (
	statelessResetKeyInfo = "libp2p quic stateless reset key"
	tokenGeneratorKeyInfo = "libp2p quic token generator key"
)

func ( crypto.PrivKey) (quic.StatelessResetKey, error) {
	var  quic.StatelessResetKey
	,  := .Raw()
	if  != nil {
		return , 
	}
	 := hkdf.New(sha256.New, , nil, []byte(statelessResetKeyInfo))
	if ,  := io.ReadFull(, [:]);  != nil {
		return , 
	}
	return , nil
}

func ( crypto.PrivKey) (quic.TokenGeneratorKey, error) {
	var  quic.TokenGeneratorKey
	,  := .Raw()
	if  != nil {
		return , 
	}
	 := hkdf.New(sha256.New, , nil, []byte(tokenGeneratorKeyInfo))
	if ,  := io.ReadFull(, [:]);  != nil {
		return , 
	}
	return , nil
}