mirror of
https://source.quilibrium.com/quilibrium/ceremonyclient.git
synced 2024-12-26 08:35:17 +00:00
44 lines
1.0 KiB
Go
44 lines
1.0 KiB
Go
|
package crypto
|
||
|
|
||
|
import (
|
||
|
"crypto"
|
||
|
|
||
|
"source.quilibrium.com/quilibrium/monorepo/node/protobufs"
|
||
|
"source.quilibrium.com/quilibrium/monorepo/node/tries"
|
||
|
)
|
||
|
|
||
|
type FrameProver interface {
|
||
|
ProveMasterClockFrame(
|
||
|
previousFrame *protobufs.ClockFrame,
|
||
|
timestamp int64,
|
||
|
difficulty uint32,
|
||
|
) (*protobufs.ClockFrame, error)
|
||
|
ProveDataClockFrame(
|
||
|
previousFrame *protobufs.ClockFrame,
|
||
|
commitments [][]byte,
|
||
|
aggregateProofs []*protobufs.InclusionAggregateProof,
|
||
|
provingKey crypto.Signer,
|
||
|
timestamp int64,
|
||
|
difficulty uint32,
|
||
|
) (*protobufs.ClockFrame, error)
|
||
|
CreateMasterGenesisFrame(
|
||
|
filter []byte,
|
||
|
seed []byte,
|
||
|
difficulty uint32,
|
||
|
) (*protobufs.ClockFrame, error)
|
||
|
CreateDataGenesisFrame(
|
||
|
filter []byte,
|
||
|
origin []byte,
|
||
|
difficulty uint32,
|
||
|
inclusionProof *InclusionAggregateProof,
|
||
|
proverKeys [][]byte,
|
||
|
preDusk bool,
|
||
|
) (*protobufs.ClockFrame, *tries.RollingFrecencyCritbitTrie, error)
|
||
|
VerifyMasterClockFrame(
|
||
|
frame *protobufs.ClockFrame,
|
||
|
) error
|
||
|
VerifyDataClockFrame(
|
||
|
frame *protobufs.ClockFrame,
|
||
|
) error
|
||
|
}
|