func EmptyPreSignature(group curve.Curve) *PreSignature {
	return &PreSignature{
		R:        group.NewPoint(),
		RBar:     party.EmptyPointMap(group),
		S:        party.EmptyPointMap(group),
		KShare:   group.NewScalar(),
		ChiShare: group.NewScalar(),
	}
}
EmptyPreSignature returns a PreSignature with a given group, ready for unmarshalling.
package ecdsa
import (
	"errors"
	"fmt"
	"github.com/taurusgroup/multi-party-sig/internal/types"
	"github.com/taurusgroup/multi-party-sig/pkg/math/curve"
	"github.com/taurusgroup/multi-party-sig/pkg/party"
)
type PreSignature struct {
	ID types.RID
	R curve.Point
	RBar *party.PointMap
	S *party.PointMap
	KShare curve.Scalar
	ChiShare curve.Scalar
}
func (sig *PreSignature) Group() curve.Curve {
	return sig.R.Curve()
}