2024-02-13 07:04:56 +00:00
|
|
|
package crypto
|
|
|
|
|
|
|
|
type InclusionCommitment struct {
|
|
|
|
TypeUrl string
|
|
|
|
Data []byte
|
|
|
|
Commitment []byte
|
|
|
|
}
|
|
|
|
|
|
|
|
type InclusionAggregateProof struct {
|
|
|
|
InclusionCommitments []*InclusionCommitment
|
|
|
|
AggregateCommitment []byte
|
|
|
|
Proof []byte
|
|
|
|
}
|
|
|
|
|
|
|
|
type InclusionProver interface {
|
2024-06-15 16:05:06 +00:00
|
|
|
// Commit(
|
|
|
|
// data []byte,
|
|
|
|
// typeUrl string,
|
|
|
|
// ) (*InclusionCommitment, error)
|
|
|
|
// ProveAggregate(commits []*InclusionCommitment) (
|
|
|
|
// *InclusionAggregateProof,
|
|
|
|
// error,
|
|
|
|
// )
|
|
|
|
// VerifyAggregate(proof *InclusionAggregateProof) (bool, error)
|
|
|
|
// VerifyFrame(frame *protobufs.ClockFrame) error
|
2024-06-08 11:32:45 +00:00
|
|
|
CommitRaw(
|
|
|
|
data []byte,
|
|
|
|
polySize uint64,
|
|
|
|
) ([]byte, error)
|
|
|
|
ProveRaw(
|
|
|
|
data []byte,
|
|
|
|
index int,
|
|
|
|
polySize uint64,
|
|
|
|
) ([]byte, error)
|
|
|
|
VerifyRaw(
|
|
|
|
data []byte,
|
|
|
|
commit []byte,
|
|
|
|
index int,
|
|
|
|
proof []byte,
|
|
|
|
polySize uint64,
|
|
|
|
) (bool, error)
|
2024-02-13 07:04:56 +00:00
|
|
|
}
|