package policy import ( "fmt" "git.sigsum.org/sigsum-lib-go/pkg/types" ) type DefaultPolicy struct{} // Verify checks if the cosigned tree head satisifies the policy "one log and // a majority of witnesses". Any unverifiable cosignatures are removed. func (dp *DefaultPolicy) Verify(*types.CosignedTreeHead) error { return fmt.Errorf("TODO") } func (dp *DefaultPolicy) Logs() []Log { return []Log{ Log{ Name: "Test log operated by ln5", LogURL: "https://poc.sigsum.org/glasswing-butterfly/sigsum/v0", PublicKey: types.PublicKey{ 74, 179, 210, 181, 30, 71, 220, 157, 228, 204, 228, 189, 235, 169, 224, 134, 34, 233, 58, 47, 127, 137, 180, 203, 119, 25, 127, 198, 176, 4, 77, 231, }, ShardStart: 1639579652, TrustUntil: 1648771200, // Apr 1 2022 }, } } func (dp *DefaultPolicy) Witnesses() []Witness { return []Witness{ Witness{ Name: "Test witness operated by rgdd", PublicKey: types.PublicKey{ 129, 45, 190, 240, 21, 107, 7, 158, 45, 4, 135, 71, 178, 24, 156, 191, 166, 79, 150, 226, 32, 74, 23, 203, 35, 203, 82, 128, 128, 135, 21, 3, }, TrustUntil: 1648771200, // Apr 1 2022 }, } } // ShardHint returns the smallest shard hint that all logs accept func (dp *DefaultPolicy) ShardHint() uint64 { var shardHint uint64 for _, l := range dp.Logs() { if l.ShardStart > shardHint { shardHint = l.ShardStart } } return shardHint }