From f6394383733402883f3b2cc1a462b979243cce0e Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Mon, 8 Jul 2019 15:42:17 +0100 Subject: [PATCH 01/16] LogRootRequest proto --- core/api/v1/keytransparency.proto | 9 + .../keytransparency.pb.go | 300 +++++++++++------- docs/api.md | 17 + 3 files changed, 203 insertions(+), 123 deletions(-) diff --git a/core/api/v1/keytransparency.proto b/core/api/v1/keytransparency.proto index 2b3005c68..08ed79be6 100644 --- a/core/api/v1/keytransparency.proto +++ b/core/api/v1/keytransparency.proto @@ -338,6 +338,15 @@ message MapRoot { repeated bytes log_inclusion = 2; } +// LogRootRequest contains the information needed to requetst and verify LogRoot. +message LogRootRequest { + // root_hash is the log root hash. + bytes root_hash = 1; + // tree_size is the tree_size of the last log root the client + // verified. + int64 tree_size = 2; +} + // LogRoot contains the latest log root and its consistency proof. message LogRoot { // log_root is the latest globally consistent log root. diff --git a/core/api/v1/keytransparency_go_proto/keytransparency.pb.go b/core/api/v1/keytransparency_go_proto/keytransparency.pb.go index 6a40b3a7f..a47debaa7 100644 --- a/core/api/v1/keytransparency_go_proto/keytransparency.pb.go +++ b/core/api/v1/keytransparency_go_proto/keytransparency.pb.go @@ -1551,6 +1551,57 @@ func (m *MapRoot) GetLogInclusion() [][]byte { return nil } +// LogRootRequest contains the information needed to requetst and verify LogRoot. +type LogRootRequest struct { + // root_hash is the log root hash. + RootHash []byte `protobuf:"bytes,1,opt,name=root_hash,json=rootHash,proto3" json:"root_hash,omitempty"` + // tree_size is the tree_size of the last log root the client + // verified. + TreeSize int64 `protobuf:"varint,2,opt,name=tree_size,json=treeSize,proto3" json:"tree_size,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LogRootRequest) Reset() { *m = LogRootRequest{} } +func (m *LogRootRequest) String() string { return proto.CompactTextString(m) } +func (*LogRootRequest) ProtoMessage() {} +func (*LogRootRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_9e925e13aa3e8f7d, []int{26} +} + +func (m *LogRootRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LogRootRequest.Unmarshal(m, b) +} +func (m *LogRootRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LogRootRequest.Marshal(b, m, deterministic) +} +func (m *LogRootRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_LogRootRequest.Merge(m, src) +} +func (m *LogRootRequest) XXX_Size() int { + return xxx_messageInfo_LogRootRequest.Size(m) +} +func (m *LogRootRequest) XXX_DiscardUnknown() { + xxx_messageInfo_LogRootRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_LogRootRequest proto.InternalMessageInfo + +func (m *LogRootRequest) GetRootHash() []byte { + if m != nil { + return m.RootHash + } + return nil +} + +func (m *LogRootRequest) GetTreeSize() int64 { + if m != nil { + return m.TreeSize + } + return 0 +} + // LogRoot contains the latest log root and its consistency proof. type LogRoot struct { // log_root is the latest globally consistent log root. @@ -1567,7 +1618,7 @@ func (m *LogRoot) Reset() { *m = LogRoot{} } func (m *LogRoot) String() string { return proto.CompactTextString(m) } func (*LogRoot) ProtoMessage() {} func (*LogRoot) Descriptor() ([]byte, []int) { - return fileDescriptor_9e925e13aa3e8f7d, []int{26} + return fileDescriptor_9e925e13aa3e8f7d, []int{27} } func (m *LogRoot) XXX_Unmarshal(b []byte) error { @@ -1621,7 +1672,7 @@ func (m *Revision) Reset() { *m = Revision{} } func (m *Revision) String() string { return proto.CompactTextString(m) } func (*Revision) ProtoMessage() {} func (*Revision) Descriptor() ([]byte, []int) { - return fileDescriptor_9e925e13aa3e8f7d, []int{27} + return fileDescriptor_9e925e13aa3e8f7d, []int{28} } func (m *Revision) XXX_Unmarshal(b []byte) error { @@ -1685,7 +1736,7 @@ func (m *ListMutationsRequest) Reset() { *m = ListMutationsRequest{} } func (m *ListMutationsRequest) String() string { return proto.CompactTextString(m) } func (*ListMutationsRequest) ProtoMessage() {} func (*ListMutationsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9e925e13aa3e8f7d, []int{28} + return fileDescriptor_9e925e13aa3e8f7d, []int{29} } func (m *ListMutationsRequest) XXX_Unmarshal(b []byte) error { @@ -1750,7 +1801,7 @@ func (m *ListMutationsResponse) Reset() { *m = ListMutationsResponse{} } func (m *ListMutationsResponse) String() string { return proto.CompactTextString(m) } func (*ListMutationsResponse) ProtoMessage() {} func (*ListMutationsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_9e925e13aa3e8f7d, []int{29} + return fileDescriptor_9e925e13aa3e8f7d, []int{30} } func (m *ListMutationsResponse) XXX_Unmarshal(b []byte) error { @@ -1815,6 +1866,7 @@ func init() { proto.RegisterType((*GetRevisionRequest)(nil), "google.keytransparency.v1.GetRevisionRequest") proto.RegisterType((*GetLatestRevisionRequest)(nil), "google.keytransparency.v1.GetLatestRevisionRequest") proto.RegisterType((*MapRoot)(nil), "google.keytransparency.v1.MapRoot") + proto.RegisterType((*LogRootRequest)(nil), "google.keytransparency.v1.LogRootRequest") proto.RegisterType((*LogRoot)(nil), "google.keytransparency.v1.LogRoot") proto.RegisterType((*Revision)(nil), "google.keytransparency.v1.Revision") proto.RegisterType((*ListMutationsRequest)(nil), "google.keytransparency.v1.ListMutationsRequest") @@ -1824,128 +1876,130 @@ func init() { func init() { proto.RegisterFile("v1/keytransparency.proto", fileDescriptor_9e925e13aa3e8f7d) } var fileDescriptor_9e925e13aa3e8f7d = []byte{ - // 1928 bytes of a gzipped FileDescriptorProto + // 1959 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x59, 0xcd, 0x8f, 0x1b, 0x49, - 0x15, 0x57, 0xf9, 0xdb, 0xcf, 0xf3, 0xe1, 0xa9, 0xcc, 0x26, 0x8e, 0x43, 0xa2, 0x50, 0x0b, 0x21, - 0x64, 0xb5, 0xee, 0xcc, 0x64, 0x93, 0x9d, 0x0c, 0x84, 0x2c, 0x33, 0x9b, 0xc9, 0xce, 0x64, 0x46, - 0x64, 0x7b, 0xb2, 0xb0, 0xe2, 0xd2, 0xea, 0xb1, 0x6b, 0x3c, 0xad, 0xd8, 0xdd, 0x9d, 0xae, 0xb2, + 0x15, 0x57, 0xf9, 0xdb, 0xcf, 0xf3, 0xe1, 0xa9, 0xcc, 0x26, 0x8e, 0x87, 0x44, 0xa1, 0x17, 0x42, + 0xc8, 0x6a, 0xdd, 0x99, 0xc9, 0x26, 0x3b, 0x19, 0x08, 0x59, 0x66, 0x36, 0x93, 0xcc, 0x64, 0x46, + 0x64, 0x7b, 0xb2, 0xb0, 0xe2, 0xd2, 0xea, 0xb1, 0x6b, 0xec, 0x56, 0xec, 0xee, 0x9e, 0xae, 0xb2, 0x15, 0x27, 0xca, 0x65, 0x39, 0x20, 0x01, 0x42, 0x42, 0xcb, 0x01, 0x71, 0xe0, 0x80, 0x10, 0x17, 0x24, 0x04, 0xdc, 0x60, 0x25, 0x04, 0x42, 0x5c, 0xb8, 0x21, 0xae, 0x1c, 0xf9, 0x43, 0x50, 0x7d, - 0x74, 0xbb, 0xfd, 0xd5, 0xb6, 0x67, 0x27, 0x12, 0x9c, 0xec, 0xaa, 0xae, 0x7a, 0xf5, 0x7b, 0xef, - 0xfd, 0xde, 0x7b, 0xfd, 0xaa, 0xa1, 0xd2, 0x5d, 0x33, 0x9e, 0xd2, 0x1e, 0x0f, 0x6c, 0x97, 0xf9, - 0x76, 0x40, 0xdd, 0x7a, 0xaf, 0xe6, 0x07, 0x1e, 0xf7, 0xf0, 0xc5, 0xa6, 0xe7, 0x35, 0x5b, 0xb4, - 0x36, 0xfc, 0xb4, 0xbb, 0x56, 0xfd, 0x82, 0x7a, 0x64, 0xd8, 0xbe, 0x63, 0xd8, 0xae, 0xeb, 0x71, - 0x9b, 0x3b, 0x9e, 0xcb, 0xd4, 0xc6, 0xea, 0x25, 0xfd, 0x54, 0x8e, 0x8e, 0x3a, 0xc7, 0x06, 0x6d, - 0xfb, 0x5c, 0x4b, 0xad, 0x2e, 0xf1, 0xc0, 0x69, 0xb5, 0x1c, 0xdb, 0xd5, 0xe3, 0xf3, 0xe1, 0xd8, - 0x6a, 0xdb, 0xbe, 0x65, 0xfb, 0x4e, 0xb8, 0xae, 0xbb, 0x66, 0xd8, 0x8d, 0xb6, 0xa3, 0xd7, 0x91, - 0x35, 0x28, 0x6e, 0x7b, 0xed, 0xb6, 0xc3, 0x39, 0x6d, 0xe0, 0x32, 0xa4, 0x9f, 0xd2, 0x5e, 0x05, - 0x5d, 0x45, 0xd7, 0x17, 0x4c, 0xf1, 0x17, 0x63, 0xc8, 0x34, 0x6c, 0x6e, 0x57, 0x52, 0x72, 0x4a, - 0xfe, 0x27, 0xbf, 0x45, 0x50, 0x7a, 0xe0, 0xf2, 0xa0, 0xf7, 0x91, 0xdf, 0xb0, 0x39, 0xc5, 0x17, - 0x20, 0xdf, 0x61, 0x34, 0xb0, 0x9c, 0x86, 0xdc, 0x59, 0x34, 0x73, 0x62, 0xb8, 0xdb, 0xc0, 0x5b, - 0x50, 0x68, 0x77, 0x94, 0x0e, 0x52, 0x40, 0x69, 0xfd, 0x5a, 0x6d, 0xa2, 0xf2, 0xb5, 0x43, 0xa7, - 0xe9, 0xd2, 0x86, 0x14, 0x6c, 0x46, 0xfb, 0xf0, 0x16, 0x14, 0xeb, 0x21, 0xbe, 0x4a, 0x5a, 0x0a, - 0xf9, 0x52, 0x82, 0x90, 0x48, 0x17, 0xb3, 0xbf, 0x8d, 0xfc, 0x0a, 0x41, 0x56, 0xca, 0xc5, 0xab, - 0x90, 0x75, 0xdc, 0x06, 0x7d, 0x2e, 0x25, 0x2d, 0x98, 0x6a, 0x80, 0xaf, 0x00, 0xa8, 0xc5, 0x6d, - 0xea, 0xf2, 0x4a, 0x4e, 0x3e, 0x8a, 0xcd, 0xe0, 0xb7, 0x60, 0xc5, 0xee, 0xf0, 0x13, 0x2f, 0x70, - 0x5e, 0xd0, 0x86, 0xf5, 0x94, 0xf6, 0x18, 0xe5, 0x95, 0xa2, 0x5c, 0x56, 0xee, 0x3f, 0x78, 0x24, - 0xe7, 0x71, 0x15, 0x0a, 0x7e, 0x40, 0xbb, 0x8e, 0xd7, 0x61, 0x95, 0x82, 0x5c, 0x13, 0x8d, 0xf7, - 0x32, 0x05, 0x54, 0x4e, 0xed, 0x65, 0x0a, 0xa9, 0x72, 0x7a, 0x2f, 0x53, 0xc8, 0x94, 0xb3, 0x7b, - 0x99, 0x42, 0xb6, 0x9c, 0xdb, 0xcb, 0x14, 0xf2, 0xe5, 0x02, 0xd9, 0x86, 0x52, 0xcc, 0x06, 0x02, - 0x2b, 0x15, 0x7f, 0xb4, 0x3b, 0xd4, 0x40, 0x60, 0x65, 0x4e, 0xd3, 0xb5, 0x79, 0x27, 0xa0, 0xac, - 0x92, 0xba, 0x9a, 0x16, 0x58, 0xfb, 0x33, 0xe4, 0xc7, 0x08, 0x16, 0x0f, 0xb4, 0xf1, 0x1e, 0x07, - 0x9e, 0x77, 0x3c, 0xe0, 0x05, 0x74, 0x4a, 0x2f, 0xdc, 0x05, 0x68, 0x51, 0xfb, 0xd8, 0xf2, 0x85, - 0x44, 0xed, 0xcb, 0x6a, 0x2d, 0xa2, 0xdc, 0x81, 0xed, 0xef, 0x53, 0xfb, 0x78, 0xd7, 0xad, 0xb7, - 0x3a, 0xcc, 0xf1, 0x5c, 0xb3, 0x28, 0x56, 0xcb, 0xe3, 0xc9, 0xb7, 0x60, 0xe9, 0xc0, 0xf6, 0x7d, - 0x1a, 0x1c, 0x50, 0x6e, 0x0b, 0xfe, 0xe0, 0x7b, 0x70, 0xe9, 0xc4, 0x69, 0x9e, 0x50, 0xc6, 0xad, - 0xe3, 0x4e, 0xab, 0xd5, 0xb3, 0xea, 0x5e, 0xdb, 0x6f, 0x51, 0x4e, 0x1b, 0x16, 0xa3, 0xcf, 0x24, - 0xc6, 0xb4, 0x59, 0xd1, 0x4b, 0x76, 0xc4, 0x8a, 0xed, 0x70, 0xc1, 0x21, 0x7d, 0x46, 0xbe, 0x87, - 0x60, 0xe9, 0x21, 0xe5, 0x1f, 0x31, 0x1a, 0x98, 0xf4, 0x59, 0x87, 0x32, 0x8e, 0xbf, 0x08, 0x0b, - 0x0d, 0x27, 0xa0, 0x75, 0xee, 0x05, 0xbd, 0x3e, 0x0d, 0x4b, 0xd1, 0xdc, 0x6e, 0x23, 0x4e, 0xd2, - 0xd4, 0x00, 0x49, 0x6f, 0xc3, 0x85, 0x96, 0xcd, 0xb8, 0xd5, 0xa5, 0x81, 0x73, 0xec, 0xd0, 0x86, - 0xc5, 0x03, 0x4a, 0x2d, 0xe6, 0xbc, 0xa0, 0x92, 0x24, 0x69, 0x73, 0x55, 0x3c, 0xfe, 0xb6, 0x7e, - 0xfa, 0x24, 0xa0, 0xf4, 0xd0, 0x79, 0x41, 0xc9, 0x6f, 0x10, 0xe4, 0xb5, 0xda, 0xf8, 0x12, 0x14, - 0xbb, 0x41, 0x68, 0x1c, 0xe5, 0xad, 0x42, 0x37, 0x50, 0xfa, 0xe3, 0xfb, 0xb0, 0x28, 0x22, 0xd0, - 0x09, 0x6d, 0x33, 0x83, 0xf5, 0x16, 0xda, 0xb6, 0x1f, 0x8d, 0xce, 0x24, 0x02, 0x7e, 0x80, 0x60, - 0x39, 0xb2, 0x19, 0xf3, 0x3d, 0x97, 0x51, 0x7c, 0x1f, 0x0a, 0x82, 0x97, 0xac, 0xcf, 0x8b, 0x37, - 0x13, 0xc4, 0x9a, 0x7a, 0xa9, 0x19, 0x6d, 0xc2, 0x77, 0x20, 0x23, 0xdc, 0xac, 0x15, 0x22, 0x09, - 0x9b, 0xb5, 0x86, 0xa6, 0x5c, 0x2f, 0xc0, 0x9c, 0xdb, 0xb2, 0x79, 0xfd, 0x64, 0x7e, 0x2f, 0x5e, - 0x84, 0x82, 0xf6, 0xa2, 0xe2, 0x7e, 0xd1, 0xcc, 0x2b, 0x37, 0xb2, 0xd3, 0xfa, 0xf1, 0x63, 0xa8, - 0xc4, 0xb1, 0xec, 0x8a, 0x84, 0x70, 0x26, 0x80, 0xc8, 0xef, 0x10, 0x5c, 0x1c, 0x23, 0x5a, 0x5b, - 0xff, 0x63, 0xc8, 0x49, 0xbe, 0xb0, 0x0a, 0xba, 0x9a, 0xbe, 0x5e, 0x5a, 0x7f, 0x2f, 0xc1, 0x7c, - 0x13, 0xa5, 0xd4, 0x24, 0xc5, 0x98, 0x8a, 0x56, 0x2d, 0xaf, 0x7a, 0x17, 0x4a, 0xb1, 0xe9, 0x78, - 0x4e, 0x2f, 0xaa, 0x9c, 0xbe, 0x0a, 0xd9, 0xae, 0xdd, 0xea, 0x50, 0x9d, 0xd4, 0xd5, 0x60, 0x33, - 0xb5, 0x81, 0xc8, 0x67, 0x29, 0x58, 0x1d, 0xf4, 0xcc, 0x59, 0x71, 0xe5, 0x39, 0xbc, 0x21, 0xa2, - 0xa0, 0x45, 0xed, 0x2e, 0x65, 0xd6, 0x51, 0xcf, 0xea, 0x07, 0xa3, 0xd0, 0x7e, 0x67, 0x46, 0xed, - 0x23, 0xc5, 0x15, 0xa3, 0xba, 0x94, 0x6d, 0xf5, 0xa4, 0x55, 0x74, 0xc6, 0x5a, 0x69, 0x0f, 0xcf, - 0x57, 0x4f, 0xe0, 0xfc, 0xf8, 0xc5, 0x63, 0x2c, 0xb3, 0x11, 0xb7, 0xcc, 0x6c, 0x94, 0x8e, 0x59, - 0xef, 0xef, 0x08, 0x2e, 0xec, 0x3b, 0x8c, 0x4b, 0xe9, 0x1f, 0x38, 0x4c, 0x50, 0x64, 0x12, 0x95, - 0x72, 0x89, 0x19, 0x6a, 0xb0, 0x8c, 0xae, 0x42, 0x96, 0x71, 0x3b, 0xe0, 0x12, 0x55, 0xda, 0x54, - 0x03, 0x91, 0x74, 0x7c, 0xbb, 0x19, 0x63, 0x78, 0xd6, 0x2c, 0x88, 0x09, 0xc1, 0xea, 0xa4, 0x60, - 0xc8, 0x4e, 0x0e, 0x06, 0x55, 0x93, 0xc8, 0x2b, 0xa8, 0x8c, 0xaa, 0xa1, 0x89, 0xb0, 0x05, 0x39, - 0xa9, 0x70, 0x48, 0xdb, 0x1b, 0x09, 0x26, 0x1a, 0xf2, 0x99, 0xa9, 0x77, 0xe2, 0xcb, 0x00, 0x2e, - 0x7d, 0xce, 0xad, 0xb8, 0x52, 0x45, 0x31, 0x73, 0x28, 0x26, 0xc8, 0xa7, 0x29, 0x75, 0xbe, 0xda, - 0xab, 0xf8, 0xc3, 0xce, 0x22, 0xd3, 0x7f, 0x19, 0x96, 0xe4, 0x91, 0x56, 0x44, 0x65, 0x95, 0x18, - 0x16, 0xe5, 0x6c, 0x78, 0x94, 0x38, 0x82, 0xba, 0x8d, 0xfe, 0xa2, 0x8c, 0x5c, 0x54, 0xa2, 0x6e, - 0x23, 0x5a, 0x32, 0x60, 0xfb, 0xec, 0x90, 0xed, 0x2f, 0x03, 0xc8, 0x87, 0xdc, 0x7b, 0x4a, 0x5d, - 0xed, 0x68, 0xb9, 0xfc, 0x89, 0x98, 0x48, 0x72, 0x4d, 0x3e, 0x21, 0x4f, 0xfd, 0x10, 0x41, 0xe9, - 0xc0, 0xf6, 0x23, 0x08, 0xf7, 0xa0, 0x20, 0x02, 0x2a, 0xf0, 0x3c, 0xae, 0x23, 0x72, 0x0a, 0x5b, - 0x4d, 0xcf, 0xe3, 0x66, 0xbe, 0xad, 0xfe, 0x84, 0xdb, 0xe7, 0xcc, 0xdf, 0x79, 0x15, 0x5e, 0xc7, - 0xe4, 0xdf, 0x08, 0x2e, 0x8e, 0xf1, 0x91, 0x26, 0xc9, 0x1e, 0x2c, 0xb7, 0x6c, 0x2e, 0xea, 0x7b, - 0xcb, 0x6b, 0xce, 0x0a, 0x71, 0xdf, 0x6b, 0x4a, 0x88, 0x8b, 0x6a, 0xab, 0x1e, 0xe2, 0x47, 0xaa, - 0x7c, 0x86, 0xde, 0x60, 0x3a, 0x61, 0x5c, 0x9b, 0xa2, 0x6c, 0x98, 0x81, 0x44, 0x29, 0x8d, 0x00, - 0xe2, 0x6b, 0xb0, 0x2c, 0x99, 0x17, 0xf3, 0x4f, 0x5a, 0xfa, 0x67, 0x51, 0x4c, 0x3f, 0x0e, 0x7d, - 0x44, 0x7e, 0x9e, 0x82, 0xcb, 0x32, 0xed, 0x7c, 0x1e, 0x1e, 0x26, 0xd4, 0xaa, 0xff, 0x6b, 0x26, - 0xfe, 0x3e, 0x05, 0x65, 0x69, 0x9c, 0x33, 0xa4, 0x23, 0x4f, 0x2e, 0x0f, 0x5b, 0xd3, 0xca, 0x43, - 0x0c, 0xca, 0xff, 0x64, 0x69, 0xf8, 0x33, 0x82, 0x2b, 0x93, 0x08, 0xf5, 0x1a, 0x82, 0xe6, 0xf1, - 0xf8, 0xa0, 0x79, 0x6b, 0x0e, 0x33, 0x0e, 0x46, 0x0e, 0xf9, 0x29, 0x02, 0xac, 0xda, 0x3d, 0x65, - 0xcd, 0x09, 0x61, 0x90, 0x1d, 0x0d, 0x83, 0x5d, 0x41, 0x62, 0x1e, 0xf4, 0xac, 0x8e, 0xdc, 0x2e, - 0x49, 0x9c, 0x1c, 0xbf, 0xb1, 0xde, 0x52, 0x90, 0x3d, 0x1a, 0x0c, 0xb5, 0x4f, 0xe9, 0x72, 0x86, - 0x7c, 0x82, 0xe0, 0x92, 0x44, 0xfe, 0x61, 0x87, 0x76, 0xa8, 0x30, 0xac, 0xde, 0x37, 0x7b, 0x98, - 0xbe, 0x07, 0x79, 0x85, 0x6c, 0x96, 0xd4, 0x12, 0x87, 0x16, 0x6e, 0x13, 0xef, 0xb3, 0xf8, 0x21, - 0x8d, 0xc2, 0x76, 0x0e, 0xdb, 0x54, 0x87, 0x5e, 0xab, 0xd2, 0xb1, 0x37, 0xa6, 0x84, 0xe8, 0x4c, - 0x25, 0x44, 0x27, 0x87, 0xca, 0x43, 0xca, 0xf7, 0x25, 0x1d, 0xa6, 0x21, 0x1a, 0x63, 0x8d, 0x53, - 0x9e, 0x7a, 0x24, 0x9b, 0x21, 0xc9, 0xbd, 0xf5, 0x91, 0x4c, 0x70, 0xa1, 0xdf, 0xea, 0xa8, 0xee, - 0x72, 0x24, 0xfc, 0xdf, 0x84, 0x45, 0x41, 0xfa, 0x78, 0x8f, 0x24, 0xfa, 0xda, 0x85, 0x96, 0xd7, - 0x8c, 0xfa, 0x20, 0x72, 0x0c, 0xf9, 0x90, 0xdf, 0xeb, 0x50, 0x18, 0x0a, 0x92, 0x91, 0x33, 0xc2, - 0xc8, 0xc8, 0xb7, 0xf4, 0x9e, 0xaf, 0xc0, 0xb2, 0xd8, 0x53, 0xf7, 0x5c, 0xe6, 0x30, 0x2e, 0x1c, - 0xaa, 0x4f, 0x59, 0x6a, 0x79, 0xcd, 0xed, 0xfe, 0x2c, 0xf9, 0x07, 0x82, 0x42, 0x3c, 0x05, 0x4f, - 0x33, 0x59, 0x3c, 0xf5, 0x65, 0xe7, 0x4f, 0x7d, 0x63, 0xe2, 0x3e, 0x77, 0xca, 0xb8, 0x8f, 0x87, - 0x86, 0x7e, 0x97, 0xfb, 0x09, 0x82, 0x55, 0x91, 0x73, 0xc2, 0x2b, 0x01, 0x76, 0x46, 0xec, 0x1c, - 0x2c, 0x2d, 0xe9, 0xe1, 0xd2, 0x32, 0x50, 0x96, 0x32, 0x83, 0x65, 0x89, 0x7c, 0x1f, 0xc1, 0x1b, - 0x43, 0x98, 0x74, 0x0e, 0xdc, 0x81, 0x62, 0x78, 0xe5, 0xc0, 0x2a, 0x39, 0x19, 0x8d, 0xd7, 0x93, - 0x6c, 0x19, 0xbf, 0xe7, 0x30, 0xfb, 0x5b, 0xc7, 0xd5, 0xf9, 0xfc, 0x98, 0x3a, 0xbf, 0xfe, 0xd7, - 0x73, 0xb0, 0xfc, 0x88, 0xf6, 0x9e, 0xc4, 0xe4, 0xe2, 0x1f, 0x21, 0x58, 0x78, 0x48, 0xf9, 0xfb, - 0xa1, 0x21, 0x70, 0x2d, 0xf9, 0x15, 0x37, 0x5a, 0xa8, 0x2d, 0x5b, 0x4d, 0x6a, 0xce, 0xa3, 0xc5, - 0xe4, 0xda, 0x27, 0xff, 0xfa, 0xcf, 0xa7, 0xa9, 0xab, 0xf8, 0x8a, 0xd1, 0x5d, 0x33, 0x42, 0xab, - 0x3b, 0x94, 0x19, 0x2f, 0xe3, 0x6e, 0x79, 0x85, 0x7f, 0x81, 0xa0, 0x14, 0x4b, 0x2e, 0xf8, 0xed, - 0x64, 0x34, 0x43, 0x21, 0x5f, 0x9d, 0xa5, 0x4d, 0x23, 0x5f, 0x93, 0x58, 0x6e, 0xe3, 0x5b, 0xc9, - 0x58, 0x8c, 0xa8, 0x9e, 0x18, 0x2f, 0xc3, 0xbf, 0xaf, 0xf0, 0xaf, 0x11, 0xac, 0x8c, 0x64, 0x1c, - 0x7c, 0x2b, 0x19, 0xe6, 0xd8, 0xfc, 0x34, 0x1b, 0xd8, 0x77, 0x25, 0xd8, 0x35, 0x6c, 0xcc, 0x0a, - 0x76, 0x53, 0xc5, 0x08, 0xfe, 0xa5, 0x02, 0x1a, 0x0a, 0x3a, 0xe4, 0x01, 0xb5, 0xdb, 0xaf, 0xc5, - 0x9e, 0xf3, 0x43, 0x64, 0x12, 0xcc, 0x4d, 0x84, 0xff, 0x88, 0x60, 0x71, 0x20, 0x36, 0xb0, 0x91, - 0x94, 0x06, 0xc6, 0x44, 0x76, 0xf5, 0xe6, 0xec, 0x1b, 0x54, 0xd8, 0x91, 0x07, 0x12, 0xef, 0x7d, - 0x7c, 0xef, 0x14, 0xfe, 0x37, 0xfa, 0x51, 0xf7, 0x17, 0x04, 0xe7, 0x06, 0x0e, 0xd0, 0x26, 0x9e, - 0x5b, 0x83, 0x99, 0x63, 0x9e, 0xec, 0x4b, 0xe4, 0x3b, 0xf8, 0xfd, 0xcf, 0x85, 0xbc, 0x6f, 0xfe, - 0x9f, 0x21, 0xc8, 0xeb, 0xb6, 0x15, 0x7f, 0x75, 0x96, 0xd6, 0x56, 0x01, 0x9e, 0xa3, 0x0b, 0x26, - 0x77, 0x24, 0xe4, 0x9b, 0xb8, 0x36, 0x05, 0xb2, 0x78, 0x03, 0x66, 0xc6, 0x4b, 0xfd, 0x22, 0x2c, - 0xe3, 0x6c, 0x21, 0x7e, 0x15, 0x92, 0x98, 0x97, 0xc6, 0x5c, 0xaf, 0x55, 0x8d, 0x39, 0xef, 0x58, - 0xc8, 0x6d, 0x89, 0xd4, 0xc0, 0x6f, 0xcf, 0x82, 0x74, 0xf3, 0x48, 0x8b, 0xc0, 0x7f, 0x42, 0xb0, - 0x32, 0x72, 0x63, 0x95, 0x98, 0x10, 0x26, 0x5d, 0xc0, 0x55, 0xdf, 0x39, 0xcd, 0xa5, 0x18, 0xd9, - 0x94, 0xb8, 0xdf, 0xc1, 0xeb, 0x73, 0xe1, 0x56, 0x30, 0x3f, 0x43, 0x50, 0x1e, 0xbe, 0xfc, 0xc0, - 0xeb, 0x53, 0x08, 0x3c, 0xe6, 0xc2, 0xa7, 0x7a, 0x6b, 0xae, 0x3d, 0x1a, 0xf9, 0x37, 0x24, 0xf2, - 0x0d, 0x7c, 0x67, 0x3e, 0x6e, 0x18, 0x27, 0x1a, 0xe8, 0xdf, 0x10, 0xac, 0x8c, 0x74, 0x18, 0x78, - 0x1a, 0x94, 0x71, 0x0d, 0x6e, 0xa2, 0xe9, 0x27, 0x36, 0x31, 0x64, 0x5b, 0x2a, 0x70, 0x8f, 0x6c, - 0xcc, 0xa9, 0x40, 0x3f, 0x13, 0xa2, 0x1b, 0xf8, 0x9f, 0x08, 0xce, 0x8f, 0x6f, 0x96, 0xf0, 0xc6, - 0x34, 0x42, 0x4c, 0xd4, 0xe7, 0xee, 0x29, 0x76, 0x6a, 0xa5, 0xb6, 0xa4, 0x52, 0x5f, 0x27, 0xef, - 0xce, 0xce, 0x27, 0x21, 0xcc, 0x8c, 0xeb, 0xf4, 0x07, 0x04, 0x65, 0xd9, 0xa3, 0xc4, 0x3f, 0x9c, - 0x25, 0xd5, 0x9e, 0xd1, 0x66, 0xab, 0x7a, 0x3e, 0x5c, 0x1e, 0x7e, 0x00, 0xac, 0x3d, 0x68, 0xfb, - 0xbc, 0x47, 0xbe, 0x23, 0xf1, 0x7d, 0x48, 0xbe, 0x39, 0x9b, 0xd1, 0xe3, 0xdd, 0x58, 0x2d, 0xf4, - 0xc0, 0xe6, 0x33, 0x01, 0x6e, 0x73, 0xa0, 0x55, 0x13, 0x15, 0x73, 0x75, 0x5c, 0x77, 0x85, 0xef, - 0x4c, 0x33, 0xe6, 0xf8, 0x76, 0x6c, 0xa2, 0x06, 0x3a, 0x62, 0xc9, 0x94, 0x82, 0xa9, 0x6c, 0xab, - 0x64, 0x4b, 0xb9, 0x9b, 0xe8, 0xc6, 0xd6, 0x07, 0xdf, 0xdd, 0x69, 0x3a, 0xfc, 0xa4, 0x73, 0x54, - 0xab, 0x7b, 0x6d, 0x43, 0x7f, 0x22, 0x1d, 0xc2, 0x65, 0xd4, 0xbd, 0x40, 0x7d, 0x55, 0x1d, 0xfd, - 0x2a, 0x6b, 0x35, 0x3d, 0x4b, 0xc1, 0xc9, 0xc9, 0x9f, 0x5b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, - 0x6e, 0x33, 0x4d, 0x3e, 0xbb, 0x1d, 0x00, 0x00, + 0x74, 0xbb, 0x6d, 0xb7, 0xdb, 0xf6, 0xec, 0xac, 0x04, 0x27, 0xbb, 0xaa, 0xeb, 0xbd, 0xfe, 0xbd, + 0xf7, 0x7e, 0xef, 0x55, 0xbd, 0x6a, 0xa8, 0xf4, 0xd6, 0xf5, 0xe7, 0xa4, 0xcf, 0x7c, 0xcb, 0xa1, + 0x9e, 0xe5, 0x13, 0xa7, 0xde, 0xaf, 0x79, 0xbe, 0xcb, 0x5c, 0x7c, 0xb9, 0xe9, 0xba, 0xcd, 0x36, + 0xa9, 0x8d, 0x3e, 0xed, 0xad, 0x57, 0xbf, 0x20, 0x1f, 0xe9, 0x96, 0x67, 0xeb, 0x96, 0xe3, 0xb8, + 0xcc, 0x62, 0xb6, 0xeb, 0x50, 0x29, 0x58, 0x5d, 0x53, 0x4f, 0xc5, 0xe8, 0xb8, 0x7b, 0xa2, 0x93, + 0x8e, 0xc7, 0x94, 0xd6, 0xea, 0x12, 0xf3, 0xed, 0x76, 0xdb, 0xb6, 0x1c, 0x35, 0xbe, 0x18, 0x8c, + 0xcd, 0x8e, 0xe5, 0x99, 0x96, 0x67, 0x07, 0xeb, 0x7a, 0xeb, 0xba, 0xd5, 0xe8, 0xd8, 0x6a, 0x9d, + 0xb6, 0x0e, 0xc5, 0x1d, 0xb7, 0xd3, 0xb1, 0x19, 0x23, 0x0d, 0x5c, 0x86, 0xf4, 0x73, 0xd2, 0xaf, + 0xa0, 0x6b, 0xe8, 0xc6, 0x82, 0xc1, 0xff, 0x62, 0x0c, 0x99, 0x86, 0xc5, 0xac, 0x4a, 0x4a, 0x4c, + 0x89, 0xff, 0xda, 0x6f, 0x11, 0x94, 0x1e, 0x3a, 0xcc, 0xef, 0x7f, 0xe8, 0x35, 0x2c, 0x46, 0xf0, + 0x25, 0xc8, 0x77, 0x29, 0xf1, 0x4d, 0xbb, 0x21, 0x24, 0x8b, 0x46, 0x8e, 0x0f, 0xf7, 0x1a, 0x78, + 0x1b, 0x0a, 0x9d, 0xae, 0xb4, 0x41, 0x28, 0x28, 0x6d, 0x5c, 0xaf, 0x4d, 0x34, 0xbe, 0x76, 0x64, + 0x37, 0x1d, 0xd2, 0x10, 0x8a, 0x8d, 0x50, 0x0e, 0x6f, 0x43, 0xb1, 0x1e, 0xe0, 0xab, 0xa4, 0x85, + 0x92, 0x2f, 0x25, 0x28, 0x09, 0x6d, 0x31, 0x06, 0x62, 0xda, 0xaf, 0x10, 0x64, 0x85, 0x5e, 0xbc, + 0x0a, 0x59, 0xdb, 0x69, 0x90, 0x17, 0x42, 0xd3, 0x82, 0x21, 0x07, 0xf8, 0x2a, 0x80, 0x5c, 0xdc, + 0x21, 0x0e, 0xab, 0xe4, 0xc4, 0xa3, 0xc8, 0x0c, 0x7e, 0x0b, 0x56, 0xac, 0x2e, 0x6b, 0xb9, 0xbe, + 0xfd, 0x92, 0x34, 0xcc, 0xe7, 0xa4, 0x4f, 0x09, 0xab, 0x14, 0xc5, 0xb2, 0xf2, 0xe0, 0xc1, 0x13, + 0x31, 0x8f, 0xab, 0x50, 0xf0, 0x7c, 0xd2, 0xb3, 0xdd, 0x2e, 0xad, 0x14, 0xc4, 0x9a, 0x70, 0xbc, + 0x9f, 0x29, 0xa0, 0x72, 0x6a, 0x3f, 0x53, 0x48, 0x95, 0xd3, 0xfb, 0x99, 0x42, 0xa6, 0x9c, 0xdd, + 0xcf, 0x14, 0xb2, 0xe5, 0xdc, 0x7e, 0xa6, 0x90, 0x2f, 0x17, 0xb4, 0x1d, 0x28, 0x45, 0x7c, 0xc0, + 0xb1, 0x12, 0xfe, 0x47, 0x85, 0x43, 0x0e, 0x38, 0x56, 0x6a, 0x37, 0x1d, 0x8b, 0x75, 0x7d, 0x42, + 0x2b, 0xa9, 0x6b, 0x69, 0x8e, 0x75, 0x30, 0xa3, 0xfd, 0x18, 0xc1, 0xe2, 0xa1, 0x72, 0xde, 0x53, + 0xdf, 0x75, 0x4f, 0x86, 0xa2, 0x80, 0xce, 0x18, 0x85, 0x7b, 0x00, 0x6d, 0x62, 0x9d, 0x98, 0x1e, + 0xd7, 0xa8, 0x62, 0x59, 0xad, 0x85, 0x94, 0x3b, 0xb4, 0xbc, 0x03, 0x62, 0x9d, 0xec, 0x39, 0xf5, + 0x76, 0x97, 0xda, 0xae, 0x63, 0x14, 0xf9, 0x6a, 0xf1, 0x7a, 0xed, 0x5b, 0xb0, 0x74, 0x68, 0x79, + 0x1e, 0xf1, 0x0f, 0x09, 0xb3, 0x38, 0x7f, 0xf0, 0x7d, 0x58, 0x6b, 0xd9, 0xcd, 0x16, 0xa1, 0xcc, + 0x3c, 0xe9, 0xb6, 0xdb, 0x7d, 0xb3, 0xee, 0x76, 0xbc, 0x36, 0x61, 0xa4, 0x61, 0x52, 0x72, 0x2a, + 0x30, 0xa6, 0x8d, 0x8a, 0x5a, 0xb2, 0xcb, 0x57, 0xec, 0x04, 0x0b, 0x8e, 0xc8, 0xa9, 0xf6, 0x3d, + 0x04, 0x4b, 0x8f, 0x08, 0xfb, 0x90, 0x12, 0xdf, 0x20, 0xa7, 0x5d, 0x42, 0x19, 0xfe, 0x22, 0x2c, + 0x34, 0x6c, 0x9f, 0xd4, 0x99, 0xeb, 0xf7, 0x07, 0x34, 0x2c, 0x85, 0x73, 0x7b, 0x8d, 0x28, 0x49, + 0x53, 0x43, 0x24, 0xbd, 0x03, 0x97, 0xda, 0x16, 0x65, 0x66, 0x8f, 0xf8, 0xf6, 0x89, 0x4d, 0x1a, + 0x26, 0xf3, 0x09, 0x31, 0xa9, 0xfd, 0x92, 0x08, 0x92, 0xa4, 0x8d, 0x55, 0xfe, 0xf8, 0xdb, 0xea, + 0xe9, 0x33, 0x9f, 0x90, 0x23, 0xfb, 0x25, 0xd1, 0x7e, 0x83, 0x20, 0xaf, 0xcc, 0xc6, 0x6b, 0x50, + 0xec, 0xf9, 0x81, 0x73, 0x64, 0xb4, 0x0a, 0x3d, 0x5f, 0xda, 0x8f, 0x1f, 0xc0, 0x22, 0xcf, 0x40, + 0x3b, 0xf0, 0xcd, 0x0c, 0xde, 0x5b, 0xe8, 0x58, 0x5e, 0x38, 0x3a, 0x97, 0x0c, 0xf8, 0x01, 0x82, + 0xe5, 0xd0, 0x67, 0xd4, 0x73, 0x1d, 0x4a, 0xf0, 0x03, 0x28, 0x70, 0x5e, 0xd2, 0x01, 0x2f, 0xde, + 0x4c, 0x50, 0x6b, 0xa8, 0xa5, 0x46, 0x28, 0x84, 0xef, 0x42, 0x86, 0x87, 0x59, 0x19, 0xa4, 0x25, + 0x08, 0x2b, 0x0b, 0x0d, 0xb1, 0x9e, 0x83, 0xb9, 0xb0, 0x6d, 0xb1, 0x7a, 0x6b, 0xfe, 0x28, 0x5e, + 0x86, 0x82, 0x8a, 0xa2, 0xe4, 0x7e, 0xd1, 0xc8, 0xcb, 0x30, 0xd2, 0xb3, 0xc6, 0xf1, 0x23, 0xa8, + 0x44, 0xb1, 0xec, 0xf1, 0x82, 0x70, 0x2e, 0x80, 0xb4, 0xdf, 0x21, 0xb8, 0x1c, 0xa3, 0x5a, 0x79, + 0xff, 0x23, 0xc8, 0x09, 0xbe, 0xd0, 0x0a, 0xba, 0x96, 0xbe, 0x51, 0xda, 0x78, 0x2f, 0xc1, 0x7d, + 0x13, 0xb5, 0xd4, 0x04, 0xc5, 0xa8, 0xcc, 0x56, 0xa5, 0xaf, 0x7a, 0x0f, 0x4a, 0x91, 0xe9, 0x68, + 0x4d, 0x2f, 0xca, 0x9a, 0xbe, 0x0a, 0xd9, 0x9e, 0xd5, 0xee, 0x12, 0x55, 0xd4, 0xe5, 0x60, 0x2b, + 0xb5, 0x89, 0xb4, 0x4f, 0x53, 0xb0, 0x3a, 0x1c, 0x99, 0xf3, 0xe2, 0xca, 0x0b, 0x78, 0x83, 0x67, + 0x41, 0x9b, 0x58, 0x3d, 0x42, 0xcd, 0xe3, 0xbe, 0x39, 0x48, 0x46, 0x6e, 0xfd, 0xee, 0x8c, 0xd6, + 0x87, 0x86, 0x4b, 0x46, 0xf5, 0x08, 0xdd, 0xee, 0x0b, 0xaf, 0xa8, 0x8a, 0xb5, 0xd2, 0x19, 0x9d, + 0xaf, 0xb6, 0xe0, 0x62, 0xfc, 0xe2, 0x18, 0xcf, 0x6c, 0x46, 0x3d, 0x33, 0x1b, 0xa5, 0x23, 0xde, + 0xfb, 0x3b, 0x82, 0x4b, 0x07, 0x36, 0x65, 0x42, 0xfb, 0x63, 0x9b, 0x72, 0x8a, 0x4c, 0xa2, 0x52, + 0x2e, 0xb1, 0x42, 0x0d, 0x6f, 0xa3, 0xab, 0x90, 0xa5, 0xcc, 0xf2, 0x99, 0x40, 0x95, 0x36, 0xe4, + 0x80, 0x17, 0x1d, 0xcf, 0x6a, 0x46, 0x18, 0x9e, 0x35, 0x0a, 0x7c, 0x82, 0xb3, 0x3a, 0x29, 0x19, + 0xb2, 0x93, 0x93, 0x41, 0xee, 0x49, 0xda, 0x6b, 0xa8, 0x8c, 0x9b, 0xa1, 0x88, 0xb0, 0x0d, 0x39, + 0x61, 0x70, 0x40, 0xdb, 0x9b, 0x09, 0x2e, 0x1a, 0x89, 0x99, 0xa1, 0x24, 0xf1, 0x15, 0x00, 0x87, + 0xbc, 0x60, 0x66, 0xd4, 0xa8, 0x22, 0x9f, 0x39, 0xe2, 0x13, 0xda, 0x27, 0x29, 0xf9, 0x7e, 0x29, + 0x2b, 0xf9, 0x43, 0xcf, 0xa3, 0xd2, 0x7f, 0x19, 0x96, 0xc4, 0x2b, 0xcd, 0x90, 0xca, 0xb2, 0x30, + 0x2c, 0x8a, 0xd9, 0xe0, 0x55, 0xfc, 0x15, 0xc4, 0x69, 0x0c, 0x16, 0x65, 0xc4, 0xa2, 0x12, 0x71, + 0x1a, 0xe1, 0x92, 0x21, 0xdf, 0x67, 0x47, 0x7c, 0x7f, 0x05, 0x40, 0x3c, 0x64, 0xee, 0x73, 0xe2, + 0xa8, 0x40, 0x8b, 0xe5, 0xcf, 0xf8, 0x44, 0x52, 0x68, 0xf2, 0x09, 0x75, 0xea, 0x87, 0x08, 0x4a, + 0x87, 0x96, 0x17, 0x42, 0xb8, 0x0f, 0x05, 0x9e, 0x50, 0xbe, 0xeb, 0x32, 0x95, 0x91, 0x53, 0xd8, + 0x6a, 0xb8, 0x2e, 0x33, 0xf2, 0x1d, 0xf9, 0x27, 0x10, 0x9f, 0xb3, 0x7e, 0xe7, 0x65, 0x7a, 0x9d, + 0x68, 0xff, 0x46, 0x70, 0x39, 0x26, 0x46, 0x8a, 0x24, 0xfb, 0xb0, 0xdc, 0xb6, 0x18, 0xdf, 0xdf, + 0xdb, 0x6e, 0x73, 0x56, 0x88, 0x07, 0x6e, 0x53, 0x40, 0x5c, 0x94, 0xa2, 0x6a, 0x88, 0x9f, 0xc8, + 0xed, 0x33, 0x88, 0x06, 0x55, 0x05, 0xe3, 0xfa, 0x14, 0x63, 0x83, 0x0a, 0xc4, 0xb7, 0xd2, 0x10, + 0x20, 0xbe, 0x0e, 0xcb, 0x82, 0x79, 0x91, 0xf8, 0xa4, 0x45, 0x7c, 0x16, 0xf9, 0xf4, 0xd3, 0x20, + 0x46, 0xda, 0xcf, 0x53, 0x70, 0x45, 0x94, 0x9d, 0xcf, 0xc2, 0xc3, 0x84, 0xbd, 0xea, 0xff, 0x9a, + 0x89, 0xbf, 0x4f, 0x41, 0x59, 0x38, 0xe7, 0x1c, 0xe9, 0xc8, 0x92, 0xb7, 0x87, 0xed, 0x69, 0xdb, + 0x43, 0x04, 0xca, 0xff, 0xe4, 0xd6, 0xf0, 0x67, 0x04, 0x57, 0x27, 0x11, 0xea, 0x73, 0x48, 0x9a, + 0xa7, 0xf1, 0x49, 0xf3, 0xd6, 0x1c, 0x6e, 0x1c, 0xce, 0x1c, 0xed, 0xa7, 0x08, 0xb0, 0x6c, 0xf7, + 0xa4, 0x37, 0x27, 0xa4, 0x41, 0x76, 0x3c, 0x0d, 0xf6, 0x38, 0x89, 0x99, 0xdf, 0x37, 0xbb, 0x42, + 0x5c, 0x90, 0x38, 0x39, 0x7f, 0x23, 0xbd, 0x25, 0x27, 0x7b, 0x38, 0x18, 0x69, 0x9f, 0xd2, 0xe5, + 0x8c, 0xf6, 0x31, 0x82, 0x35, 0x81, 0xfc, 0x83, 0x2e, 0xe9, 0x12, 0xee, 0x58, 0x25, 0x37, 0x7b, + 0x9a, 0xbe, 0x07, 0x79, 0x89, 0x6c, 0x96, 0xd2, 0x12, 0x85, 0x16, 0x88, 0xf1, 0xf3, 0x2c, 0x7e, + 0x44, 0xc2, 0xb4, 0x9d, 0xc3, 0x37, 0xd5, 0x91, 0x63, 0x55, 0x3a, 0x72, 0x62, 0x4a, 0xc8, 0xce, + 0x54, 0x42, 0x76, 0x32, 0xa8, 0x3c, 0x22, 0xec, 0x40, 0xd0, 0x61, 0x1a, 0xa2, 0x18, 0x6f, 0x9c, + 0xf1, 0xad, 0xc7, 0xa2, 0x19, 0x12, 0xdc, 0xdb, 0x18, 0xab, 0x04, 0x97, 0x06, 0xad, 0x8e, 0xec, + 0x2e, 0xc7, 0xd2, 0xff, 0x4d, 0x58, 0xe4, 0xa4, 0x8f, 0xf6, 0x48, 0xbc, 0xaf, 0x5d, 0x68, 0xbb, + 0xcd, 0xb0, 0x0f, 0xd2, 0xf6, 0x61, 0x29, 0xa0, 0xbb, 0xb2, 0x67, 0x0d, 0x8a, 0xfc, 0x35, 0x66, + 0xcb, 0xa2, 0xad, 0xa0, 0xef, 0xe2, 0x13, 0x8f, 0x2d, 0xda, 0xe2, 0x0f, 0x47, 0xb1, 0x17, 0x58, + 0x80, 0xf7, 0x04, 0xf2, 0x41, 0xae, 0x6c, 0x40, 0x61, 0x24, 0xe1, 0xc6, 0xf0, 0x06, 0xaf, 0xcd, + 0xb7, 0x95, 0xcc, 0x57, 0x60, 0x99, 0xcb, 0xd4, 0x5d, 0x87, 0xda, 0x94, 0x71, 0x72, 0x28, 0xc4, + 0x4b, 0x6d, 0xb7, 0xb9, 0x33, 0x98, 0xd5, 0xfe, 0x81, 0xa0, 0x10, 0x2d, 0xe7, 0xd3, 0xdc, 0x1f, + 0x2d, 0xa3, 0xd9, 0xf9, 0xcb, 0x68, 0x4c, 0x0d, 0xc9, 0x9d, 0xb1, 0x86, 0x44, 0xd3, 0x4c, 0x9d, + 0x0b, 0x7f, 0x82, 0x60, 0x95, 0xd7, 0xaf, 0xe0, 0x7a, 0x81, 0x9e, 0x13, 0xd3, 0x87, 0xb7, 0xa9, + 0xf4, 0xe8, 0x36, 0x35, 0xb4, 0xc5, 0x65, 0x86, 0xb7, 0x38, 0xed, 0xfb, 0x08, 0xde, 0x18, 0xc1, + 0xa4, 0xea, 0xe9, 0x2e, 0x14, 0x83, 0xeb, 0x0b, 0x5a, 0xc9, 0x89, 0xcc, 0xbe, 0x91, 0xe4, 0xcb, + 0xe8, 0x9d, 0x89, 0x31, 0x10, 0x8d, 0x3b, 0x33, 0xe4, 0x63, 0xce, 0x0c, 0x1b, 0x7f, 0xbd, 0x00, + 0xcb, 0x4f, 0x48, 0xff, 0x59, 0x44, 0x2f, 0xfe, 0x11, 0x82, 0x85, 0x47, 0x84, 0xbd, 0x1f, 0x38, + 0x02, 0xd7, 0x92, 0x8f, 0xcb, 0xe1, 0x42, 0xe5, 0xd9, 0x6a, 0x52, 0xa3, 0x1f, 0x2e, 0xd6, 0xae, + 0x7f, 0xfc, 0xaf, 0xff, 0x7c, 0x92, 0xba, 0x86, 0xaf, 0xea, 0xbd, 0x75, 0x3d, 0xf0, 0xba, 0x4d, + 0xa8, 0xfe, 0x2a, 0x1a, 0x96, 0xd7, 0xf8, 0x17, 0x08, 0x4a, 0x91, 0x42, 0x85, 0xdf, 0x4e, 0x46, + 0x33, 0x52, 0x3e, 0xaa, 0xb3, 0xb4, 0x7c, 0xda, 0xd7, 0x04, 0x96, 0x3b, 0xf8, 0x76, 0x32, 0x16, + 0x3d, 0xdc, 0x9b, 0xf4, 0x57, 0xc1, 0xdf, 0xd7, 0xf8, 0xd7, 0x08, 0x56, 0xc6, 0xaa, 0x17, 0xbe, + 0x9d, 0x0c, 0x33, 0xb6, 0xd6, 0xcd, 0x06, 0xf6, 0x5d, 0x01, 0x76, 0x1d, 0xeb, 0xb3, 0x82, 0xdd, + 0x92, 0x39, 0x82, 0x7f, 0x29, 0x81, 0x06, 0x8a, 0x8e, 0x98, 0x4f, 0xac, 0xce, 0xe7, 0xe2, 0xcf, + 0xf9, 0x21, 0x52, 0x01, 0xe6, 0x16, 0xc2, 0x7f, 0x44, 0xb0, 0x38, 0x94, 0x1b, 0x58, 0x4f, 0x2a, + 0x03, 0x31, 0x99, 0x5d, 0xbd, 0x35, 0xbb, 0x80, 0x4c, 0x3b, 0xed, 0xa1, 0xc0, 0xfb, 0x00, 0xdf, + 0x3f, 0x43, 0xfc, 0xf5, 0x41, 0xd6, 0xfd, 0x05, 0xc1, 0x85, 0xa1, 0x17, 0x28, 0x17, 0xcf, 0x6d, + 0xc1, 0xcc, 0x39, 0xaf, 0x1d, 0x08, 0xe4, 0xbb, 0xf8, 0xfd, 0xcf, 0x84, 0x7c, 0xe0, 0xfe, 0x9f, + 0x21, 0xc8, 0xab, 0x16, 0x18, 0x7f, 0x75, 0x96, 0x36, 0x59, 0x02, 0x9e, 0xa3, 0xa3, 0xd6, 0xee, + 0x0a, 0xc8, 0xb7, 0x70, 0x6d, 0x0a, 0x64, 0x7e, 0x9a, 0xa6, 0xfa, 0x2b, 0x75, 0xa8, 0x16, 0x79, + 0xb6, 0x10, 0xbd, 0x56, 0x49, 0xac, 0x4b, 0x31, 0x57, 0x75, 0x55, 0x7d, 0xce, 0xfb, 0x1a, 0xed, + 0x8e, 0x40, 0xaa, 0xe3, 0xb7, 0x67, 0x41, 0xba, 0x75, 0xac, 0x54, 0xe0, 0x3f, 0x21, 0x58, 0x19, + 0xbb, 0xfd, 0x4a, 0x2c, 0x08, 0x93, 0x2e, 0xf3, 0xaa, 0xef, 0x9c, 0xe5, 0x82, 0x4d, 0xdb, 0x12, + 0xb8, 0xdf, 0xc1, 0x1b, 0x73, 0xe1, 0x96, 0x30, 0x3f, 0x45, 0x50, 0x1e, 0xbd, 0x48, 0xc1, 0x1b, + 0x53, 0x08, 0x1c, 0x73, 0x79, 0x54, 0xbd, 0x3d, 0x97, 0x8c, 0x42, 0xfe, 0x0d, 0x81, 0x7c, 0x13, + 0xdf, 0x9d, 0x8f, 0x1b, 0x7a, 0x4b, 0x01, 0xfd, 0x1b, 0x82, 0x95, 0xb1, 0x6e, 0x05, 0x4f, 0x83, + 0x12, 0xd7, 0x2c, 0x27, 0xba, 0x7e, 0x62, 0x43, 0xa4, 0xed, 0x08, 0x03, 0xee, 0x6b, 0x9b, 0x73, + 0x1a, 0x30, 0xa8, 0x84, 0xe8, 0x26, 0xfe, 0x27, 0x82, 0x8b, 0xf1, 0x8d, 0x17, 0xde, 0x9c, 0x46, + 0x88, 0x89, 0xf6, 0xdc, 0x3b, 0x83, 0xa4, 0x32, 0x6a, 0x5b, 0x18, 0xf5, 0x75, 0xed, 0xdd, 0xd9, + 0xf9, 0xc4, 0x95, 0x19, 0x51, 0x9b, 0xfe, 0x80, 0xa0, 0x2c, 0xfa, 0x9d, 0xe8, 0x47, 0xb8, 0xa4, + 0xbd, 0x67, 0xbc, 0x71, 0xab, 0x5e, 0x0c, 0x96, 0x07, 0x1f, 0x13, 0x6b, 0x0f, 0x3b, 0x1e, 0xeb, + 0x6b, 0xdf, 0x11, 0xf8, 0x3e, 0xd0, 0xbe, 0x39, 0x9b, 0xd3, 0xa3, 0x9d, 0x5d, 0x2d, 0x88, 0xc0, + 0xd6, 0x29, 0x07, 0xb7, 0x35, 0xd4, 0xf6, 0xf1, 0x1d, 0x73, 0x35, 0xae, 0x53, 0xc3, 0x77, 0xa7, + 0x39, 0x33, 0xbe, 0xb5, 0x9b, 0x68, 0x81, 0xca, 0x58, 0x6d, 0xca, 0x86, 0x29, 0x7d, 0x2b, 0x75, + 0x0b, 0xbd, 0x5b, 0xe8, 0xe6, 0xf6, 0xe3, 0xef, 0xee, 0x36, 0x6d, 0xd6, 0xea, 0x1e, 0xd7, 0xea, + 0x6e, 0x47, 0x57, 0x9f, 0x5b, 0x47, 0x70, 0xe9, 0x75, 0xd7, 0x97, 0x5f, 0x68, 0xc7, 0xbf, 0xf0, + 0x9a, 0x4d, 0xd7, 0x94, 0x70, 0x72, 0xe2, 0xe7, 0xf6, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x68, + 0xf6, 0x8b, 0xc5, 0x07, 0x1e, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/docs/api.md b/docs/api.md index e3ce85035..8e13ac313 100644 --- a/docs/api.md +++ b/docs/api.md @@ -29,6 +29,7 @@ - [ListUserRevisionsRequest](#google.keytransparency.v1.ListUserRevisionsRequest) - [ListUserRevisionsResponse](#google.keytransparency.v1.ListUserRevisionsResponse) - [LogRoot](#google.keytransparency.v1.LogRoot) + - [LogRootRequest](#google.keytransparency.v1.LogRootRequest) - [MapLeaf](#google.keytransparency.v1.MapLeaf) - [MapRevision](#google.keytransparency.v1.MapRevision) - [MapRoot](#google.keytransparency.v1.MapRoot) @@ -509,6 +510,22 @@ LogRoot contains the latest log root and its consistency proof. + + +### LogRootRequest +LogRootRequest contains the information needed to requetst and verify LogRoot. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| root_hash | [bytes](#bytes) | | root_hash is the log root hash. | +| tree_size | [int64](#int64) | | tree_size is the tree_size of the last log root the client verified. | + + + + + + ### MapLeaf From 50fbf89f8ba605841cf50a91b6a3378d2ddf0385 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Mon, 8 Jul 2019 15:37:44 +0100 Subject: [PATCH 02/16] VerifyGetUser --- core/client/client.go | 1 + core/client/client_test.go | 3 +++ core/client/get_and_verify.go | 14 +++++++----- core/client/verifier/pairs.go | 32 +++++++++++++++++++++++++++ core/client/verifier/verifier_test.go | 15 +++++-------- 5 files changed, 49 insertions(+), 16 deletions(-) create mode 100644 core/client/verifier/pairs.go diff --git a/core/client/client.go b/core/client/client.go index 3cea0f570..4404c4012 100644 --- a/core/client/client.go +++ b/core/client/client.go @@ -70,6 +70,7 @@ var ( // VerifierInterface is used to verify specific outputs from Key Transparency. type VerifierInterface interface { + VerifyGetUser(trusted types.LogRootV1, req *pb.GetUserRequest, resp *pb.GetUserResponse) error // Index computes the index of a userID from a VRF proof, obtained from the server. Index(vrfProof []byte, directoryID, userID string) ([]byte, error) // VerifyMapLeaf verifies everything about a MapLeaf. diff --git a/core/client/client_test.go b/core/client/client_test.go index 14b20287d..d2fcb231e 100644 --- a/core/client/client_test.go +++ b/core/client/client_test.go @@ -303,6 +303,9 @@ func (f *fakeKeyServer) BatchQueueUserUpdate(context.Context, *pb.BatchQueueUser type fakeVerifier struct{} +func (f *fakeVerifier) VerifyGetUser(trusted types.LogRootV1, req *pb.GetUserRequest, resp *pb.GetUserResponse) error { + return nil +} func (f *fakeVerifier) Index(vrfProof []byte, directoryID, userID string) ([]byte, error) { return make([]byte, 32), nil } diff --git a/core/client/get_and_verify.go b/core/client/get_and_verify.go index 055ec9c61..580c1d27d 100644 --- a/core/client/get_and_verify.go +++ b/core/client/get_and_verify.go @@ -28,24 +28,26 @@ import ( func (c *Client) VerifiedGetUser(ctx context.Context, userID string) (*pb.MapLeaf, *types.LogRootV1, error) { c.trustedLock.Lock() defer c.trustedLock.Unlock() - resp, err := c.cli.GetUser(ctx, &pb.GetUserRequest{ + req := &pb.GetUserRequest{ DirectoryId: c.DirectoryID, UserId: userID, LastVerifiedTreeSize: int64(c.trusted.TreeSize), - }) + } + resp, err := c.cli.GetUser(ctx, req) if err != nil { return nil, nil, err } - slr, smr, err := c.VerifyRevision(resp.Revision, c.trusted) - if err != nil { + if err := c.VerifyGetUser(c.trusted, req, resp); err != nil { return nil, nil, err } - c.updateTrusted(slr) - if err := c.VerifyMapLeaf(c.DirectoryID, userID, resp.Leaf, smr); err != nil { + // TODO(gbelvin): Refactor updating the SLR into a separate tracker package. + slr, _, err := c.VerifyRevision(resp.Revision, c.trusted) + if err != nil { return nil, nil, err } + c.updateTrusted(slr) return resp.Leaf, slr, nil } diff --git a/core/client/verifier/pairs.go b/core/client/verifier/pairs.go new file mode 100644 index 000000000..e6e02ee29 --- /dev/null +++ b/core/client/verifier/pairs.go @@ -0,0 +1,32 @@ +// Copyright 2019 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package verifier + +import ( + "github.com/google/trillian/types" + + pb "github.com/google/keytransparency/core/api/v1/keytransparency_go_proto" +) + +func (v *Verifier) VerifyGetUser(trusted types.LogRootV1, req *pb.GetUserRequest, resp *pb.GetUserResponse) error { + _, smr, err := v.VerifyRevision(resp.GetRevision(), trusted) + if err != nil { + return err + } + if err := v.VerifyMapLeaf(req.GetDirectoryId(), req.GetUserId(), resp.GetLeaf(), smr); err != nil { + return err + } + return nil +} diff --git a/core/client/verifier/verifier_test.go b/core/client/verifier/verifier_test.go index 4c98d76fc..ff1716d31 100644 --- a/core/client/verifier/verifier_test.go +++ b/core/client/verifier/verifier_test.go @@ -55,19 +55,14 @@ func TestVerifyGetUserResponse(t *testing.T) { t.Fatalf("Unmarshal(): %v", err) } - trusted := &types.LogRootV1{} for _, tc := range getUserResponses { t.Run(tc.Desc, func(t *testing.T) { - slr, smr, err := v.VerifyRevision(tc.GetUserResp.Revision, *trusted) - if err != nil { - t.Errorf("VerifyRevision(): %v", err) + trusted := &types.LogRootV1{ + TreeSize: uint64(tc.LogRootRequest.GetTreeSize()), + RootHash: tc.LogRootRequest.GetRootHash(), } - if err == nil && tc.TrustNewLog { - trusted = slr - } - if err := v.VerifyMapLeaf(directoryPB.DirectoryId, tc.UserID, - tc.GetUserResp.Leaf, smr); err != nil { - t.Errorf("VerifyMapLeaf(): %v)", err) + if err := v.VerifyGetUser(trusted, tc.GetUserReq, tc.GetUserResp); err != nil { + t.Errorf("VerifyGetUser(): %v)", err) } }) } From 610fc21ddc37c55a15890ac8cede8b9d6bd0e6d0 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Mon, 8 Jul 2019 17:02:45 +0100 Subject: [PATCH 03/16] Transcript protobuf --- core/api/gen.go | 1 + core/api/transcript/transcript.proto | 54 +++ core/api/transcript_go_proto/transcript.pb.go | 384 ++++++++++++++++++ 3 files changed, 439 insertions(+) create mode 100644 core/api/transcript/transcript.proto create mode 100644 core/api/transcript_go_proto/transcript.pb.go diff --git a/core/api/gen.go b/core/api/gen.go index 03939e20e..c3b83474e 100644 --- a/core/api/gen.go +++ b/core/api/gen.go @@ -18,5 +18,6 @@ package api //go:generate protoc -I=. -I=$GOPATH/src/github.com/google/trillian/ -I=$GOPATH/src/github.com/googleapis/googleapis/ -I=$GOPATH/src/github.com/google/tink/proto --grpc-gateway_out=logtostderr=true:$GOPATH/src v1/keytransparency.proto v1/admin.proto v1/frontend.proto //go:generate protoc -I=. -I=$GOPATH/src/github.com/google/trillian/ -I=$GOPATH/src/github.com/googleapis/googleapis/ -I=$GOPATH/src/github.com/google/tink/proto --doc_out=markdown,api.md:../../docs/ v1/keytransparency.proto v1/admin.proto v1/frontend.proto +//go:generate protoc -I=. -I=$GOPATH/src/github.com/google/trillian/ -I=$GOPATH/src/github.com/googleapis/googleapis/ -I=$GOPATH/src/github.com/google/tink/proto --go_out=,plugins=grpc:$GOPATH/src transcript/transcript.proto //go:generate protoc -I=. -I=$GOPATH/src/github.com/google/trillian/ -I=$GOPATH/src/github.com/googleapis/googleapis/ -I=$GOPATH/src/github.com/google/tink/proto --go_out=,plugins=grpc:$GOPATH/src monitor/v1/monitor.proto //go:generate protoc -I=. -I=$GOPATH/src/github.com/google/trillian/ -I=$GOPATH/src/github.com/googleapis/googleapis/ -I=$GOPATH/src/github.com/google/tink/proto --grpc-gateway_out=logtostderr=true:$GOPATH/src monitor/v1/monitor.proto diff --git a/core/api/transcript/transcript.proto b/core/api/transcript/transcript.proto new file mode 100644 index 000000000..c1d851371 --- /dev/null +++ b/core/api/transcript/transcript.proto @@ -0,0 +1,54 @@ +// Copyright 2019 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.keytransparency.transcript; + +option go_package = "github.com/google/keytransparency/core/api/transcript_go_proto"; + +import "v1/keytransparency.proto"; +import "v1/admin.proto"; + +message Transcript { + string description = 1; + v1.Directory directory = 2; + repeated Unary rpcs = 3; +} + +message Unary { + string full_method = 1; + string desc = 2; + v1.LogRootRequest last_verified_log_root = 3; + oneof req_resp_pair { + GetUser get_user = 4; + BatchGetUser batch_get_user = 5; + BatchListUserRevisions batch_list_user_revisions = 6; + } +} + +message GetUser { + v1.GetUserRequest request = 1; + v1.GetUserResponse response = 2; +} + +message BatchGetUser { + v1.BatchGetUserRequest request = 1; + v1.BatchGetUserResponse response = 2; +} + +message BatchListUserRevisions { + v1.BatchListUserRevisionsRequest request = 1; + v1.BatchListUserRevisionsResponse response = 2; +} diff --git a/core/api/transcript_go_proto/transcript.pb.go b/core/api/transcript_go_proto/transcript.pb.go new file mode 100644 index 000000000..e3de12ec8 --- /dev/null +++ b/core/api/transcript_go_proto/transcript.pb.go @@ -0,0 +1,384 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: transcript/transcript.proto + +package transcript_go_proto + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + keytransparency_go_proto "github.com/google/keytransparency/core/api/v1/keytransparency_go_proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type Transcript struct { + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + Directory *keytransparency_go_proto.Directory `protobuf:"bytes,2,opt,name=directory,proto3" json:"directory,omitempty"` + Rpcs []*Unary `protobuf:"bytes,3,rep,name=rpcs,proto3" json:"rpcs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Transcript) Reset() { *m = Transcript{} } +func (m *Transcript) String() string { return proto.CompactTextString(m) } +func (*Transcript) ProtoMessage() {} +func (*Transcript) Descriptor() ([]byte, []int) { + return fileDescriptor_5bd339d1227847d1, []int{0} +} + +func (m *Transcript) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Transcript.Unmarshal(m, b) +} +func (m *Transcript) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Transcript.Marshal(b, m, deterministic) +} +func (m *Transcript) XXX_Merge(src proto.Message) { + xxx_messageInfo_Transcript.Merge(m, src) +} +func (m *Transcript) XXX_Size() int { + return xxx_messageInfo_Transcript.Size(m) +} +func (m *Transcript) XXX_DiscardUnknown() { + xxx_messageInfo_Transcript.DiscardUnknown(m) +} + +var xxx_messageInfo_Transcript proto.InternalMessageInfo + +func (m *Transcript) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +func (m *Transcript) GetDirectory() *keytransparency_go_proto.Directory { + if m != nil { + return m.Directory + } + return nil +} + +func (m *Transcript) GetRpcs() []*Unary { + if m != nil { + return m.Rpcs + } + return nil +} + +type Unary struct { + FullMethod string `protobuf:"bytes,1,opt,name=full_method,json=fullMethod,proto3" json:"full_method,omitempty"` + Desc string `protobuf:"bytes,2,opt,name=desc,proto3" json:"desc,omitempty"` + LastVerifiedLogRoot *keytransparency_go_proto.LogRootRequest `protobuf:"bytes,3,opt,name=last_verified_log_root,json=lastVerifiedLogRoot,proto3" json:"last_verified_log_root,omitempty"` + // Types that are valid to be assigned to ReqRespPair: + // *Unary_GetUser + // *Unary_BatchGetUser + // *Unary_BatchListUserRevisions + ReqRespPair isUnary_ReqRespPair `protobuf_oneof:"req_resp_pair"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Unary) Reset() { *m = Unary{} } +func (m *Unary) String() string { return proto.CompactTextString(m) } +func (*Unary) ProtoMessage() {} +func (*Unary) Descriptor() ([]byte, []int) { + return fileDescriptor_5bd339d1227847d1, []int{1} +} + +func (m *Unary) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Unary.Unmarshal(m, b) +} +func (m *Unary) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Unary.Marshal(b, m, deterministic) +} +func (m *Unary) XXX_Merge(src proto.Message) { + xxx_messageInfo_Unary.Merge(m, src) +} +func (m *Unary) XXX_Size() int { + return xxx_messageInfo_Unary.Size(m) +} +func (m *Unary) XXX_DiscardUnknown() { + xxx_messageInfo_Unary.DiscardUnknown(m) +} + +var xxx_messageInfo_Unary proto.InternalMessageInfo + +func (m *Unary) GetFullMethod() string { + if m != nil { + return m.FullMethod + } + return "" +} + +func (m *Unary) GetDesc() string { + if m != nil { + return m.Desc + } + return "" +} + +func (m *Unary) GetLastVerifiedLogRoot() *keytransparency_go_proto.LogRootRequest { + if m != nil { + return m.LastVerifiedLogRoot + } + return nil +} + +type isUnary_ReqRespPair interface { + isUnary_ReqRespPair() +} + +type Unary_GetUser struct { + GetUser *GetUser `protobuf:"bytes,4,opt,name=get_user,json=getUser,proto3,oneof"` +} + +type Unary_BatchGetUser struct { + BatchGetUser *BatchGetUser `protobuf:"bytes,5,opt,name=batch_get_user,json=batchGetUser,proto3,oneof"` +} + +type Unary_BatchListUserRevisions struct { + BatchListUserRevisions *BatchListUserRevisions `protobuf:"bytes,6,opt,name=batch_list_user_revisions,json=batchListUserRevisions,proto3,oneof"` +} + +func (*Unary_GetUser) isUnary_ReqRespPair() {} + +func (*Unary_BatchGetUser) isUnary_ReqRespPair() {} + +func (*Unary_BatchListUserRevisions) isUnary_ReqRespPair() {} + +func (m *Unary) GetReqRespPair() isUnary_ReqRespPair { + if m != nil { + return m.ReqRespPair + } + return nil +} + +func (m *Unary) GetGetUser() *GetUser { + if x, ok := m.GetReqRespPair().(*Unary_GetUser); ok { + return x.GetUser + } + return nil +} + +func (m *Unary) GetBatchGetUser() *BatchGetUser { + if x, ok := m.GetReqRespPair().(*Unary_BatchGetUser); ok { + return x.BatchGetUser + } + return nil +} + +func (m *Unary) GetBatchListUserRevisions() *BatchListUserRevisions { + if x, ok := m.GetReqRespPair().(*Unary_BatchListUserRevisions); ok { + return x.BatchListUserRevisions + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*Unary) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*Unary_GetUser)(nil), + (*Unary_BatchGetUser)(nil), + (*Unary_BatchListUserRevisions)(nil), + } +} + +type GetUser struct { + Request *keytransparency_go_proto.GetUserRequest `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"` + Response *keytransparency_go_proto.GetUserResponse `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUser) Reset() { *m = GetUser{} } +func (m *GetUser) String() string { return proto.CompactTextString(m) } +func (*GetUser) ProtoMessage() {} +func (*GetUser) Descriptor() ([]byte, []int) { + return fileDescriptor_5bd339d1227847d1, []int{2} +} + +func (m *GetUser) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUser.Unmarshal(m, b) +} +func (m *GetUser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUser.Marshal(b, m, deterministic) +} +func (m *GetUser) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUser.Merge(m, src) +} +func (m *GetUser) XXX_Size() int { + return xxx_messageInfo_GetUser.Size(m) +} +func (m *GetUser) XXX_DiscardUnknown() { + xxx_messageInfo_GetUser.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUser proto.InternalMessageInfo + +func (m *GetUser) GetRequest() *keytransparency_go_proto.GetUserRequest { + if m != nil { + return m.Request + } + return nil +} + +func (m *GetUser) GetResponse() *keytransparency_go_proto.GetUserResponse { + if m != nil { + return m.Response + } + return nil +} + +type BatchGetUser struct { + Request *keytransparency_go_proto.BatchGetUserRequest `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"` + Response *keytransparency_go_proto.BatchGetUserResponse `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BatchGetUser) Reset() { *m = BatchGetUser{} } +func (m *BatchGetUser) String() string { return proto.CompactTextString(m) } +func (*BatchGetUser) ProtoMessage() {} +func (*BatchGetUser) Descriptor() ([]byte, []int) { + return fileDescriptor_5bd339d1227847d1, []int{3} +} + +func (m *BatchGetUser) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BatchGetUser.Unmarshal(m, b) +} +func (m *BatchGetUser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BatchGetUser.Marshal(b, m, deterministic) +} +func (m *BatchGetUser) XXX_Merge(src proto.Message) { + xxx_messageInfo_BatchGetUser.Merge(m, src) +} +func (m *BatchGetUser) XXX_Size() int { + return xxx_messageInfo_BatchGetUser.Size(m) +} +func (m *BatchGetUser) XXX_DiscardUnknown() { + xxx_messageInfo_BatchGetUser.DiscardUnknown(m) +} + +var xxx_messageInfo_BatchGetUser proto.InternalMessageInfo + +func (m *BatchGetUser) GetRequest() *keytransparency_go_proto.BatchGetUserRequest { + if m != nil { + return m.Request + } + return nil +} + +func (m *BatchGetUser) GetResponse() *keytransparency_go_proto.BatchGetUserResponse { + if m != nil { + return m.Response + } + return nil +} + +type BatchListUserRevisions struct { + Request *keytransparency_go_proto.BatchListUserRevisionsRequest `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"` + Response *keytransparency_go_proto.BatchListUserRevisionsResponse `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BatchListUserRevisions) Reset() { *m = BatchListUserRevisions{} } +func (m *BatchListUserRevisions) String() string { return proto.CompactTextString(m) } +func (*BatchListUserRevisions) ProtoMessage() {} +func (*BatchListUserRevisions) Descriptor() ([]byte, []int) { + return fileDescriptor_5bd339d1227847d1, []int{4} +} + +func (m *BatchListUserRevisions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BatchListUserRevisions.Unmarshal(m, b) +} +func (m *BatchListUserRevisions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BatchListUserRevisions.Marshal(b, m, deterministic) +} +func (m *BatchListUserRevisions) XXX_Merge(src proto.Message) { + xxx_messageInfo_BatchListUserRevisions.Merge(m, src) +} +func (m *BatchListUserRevisions) XXX_Size() int { + return xxx_messageInfo_BatchListUserRevisions.Size(m) +} +func (m *BatchListUserRevisions) XXX_DiscardUnknown() { + xxx_messageInfo_BatchListUserRevisions.DiscardUnknown(m) +} + +var xxx_messageInfo_BatchListUserRevisions proto.InternalMessageInfo + +func (m *BatchListUserRevisions) GetRequest() *keytransparency_go_proto.BatchListUserRevisionsRequest { + if m != nil { + return m.Request + } + return nil +} + +func (m *BatchListUserRevisions) GetResponse() *keytransparency_go_proto.BatchListUserRevisionsResponse { + if m != nil { + return m.Response + } + return nil +} + +func init() { + proto.RegisterType((*Transcript)(nil), "google.keytransparency.transcript.Transcript") + proto.RegisterType((*Unary)(nil), "google.keytransparency.transcript.Unary") + proto.RegisterType((*GetUser)(nil), "google.keytransparency.transcript.GetUser") + proto.RegisterType((*BatchGetUser)(nil), "google.keytransparency.transcript.BatchGetUser") + proto.RegisterType((*BatchListUserRevisions)(nil), "google.keytransparency.transcript.BatchListUserRevisions") +} + +func init() { proto.RegisterFile("transcript/transcript.proto", fileDescriptor_5bd339d1227847d1) } + +var fileDescriptor_5bd339d1227847d1 = []byte{ + // 514 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0x41, 0x6f, 0xd3, 0x30, + 0x14, 0xc7, 0x17, 0xba, 0xad, 0xeb, 0xeb, 0x18, 0x92, 0x91, 0xaa, 0x30, 0x0e, 0x94, 0x8a, 0x43, + 0xd9, 0x21, 0x51, 0xc7, 0x85, 0x49, 0x08, 0xa1, 0x82, 0x58, 0x25, 0xc6, 0xc5, 0xa2, 0x20, 0x71, + 0xc0, 0x4a, 0xd3, 0xb7, 0xd4, 0x22, 0x8d, 0x33, 0xdb, 0x8d, 0xd4, 0x2f, 0xc2, 0x37, 0xe0, 0xce, + 0x77, 0xe0, 0xc0, 0xd7, 0x42, 0x71, 0x92, 0x36, 0x4a, 0x46, 0x17, 0x71, 0xca, 0xb3, 0x9f, 0xff, + 0x3f, 0xff, 0x9f, 0x5f, 0xf4, 0xe0, 0xb1, 0x96, 0x5e, 0xa4, 0x7c, 0xc9, 0x63, 0xed, 0x6e, 0x43, + 0x27, 0x96, 0x42, 0x0b, 0xf2, 0x34, 0x10, 0x22, 0x08, 0xd1, 0xf9, 0x8e, 0x6b, 0x93, 0x8b, 0x3d, + 0x89, 0x91, 0xbf, 0x76, 0xb6, 0x07, 0x4f, 0xed, 0x64, 0xe4, 0x56, 0xd3, 0x46, 0x7c, 0x7a, 0x92, + 0x8c, 0x5c, 0x6f, 0xbe, 0xe4, 0x51, 0xb6, 0x1e, 0xfc, 0xb2, 0x00, 0x3e, 0x6d, 0x84, 0xa4, 0x0f, + 0xdd, 0x39, 0x66, 0x31, 0x17, 0x91, 0x6d, 0xf5, 0xad, 0x61, 0x87, 0x96, 0xb7, 0xc8, 0x18, 0x3a, + 0x73, 0x2e, 0xd1, 0xd7, 0x42, 0xae, 0xed, 0x7b, 0x7d, 0x6b, 0xd8, 0x3d, 0x7f, 0xe6, 0xfc, 0xc3, + 0x51, 0x32, 0x72, 0xde, 0x15, 0x67, 0xe9, 0x56, 0x46, 0x5e, 0xc1, 0xbe, 0x8c, 0x7d, 0x65, 0xb7, + 0xfa, 0xad, 0x61, 0xf7, 0x7c, 0xe8, 0xdc, 0x59, 0x90, 0x33, 0x8d, 0x3c, 0xb9, 0xa6, 0x46, 0x35, + 0xf8, 0xd3, 0x82, 0x03, 0xb3, 0x26, 0x4f, 0xa0, 0x7b, 0xbd, 0x0a, 0x43, 0xb6, 0x44, 0xbd, 0x10, + 0xf3, 0xdc, 0x2d, 0xa4, 0x5b, 0x1f, 0xcd, 0x0e, 0x21, 0xb0, 0x9f, 0x7a, 0x37, 0x3e, 0x3b, 0xd4, + 0xc4, 0xe4, 0x1b, 0xf4, 0x42, 0x4f, 0x69, 0x96, 0xa0, 0xe4, 0xd7, 0x1c, 0xe7, 0x2c, 0x14, 0x01, + 0x93, 0x42, 0x68, 0xbb, 0x65, 0xaa, 0x79, 0xbe, 0xa3, 0x9a, 0x2b, 0x11, 0x50, 0x21, 0x34, 0xc5, + 0x9b, 0x15, 0x2a, 0x4d, 0x1f, 0xa6, 0xa0, 0xcf, 0x39, 0x27, 0xcf, 0x91, 0x4b, 0x38, 0x0a, 0x50, + 0xb3, 0x95, 0x42, 0x69, 0xef, 0x1b, 0xe2, 0x59, 0x83, 0x02, 0x2f, 0x51, 0x4f, 0x15, 0xca, 0xc9, + 0x1e, 0x6d, 0x07, 0x59, 0x48, 0xbe, 0xc0, 0xc9, 0xcc, 0xd3, 0xfe, 0x82, 0x6d, 0x70, 0x07, 0x06, + 0xe7, 0x36, 0xc0, 0x8d, 0x53, 0xe1, 0x96, 0x79, 0x3c, 0x2b, 0xad, 0x49, 0x02, 0x8f, 0x32, 0x70, + 0xc8, 0x55, 0x46, 0x66, 0x12, 0x13, 0xae, 0xb8, 0x88, 0x94, 0x7d, 0x68, 0xee, 0xb8, 0x68, 0x7a, + 0xc7, 0x15, 0x57, 0x06, 0x4a, 0x0b, 0xc0, 0x64, 0x8f, 0xf6, 0x66, 0xb7, 0x66, 0xc6, 0x0f, 0xe0, + 0xbe, 0xc4, 0x1b, 0x26, 0x51, 0xc5, 0x2c, 0xf6, 0xb8, 0x1c, 0xfc, 0xb0, 0xa0, 0x5d, 0x98, 0x7a, + 0x0b, 0x6d, 0x99, 0x3d, 0xab, 0xe9, 0xe3, 0xee, 0x3e, 0xe4, 0xa2, 0xa2, 0x0f, 0x85, 0x92, 0xbc, + 0x87, 0xa3, 0x94, 0x2e, 0x22, 0x85, 0xf9, 0xbf, 0x79, 0xd6, 0x84, 0x92, 0x29, 0xe8, 0x46, 0x3b, + 0xf8, 0x69, 0xc1, 0x71, 0xf9, 0x09, 0xc9, 0xa4, 0xea, 0xce, 0xd9, 0xc1, 0x2d, 0x2b, 0x6b, 0x16, + 0x3f, 0xd4, 0x2c, 0xba, 0x8d, 0x51, 0x35, 0x9f, 0xbf, 0x2d, 0xe8, 0xdd, 0xde, 0x06, 0x42, 0xab, + 0x8e, 0x5f, 0xde, 0x75, 0x4d, 0x8d, 0x51, 0xf3, 0x3e, 0xad, 0x79, 0xbf, 0xf8, 0x0f, 0x68, 0xb5, + 0x8a, 0xf1, 0x9b, 0xaf, 0xaf, 0x03, 0xae, 0x17, 0xab, 0x99, 0xe3, 0x8b, 0xa5, 0x9b, 0x01, 0xab, + 0xe3, 0xcb, 0xf5, 0x85, 0x44, 0xd7, 0x8b, 0x79, 0x69, 0x1e, 0xb2, 0x40, 0x30, 0x33, 0xc5, 0x66, + 0x87, 0xe6, 0xf3, 0xe2, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x16, 0x72, 0xfd, 0x38, 0x05, + 0x00, 0x00, +} From 53974050425180d2f56807acdc4ea076065b45e9 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Mon, 8 Jul 2019 17:28:46 +0100 Subject: [PATCH 04/16] Use new transcript proto --- core/integration/alltests.go | 14 +++--- core/integration/client_tests.go | 72 +++++++++++++++++++------------ core/integration/monitor_tests.go | 4 +- core/testdata/types.go | 8 ++-- impl/integration/main_test.go | 31 ++++++------- 5 files changed, 71 insertions(+), 58 deletions(-) diff --git a/core/integration/alltests.go b/core/integration/alltests.go index 5d7a8a696..b9576e789 100644 --- a/core/integration/alltests.go +++ b/core/integration/alltests.go @@ -22,9 +22,9 @@ import ( "time" "github.com/google/keytransparency/core/client" - "github.com/google/keytransparency/core/testdata" "google.golang.org/grpc" + tpb "github.com/google/keytransparency/core/api/transcript_go_proto" pb "github.com/google/keytransparency/core/api/v1/keytransparency_go_proto" spb "github.com/google/keytransparency/core/sequencer/sequencer_go_proto" ) @@ -45,10 +45,8 @@ type CallOptions func(userID string) []grpc.CallOption // NamedTestFn is a binding between a readable test name (used for a Go subtest) // and a function that performs the test, given a test environment. type NamedTestFn struct { - Name string - Fn func(context.Context, *Env, *testing.T) []testdata.ResponseVector - DirectoryFilename string - RespFilename string + Name string + Fn func(context.Context, *Env, *testing.T) []*tpb.Unary } // AllTests contains all the integration tests. @@ -56,12 +54,12 @@ type NamedTestFn struct { // This is done so that tests can be run in different environments in a portable way. var AllTests = []NamedTestFn{ // Client Tests - {Name: "TestEmptyGetAndUpdate", Fn: TestEmptyGetAndUpdate, DirectoryFilename: "directory_get_and_update.json", RespFilename: "get_and_update.json"}, - {Name: "TestBatchGetUser", Fn: TestBatchGetUser, DirectoryFilename: "directory_batch_get_user.json", RespFilename: "batch_get_user.json"}, + {Name: "TestEmptyGetAndUpdate", Fn: TestEmptyGetAndUpdate}, + {Name: "TestBatchGetUser", Fn: TestBatchGetUser}, {Name: "TestListHistory", Fn: TestListHistory}, {Name: "TestBatchUpdate", Fn: TestBatchUpdate}, {Name: "TestBatchCreate", Fn: TestBatchCreate}, - {Name: "TestBatchListUserRevisions", Fn: TestBatchListUserRevisions, DirectoryFilename: "directory_batch_list_user_revisions.json", RespFilename: "batch_list_user_revisions.json"}, + {Name: "TestBatchListUserRevisions", Fn: TestBatchListUserRevisions}, // Monitor Tests {Name: "TestMonitor", Fn: TestMonitor}, } diff --git a/core/integration/client_tests.go b/core/integration/client_tests.go index 75d3bee45..34e724eb3 100644 --- a/core/integration/client_tests.go +++ b/core/integration/client_tests.go @@ -25,7 +25,6 @@ import ( "github.com/google/keytransparency/core/client" "github.com/google/keytransparency/core/sequencer" - "github.com/google/keytransparency/core/testdata" "github.com/google/keytransparency/core/testutil" "github.com/google/trillian/types" @@ -35,6 +34,7 @@ import ( "google.golang.org/grpc/codes" "google.golang.org/grpc/status" + tpb "github.com/google/keytransparency/core/api/transcript_go_proto" pb "github.com/google/keytransparency/core/api/v1/keytransparency_go_proto" spb "github.com/google/keytransparency/core/sequencer/sequencer_go_proto" ) @@ -94,7 +94,7 @@ func genUserIDs(count int) []string { } // TestBatchCreate verifies that the batch functions are working correctly. -func TestBatchCreate(ctx context.Context, env *Env, t *testing.T) []testdata.ResponseVector { +func TestBatchCreate(ctx context.Context, env *Env, t *testing.T) []*tpb.Unary { go runSequencer(ctx, t, env.Directory.DirectoryId, env) signers1 := testutil.SignKeysetsFromPEMs(testPrivKey1) authorizedKeys1 := testutil.VerifyKeysetFromPEMs(testPubKey1) @@ -129,7 +129,7 @@ func TestBatchCreate(ctx context.Context, env *Env, t *testing.T) []testdata.Res } // TestBatchUpdate verifies that the batch functions are working correctly. -func TestBatchUpdate(ctx context.Context, env *Env, t *testing.T) []testdata.ResponseVector { +func TestBatchUpdate(ctx context.Context, env *Env, t *testing.T) []*tpb.Unary { go runSequencer(ctx, t, env.Directory.DirectoryId, env) signers1 := testutil.SignKeysetsFromPEMs(testPrivKey1) authorizedKeys1 := testutil.VerifyKeysetFromPEMs(testPubKey1) @@ -167,7 +167,7 @@ func TestBatchUpdate(ctx context.Context, env *Env, t *testing.T) []testdata.Res } // TestEmptyGetAndUpdate verifies set/get semantics. -func TestEmptyGetAndUpdate(ctx context.Context, env *Env, t *testing.T) []testdata.ResponseVector { +func TestEmptyGetAndUpdate(ctx context.Context, env *Env, t *testing.T) []*tpb.Unary { go runSequencer(ctx, t, env.Directory.DirectoryId, env) // Create lists of signers. @@ -181,7 +181,7 @@ func TestEmptyGetAndUpdate(ctx context.Context, env *Env, t *testing.T) []testda authorizedKeys3 := testutil.VerifyKeysetFromPEMs("", testPubKey2) // Collect a list of valid GetUserResponses - getUserResps := make([]testdata.ResponseVector, 0) + transcript := []*tpb.Unary{} // Start with an empty trusted log root slr := &types.LogRootV1{} @@ -271,11 +271,18 @@ func TestEmptyGetAndUpdate(ctx context.Context, env *Env, t *testing.T) []testda if trust { slr = newslr } - getUserResps = append(getUserResps, testdata.ResponseVector{ - Desc: tc.desc, - UserID: tc.userID, - GetUserResp: e, - TrustNewLog: trust, + transcript = append(transcript, &tpb.Unary{ + Desc: tc.desc, + LastVerifiedLogRoot: &pb.LogRootRequest{ + TreeSize: int64(slr.TreeSize), + RootHash: slr.RootHash, + }, + ReqRespPair: &tpb.Unary_GetUser{GetUser: &tpb.GetUser{ + Request: &pb.GetUserRequest{ + UserId: tc.userID, + }, + Response: e, + }}, }) // Update profile. @@ -294,7 +301,7 @@ func TestEmptyGetAndUpdate(ctx context.Context, env *Env, t *testing.T) []testda } }) } - return getUserResps + return transcript } // CheckProfile verifies that the retrieved profile of userID is correct. @@ -321,11 +328,11 @@ func CheckProfile(ctx context.Context, env *Env, userID string, wantProfile []by } // TestBatchGetUser tests fetching multiple users in a single request. -func TestBatchGetUser(ctx context.Context, env *Env, t *testing.T) []testdata.ResponseVector { +func TestBatchGetUser(ctx context.Context, env *Env, t *testing.T) []*tpb.Unary { go runSequencer(ctx, t, env.Directory.DirectoryId, env) signers1 := testutil.SignKeysetsFromPEMs(testPrivKey1) authorizedKeys1 := testutil.VerifyKeysetFromPEMs(testPubKey1) - batchResps := make([]testdata.ResponseVector, 0) + transcript := []*tpb.Unary{} users := []*client.User{ { @@ -397,7 +404,8 @@ func TestBatchGetUser(ctx context.Context, env *Env, t *testing.T) []testdata.Re if err != nil { t.Fatalf("BatchGetUser(): %v", err) } - _, smr, err := env.Client.VerifyRevision(resp.Revision, types.LogRootV1{}) + slr := types.LogRootV1{} + _, smr, err := env.Client.VerifyRevision(resp.Revision, slr) if err != nil { t.Fatalf("VerifyRevision(): %v", nil) } @@ -409,18 +417,26 @@ func TestBatchGetUser(ctx context.Context, env *Env, t *testing.T) []testdata.Re t.Fatalf("key mismatch for %s: %s, want %s", userID, got, want) } } - batchResps = append(batchResps, testdata.ResponseVector{ - Desc: tc.desc, - UserIDs: userIDs, - BatchGetUserResp: resp, + transcript = append(transcript, &tpb.Unary{ + Desc: tc.desc, + LastVerifiedLogRoot: &pb.LogRootRequest{ + TreeSize: int64(slr.TreeSize), + RootHash: slr.RootHash, + }, + ReqRespPair: &tpb.Unary_BatchGetUser{&tpb.BatchGetUser{ + Request: &pb.BatchGetUserRequest{ + UserIds: userIDs, + }, + Response: resp, + }}, }) }) } - return batchResps + return transcript } // TestListHistory verifies that repeated history values get collapsed properly. -func TestListHistory(ctx context.Context, env *Env, t *testing.T) []testdata.ResponseVector { +func TestListHistory(ctx context.Context, env *Env, t *testing.T) []*tpb.Unary { userID := "bob" opts := env.CallOpts(userID) @@ -541,7 +557,7 @@ func sortHistory(history map[uint64][]byte) [][]byte { } // TestBatchListUserRevisions verifies that BatchListUserRevisions() in keyserver works properly. -func TestBatchListUserRevisions(ctx context.Context, env *Env, t *testing.T) []testdata.ResponseVector { +func TestBatchListUserRevisions(ctx context.Context, env *Env, t *testing.T) []*tpb.Unary { // Create lists of signers and authorized keys signers := testutil.SignKeysetsFromPEMs(testPrivKey1) authorizedKeys := testutil.VerifyKeysetFromPEMs(testPubKey1) @@ -553,7 +569,7 @@ func TestBatchListUserRevisions(ctx context.Context, env *Env, t *testing.T) []t request := &pb.BatchListUserRevisionsRequest{ DirectoryId: env.Directory.DirectoryId, } - responseVec := make([]testdata.ResponseVector, 0) + transcript := []*tpb.Unary{} for _, tc := range []struct { desc string start, end int64 @@ -580,10 +596,12 @@ func TestBatchListUserRevisions(ctx context.Context, env *Env, t *testing.T) []t if err != nil { return } - responseVec = append(responseVec, testdata.ResponseVector{ - Desc: tc.desc, - UserIDs: tc.userIDs, - BatchListUserRevisionsResp: response, + transcript = append(transcript, &tpb.Unary{ + Desc: tc.desc, + ReqRespPair: &tpb.Unary_BatchListUserRevisions{&tpb.BatchListUserRevisions{ + Request: request, + Response: response, + }}, }) var got [][]byte for _, rev := range response.MapRevisions { @@ -596,7 +614,7 @@ func TestBatchListUserRevisions(ctx context.Context, env *Env, t *testing.T) []t } }) } - return responseVec + return transcript } func (env *Env) setupHistoryMultipleUsers(ctx context.Context, directory *pb.Directory, signers []tink.Signer, diff --git a/core/integration/monitor_tests.go b/core/integration/monitor_tests.go index 89ea349ad..bdf8eea97 100644 --- a/core/integration/monitor_tests.go +++ b/core/integration/monitor_tests.go @@ -23,7 +23,6 @@ import ( "github.com/google/keytransparency/core/client" "github.com/google/keytransparency/core/fake" "github.com/google/keytransparency/core/monitor" - "github.com/google/keytransparency/core/testdata" "github.com/google/keytransparency/core/testutil" "github.com/google/tink/go/tink" "google.golang.org/grpc/codes" @@ -33,6 +32,7 @@ import ( "github.com/google/trillian/crypto/keys/pem" "github.com/google/trillian/types" + tpb "github.com/google/keytransparency/core/api/transcript_go_proto" spb "github.com/google/keytransparency/core/sequencer/sequencer_go_proto" ) @@ -45,7 +45,7 @@ amFdON6OhjYnBmJWe4fVnbxny0PfpkvXtg== ) // TestMonitor verifies that the monitor correctly verifies transitions between revisions. -func TestMonitor(ctx context.Context, env *Env, t *testing.T) []testdata.ResponseVector { +func TestMonitor(ctx context.Context, env *Env, t *testing.T) []*tpb.Unary { // setup monitor: privKey, err := pem.UnmarshalPrivateKey(monitorPrivKey, "") if err != nil { diff --git a/core/testdata/types.go b/core/testdata/types.go index 499c6792a..db177e7c7 100644 --- a/core/testdata/types.go +++ b/core/testdata/types.go @@ -21,10 +21,12 @@ import ( // ResponseVector is a captured response that should verify without errors. type ResponseVector struct { - Desc string - UserID string + Desc string + Method string + + GetUserReq *pb.GetUserRequest GetUserResp *pb.GetUserResponse - TrustNewLog bool + LogRootRequest *pb.LogRootRequest UserIDs []string BatchListUserRevisionsResp *pb.BatchListUserRevisionsResponse BatchGetUserResp *pb.BatchGetUserResponse diff --git a/impl/integration/main_test.go b/impl/integration/main_test.go index d70372dac..3778e65c0 100644 --- a/impl/integration/main_test.go +++ b/impl/integration/main_test.go @@ -16,7 +16,6 @@ package integration import ( "context" - "encoding/json" "flag" "fmt" "io/ioutil" @@ -27,6 +26,8 @@ import ( "github.com/google/keytransparency/core/integration" "github.com/google/keytransparency/core/testdata" "github.com/google/trillian/storage/testdb" + + tpb "github.com/google/keytransparency/core/api/transcript_go_proto" ) var ( @@ -57,7 +58,7 @@ func TestIntegration(t *testing.T) { defer cancel() resps := test.Fn(ctx, env.Env, t) if *generate && resps != nil { - if err = SaveTestVectors(*testdataDir, test.DirectoryFilename, test.RespFilename, env.Env, resps); err != nil { + if err = SaveTestVectors(*testdataDir, test.name, env.Env, resps); err != nil { t.Fatalf("saveTestVectors() failed: %v", err) } } @@ -67,29 +68,23 @@ func TestIntegration(t *testing.T) { } // SaveTestVectors generates test vectors for interoprability testing. -func SaveTestVectors(dir, directoryFilename, responseFilename string, env *integration.Env, resps []testdata.ResponseVector) error { - marshaler := &jsonpb.Marshaler{ - Indent: "\t", +func SaveTestVectors(testDataDir, testName string, env *integration.Env, rpcs []*tpb.Unary) error { + t := &tpb.Transcript{ + Description: testName, + Directory: env.Directory, + Rpcs: rpcs, } + marshaler := &jsonpb.Marshaler{Indent: "\t"} + // Output all key material needed to verify the test vectors. - directoryFile := dir + "/" + directoryFilename - f, err := os.Create(directoryFile) + testFile := path.Join(testDataDir, testName) + f, err := os.Create(testFile) if err != nil { return err } defer f.Close() - if err := marshaler.Marshal(f, env.Directory); err != nil { + if err := marshaler.Marshal(f, t); err != nil { return fmt.Errorf("jsonpb.Marshal(): %v", err) } - - // Save list of responses - respFile := dir + "/" + responseFilename - out, err := json.MarshalIndent(resps, "", "\t") - if err != nil { - return fmt.Errorf("json.Marshal(): %v", err) - } - if err := ioutil.WriteFile(respFile, out, 0666); err != nil { - return fmt.Errorf("writeFile(%v): %v", respFile, err) - } return nil } From 95e3b07b1e3f91dcb3213f256982f922141c5df7 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Mon, 8 Jul 2019 17:55:43 +0100 Subject: [PATCH 05/16] Remove unessesary func() in test_main --- impl/integration/main_test.go | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/impl/integration/main_test.go b/impl/integration/main_test.go index 3778e65c0..d66d2bffb 100644 --- a/impl/integration/main_test.go +++ b/impl/integration/main_test.go @@ -18,13 +18,12 @@ import ( "context" "flag" "fmt" - "io/ioutil" "os" + "path" "testing" "github.com/golang/protobuf/jsonpb" "github.com/google/keytransparency/core/integration" - "github.com/google/keytransparency/core/testdata" "github.com/google/trillian/storage/testdb" tpb "github.com/google/keytransparency/core/api/transcript_go_proto" @@ -49,20 +48,18 @@ func TestIntegration(t *testing.T) { } defer env.Close() - func() { - // Cancel the test function context (and thus - // exit any background sequencer loops) - // *before* shutting down the server and - // canceling the master context. - ctx, cancel := context.WithCancel(ctx) - defer cancel() - resps := test.Fn(ctx, env.Env, t) - if *generate && resps != nil { - if err = SaveTestVectors(*testdataDir, test.name, env.Env, resps); err != nil { - t.Fatalf("saveTestVectors() failed: %v", err) - } + ctx, cancel = context.WithCancel(ctx) + resps := test.Fn(ctx, env.Env, t) + // Cancel the test function context (and thus exit any + // background sequencer loops) *before* shutting down + // the server and canceling the master context. + cancel() + + if *generate { + if err = SaveTestVectors(*testdataDir, test.Name, env.Env, resps); err != nil { + t.Fatalf("saveTestVectors() failed: %v", err) } - }() + } }) } } From b1416ef464b46c88649132c053354a87dca1ee33 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Mon, 8 Jul 2019 17:56:25 +0100 Subject: [PATCH 06/16] New testdata --- core/testdata/TestBatchCreate | 31 + core/testdata/TestBatchGetUser | 2363 ++++++++++ core/testdata/TestBatchListUserRevisions | 5129 ++++++++++++++++++++++ core/testdata/TestBatchUpdate | 31 + core/testdata/TestEmptyGetAndUpdate | 2168 +++++++++ core/testdata/TestListHistory | 31 + core/testdata/TestMonitor | 31 + 7 files changed, 9784 insertions(+) create mode 100644 core/testdata/TestBatchCreate create mode 100644 core/testdata/TestBatchGetUser create mode 100644 core/testdata/TestBatchListUserRevisions create mode 100644 core/testdata/TestBatchUpdate create mode 100644 core/testdata/TestEmptyGetAndUpdate create mode 100644 core/testdata/TestListHistory create mode 100644 core/testdata/TestMonitor diff --git a/core/testdata/TestBatchCreate b/core/testdata/TestBatchCreate new file mode 100644 index 000000000..7767fd46c --- /dev/null +++ b/core/testdata/TestBatchCreate @@ -0,0 +1,31 @@ +{ + "description": "TestBatchCreate", + "directory": { + "directoryId": "integration", + "log": { + "treeId": "7278028135018658746", + "treeType": "PREORDERED_LOG", + "hashStrategy": "RFC6962_SHA256", + "hashAlgorithm": "SHA256", + "signatureAlgorithm": "ECDSA", + "publicKey": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqGXPnhMIclRmYHSmAnCMmfDUJ9iNBMmFxR/wHJdL12AuVUkgcuhbEp2hy5ETs7bfFc2P95IYFlmbiuHMq3UY/A==" + } + }, + "map": { + "treeId": "6838826273893076970", + "treeType": "MAP", + "hashStrategy": "CONIKS_SHA256", + "hashAlgorithm": "SHA256", + "signatureAlgorithm": "ECDSA", + "publicKey": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWLHm0TLYaTzENpPkBl2E79ySqJI+EW51VpoWh7wqY3OjSJcft4zgEeNeHYEb/T2jBFH4eYg4iSN7D/VYaJxJRA==" + } + }, + "vrf": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEF2Pm2kKya+JBun1QRmKQMcoMOIBNWp8fjECkJX+/hNWdV1UKb12W+yXcX2MqN7ZMX77hS9mLus/WaE0NS370mA==" + }, + "minInterval": "0.100s", + "maxInterval": "216000s" + } +} \ No newline at end of file diff --git a/core/testdata/TestBatchGetUser b/core/testdata/TestBatchGetUser new file mode 100644 index 000000000..94a80cc83 --- /dev/null +++ b/core/testdata/TestBatchGetUser @@ -0,0 +1,2363 @@ +{ + "description": "TestBatchGetUser", + "directory": { + "directoryId": "integration", + "log": { + "treeId": "6436254906339245767", + "treeType": "PREORDERED_LOG", + "hashStrategy": "RFC6962_SHA256", + "hashAlgorithm": "SHA256", + "signatureAlgorithm": "ECDSA", + "publicKey": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqGXPnhMIclRmYHSmAnCMmfDUJ9iNBMmFxR/wHJdL12AuVUkgcuhbEp2hy5ETs7bfFc2P95IYFlmbiuHMq3UY/A==" + } + }, + "map": { + "treeId": "7861954534383964780", + "treeType": "MAP", + "hashStrategy": "CONIKS_SHA256", + "hashAlgorithm": "SHA256", + "signatureAlgorithm": "ECDSA", + "publicKey": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWLHm0TLYaTzENpPkBl2E79ySqJI+EW51VpoWh7wqY3OjSJcft4zgEeNeHYEb/T2jBFH4eYg4iSN7D/VYaJxJRA==" + } + }, + "vrf": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEF2Pm2kKya+JBun1QRmKQMcoMOIBNWp8fjECkJX+/hNWdV1UKb12W+yXcX2MqN7ZMX77hS9mLus/WaE0NS370mA==" + }, + "minInterval": "0.100s", + "maxInterval": "216000s" + }, + "rpcs": [ + { + "desc": "single empty", + "lastVerifiedLogRoot": { + + }, + "batchGetUser": { + "request": { + "userIds": [ + "alice" + ] + }, + "response": { + "revision": { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgTwJ6pRCzN8yz89/wuuJRWfqtzUDwxzY/Xlshq+1D00UVr3zGZZDdiAAAAAAAAAABABISAhgBEgwQ4Yj8++WY39cVGAI=", + "signature": "MEYCIQCjz2ydLguyNzqrYkcBzkgLbV8l375NT38kHlLYsSXx7gIhAPqoll5PiJXz+AZAKZ0HY0CcTHkHjcb7bdudtDzrEQkz" + }, + "logInclusion": [ + "f8sBT/F7uiKNm8SYzOrNoD5s7VG7U+3zlM81t9AJtzM=" + ] + }, + "latestLogRoot": { + "logRoot": { + "keyHint": "WVIrvJA3Psc=", + "logRoot": "AAEAAAAAAAAAAiBg+FfmYdU68/c6iDeWUBRXvgRxR2OjBarhyTJ2kvQ9NBWvfMZ0q04gAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIQD156TtVU9NrOBNyyQdzK7lj33vxwbEGcvW/MGnTHUWbAIgdNYJW18c4CqFWQqKaGs3xRUtlr/oPUAuaVYLikx6aLs=" + } + } + }, + "mapLeavesByUserId": { + "alice": { + "vrfProof": "Fvu6DIjBAP0nAmgHZk+wsHQOZc/JAGG84F3B9JaAkQFk4Q4u2nfNHUffK9QChph0GTO8+Pu+iYBd/Uqiao7zegRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "mapInclusion": { + "leaf": { + "index": "A9/B/HF0DP6pap5CSp8/Jo05FhoGWECfsTAnRlVdzvM=" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "AI6Czk5sjFmQFNJjxzqsAv2GxrJHN6tg4pR0udojpGo=", + "Diga+Y4wctx5Lm0TtZOxfqq4hYxMCX8e8QK0xMcJKxw=", + "" + ] + } + } + } + } + } + }, + { + "desc": "multi empty", + "lastVerifiedLogRoot": { + + }, + "batchGetUser": { + "request": { + "userIds": [ + "zelda", + "alice" + ] + }, + "response": { + "revision": { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgTwJ6pRCzN8yz89/wuuJRWfqtzUDwxzY/Xlshq+1D00UVr3zGZZDdiAAAAAAAAAABABISAhgBEgwQ4Yj8++WY39cVGAI=", + "signature": "MEYCIQCjz2ydLguyNzqrYkcBzkgLbV8l375NT38kHlLYsSXx7gIhAPqoll5PiJXz+AZAKZ0HY0CcTHkHjcb7bdudtDzrEQkz" + }, + "logInclusion": [ + "f8sBT/F7uiKNm8SYzOrNoD5s7VG7U+3zlM81t9AJtzM=" + ] + }, + "latestLogRoot": { + "logRoot": { + "keyHint": "WVIrvJA3Psc=", + "logRoot": "AAEAAAAAAAAAAiBg+FfmYdU68/c6iDeWUBRXvgRxR2OjBarhyTJ2kvQ9NBWvfMZ0q04gAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIQD156TtVU9NrOBNyyQdzK7lj33vxwbEGcvW/MGnTHUWbAIgdNYJW18c4CqFWQqKaGs3xRUtlr/oPUAuaVYLikx6aLs=" + } + } + }, + "mapLeavesByUserId": { + "alice": { + "vrfProof": "htullPm61X7Mda8wshXA5gdPWwP5xDTsa9UEG3VTi8NXBd0KnMXTqn66v0WmTlfOZJXEdlye1G63CzIIy0vmYwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "mapInclusion": { + "leaf": { + "index": "A9/B/HF0DP6pap5CSp8/Jo05FhoGWECfsTAnRlVdzvM=" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "AI6Czk5sjFmQFNJjxzqsAv2GxrJHN6tg4pR0udojpGo=", + "Diga+Y4wctx5Lm0TtZOxfqq4hYxMCX8e8QK0xMcJKxw=", + "" + ] + } + }, + "zelda": { + "vrfProof": "3P6o7S8wXeEy3QvP04dnvlaP69Q0z6jUFhtoxC/ePRlQW6dGM7iW0od4Or5qZ0WegyEWxcTYAiEFN+jtEhVgUQQtrUX0DufLX9SITX79ae9LqiYFNaU8XDMHSZ44UUb2kMU6/IycyPbQiVogsuIIrgNYXImVlFvuCSyjC6Kg03hK", + "mapInclusion": { + "leaf": { + "index": "L+Kt2w2EizRLIRMNTQu0J9o4c37Jhf2MT+xy8XZ/QVo=" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "n26CQBZKu5/OloKNaA89G1g7Y8GwmYCmsDHK9ff332c=", + "", + "", + "Diga+Y4wctx5Lm0TtZOxfqq4hYxMCX8e8QK0xMcJKxw=", + "" + ] + } + } + } + } + } + }, + { + "desc": "single full", + "lastVerifiedLogRoot": { + + }, + "batchGetUser": { + "request": { + "userIds": [ + "bob" + ] + }, + "response": { + "revision": { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgTwJ6pRCzN8yz89/wuuJRWfqtzUDwxzY/Xlshq+1D00UVr3zGZZDdiAAAAAAAAAABABISAhgBEgwQ4Yj8++WY39cVGAI=", + "signature": "MEYCIQCjz2ydLguyNzqrYkcBzkgLbV8l375NT38kHlLYsSXx7gIhAPqoll5PiJXz+AZAKZ0HY0CcTHkHjcb7bdudtDzrEQkz" + }, + "logInclusion": [ + "f8sBT/F7uiKNm8SYzOrNoD5s7VG7U+3zlM81t9AJtzM=" + ] + }, + "latestLogRoot": { + "logRoot": { + "keyHint": "WVIrvJA3Psc=", + "logRoot": "AAEAAAAAAAAAAiBg+FfmYdU68/c6iDeWUBRXvgRxR2OjBarhyTJ2kvQ9NBWvfMZ0q04gAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIQD156TtVU9NrOBNyyQdzK7lj33vxwbEGcvW/MGnTHUWbAIgdNYJW18c4CqFWQqKaGs3xRUtlr/oPUAuaVYLikx6aLs=" + } + } + }, + "mapLeavesByUserId": { + "bob": { + "vrfProof": "dmCGQRnEQ3ykR9fS5936R27Gs+2zqAAlLvgFobAa+In2ZDLzukb3vLTxmnTPmmr0JYe0wN2vgyAx0g0F9Wm9LASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "mapInclusion": { + "leaf": { + "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", + "leafHash": "bnnsZtARhBJHmWzHg3nFPkgqkZTE7qSbML1+KFYkXFo=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgCNre5AU6M93xyVupgQ5nmitX+SY183nsPVU4XTKDjq1CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAxT+O0GVWsLvQ7fHinzrAAdYHczjZYjSWaLD7gaRvWFsCIQCaPy+Y5AIHXSsjT9u7MktiLXOhaqPphf+Pd1YwUuSGOA==" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "un+CZStX2Mlg1Wqf0ZkGRGqbEvc4bcssvMUrgMA+F7I=", + "" + ] + }, + "committed": { + "key": "Y06TbK0aSH2XkZIU6/W74w==", + "data": "Ym9iLWtleQ==" + } + } + } + } + } + }, + { + "desc": "multi full", + "lastVerifiedLogRoot": { + + }, + "batchGetUser": { + "request": { + "userIds": [ + "bob", + "carol" + ] + }, + "response": { + "revision": { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgTwJ6pRCzN8yz89/wuuJRWfqtzUDwxzY/Xlshq+1D00UVr3zGZZDdiAAAAAAAAAABABISAhgBEgwQ4Yj8++WY39cVGAI=", + "signature": "MEYCIQCjz2ydLguyNzqrYkcBzkgLbV8l375NT38kHlLYsSXx7gIhAPqoll5PiJXz+AZAKZ0HY0CcTHkHjcb7bdudtDzrEQkz" + }, + "logInclusion": [ + "f8sBT/F7uiKNm8SYzOrNoD5s7VG7U+3zlM81t9AJtzM=" + ] + }, + "latestLogRoot": { + "logRoot": { + "keyHint": "WVIrvJA3Psc=", + "logRoot": "AAEAAAAAAAAAAiBg+FfmYdU68/c6iDeWUBRXvgRxR2OjBarhyTJ2kvQ9NBWvfMZ0q04gAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIQD156TtVU9NrOBNyyQdzK7lj33vxwbEGcvW/MGnTHUWbAIgdNYJW18c4CqFWQqKaGs3xRUtlr/oPUAuaVYLikx6aLs=" + } + } + }, + "mapLeavesByUserId": { + "bob": { + "vrfProof": "VR035+LCtmD8cJvRRTPfi1EVZceqXteC1VV3c8SVgx5JEu2Hr4Rc9rwz0gURgum7BQ3i3QEtf168cPa671IFegSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "mapInclusion": { + "leaf": { + "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", + "leafHash": "bnnsZtARhBJHmWzHg3nFPkgqkZTE7qSbML1+KFYkXFo=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgCNre5AU6M93xyVupgQ5nmitX+SY183nsPVU4XTKDjq1CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAxT+O0GVWsLvQ7fHinzrAAdYHczjZYjSWaLD7gaRvWFsCIQCaPy+Y5AIHXSsjT9u7MktiLXOhaqPphf+Pd1YwUuSGOA==" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "un+CZStX2Mlg1Wqf0ZkGRGqbEvc4bcssvMUrgMA+F7I=", + "" + ] + }, + "committed": { + "key": "Y06TbK0aSH2XkZIU6/W74w==", + "data": "Ym9iLWtleQ==" + } + }, + "carol": { + "vrfProof": "AmchLBb8sjyItq9rE8x9HoH0XjGToMaSGY7gw0WHI1FttybTCYc2KlcTdweITBoCfygCfW3eDU7LXNRr2yM44QSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "mapInclusion": { + "leaf": { + "index": "JYx5mwUZM4rLnxSas5/NC9GiuqMYVWThqNqJdDz6bvw=", + "leafHash": "iKbcSxiuSXZlZmrjA2UhRXU4BK62gQgDNX3jyPjHKnA=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgBaUNr0suo4oYHvcF5wkH7/fHCVP3sTH0H2u1m4QVwKRCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAuCVrH0yYaOcTPtSn3WG0O0Od7EqQFPugAyLqaY7/i4sCIQDgzV1yj8sb7Vd8WaZEzMIKQNXrrwi2M7dRt5ImA0Txsw==" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Diga+Y4wctx5Lm0TtZOxfqq4hYxMCX8e8QK0xMcJKxw=", + "" + ] + }, + "committed": { + "key": "RBXfavhP3jMXanB5rwSgEg==", + "data": "Y2Fyb2wta2V5" + } + } + } + } + } + }, + { + "desc": "multi mixed", + "lastVerifiedLogRoot": { + + }, + "batchGetUser": { + "request": { + "userIds": [ + "alice", + "bob" + ] + }, + "response": { + "revision": { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgTwJ6pRCzN8yz89/wuuJRWfqtzUDwxzY/Xlshq+1D00UVr3zGZZDdiAAAAAAAAAABABISAhgBEgwQ4Yj8++WY39cVGAI=", + "signature": "MEYCIQCjz2ydLguyNzqrYkcBzkgLbV8l375NT38kHlLYsSXx7gIhAPqoll5PiJXz+AZAKZ0HY0CcTHkHjcb7bdudtDzrEQkz" + }, + "logInclusion": [ + "f8sBT/F7uiKNm8SYzOrNoD5s7VG7U+3zlM81t9AJtzM=" + ] + }, + "latestLogRoot": { + "logRoot": { + "keyHint": "WVIrvJA3Psc=", + "logRoot": "AAEAAAAAAAAAAiBg+FfmYdU68/c6iDeWUBRXvgRxR2OjBarhyTJ2kvQ9NBWvfMZ0q04gAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIQD156TtVU9NrOBNyyQdzK7lj33vxwbEGcvW/MGnTHUWbAIgdNYJW18c4CqFWQqKaGs3xRUtlr/oPUAuaVYLikx6aLs=" + } + } + }, + "mapLeavesByUserId": { + "alice": { + "vrfProof": "oJjODAwXiAm7Zy8kL1pz8ws1xkj8sdf6VQ56LodbHL2iBBCI1ka8tgP3l8jRw2LW/e4UXx3TFKEqz1CmgWUyyQRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "mapInclusion": { + "leaf": { + "index": "A9/B/HF0DP6pap5CSp8/Jo05FhoGWECfsTAnRlVdzvM=" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "AI6Czk5sjFmQFNJjxzqsAv2GxrJHN6tg4pR0udojpGo=", + "Diga+Y4wctx5Lm0TtZOxfqq4hYxMCX8e8QK0xMcJKxw=", + "" + ] + } + }, + "bob": { + "vrfProof": "UmGQlkoDjKGOCpqUjpT37zy2LPXkKlaRZUVnvtVZayjHyCCOwJqLFwzXOgU4t0HFJX7dwbX4AOeuVFoVXTTJFQSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "mapInclusion": { + "leaf": { + "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", + "leafHash": "bnnsZtARhBJHmWzHg3nFPkgqkZTE7qSbML1+KFYkXFo=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgCNre5AU6M93xyVupgQ5nmitX+SY183nsPVU4XTKDjq1CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAxT+O0GVWsLvQ7fHinzrAAdYHczjZYjSWaLD7gaRvWFsCIQCaPy+Y5AIHXSsjT9u7MktiLXOhaqPphf+Pd1YwUuSGOA==" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "un+CZStX2Mlg1Wqf0ZkGRGqbEvc4bcssvMUrgMA+F7I=", + "" + ] + }, + "committed": { + "key": "Y06TbK0aSH2XkZIU6/W74w==", + "data": "Ym9iLWtleQ==" + } + } + } + } + } + } + ] +} \ No newline at end of file diff --git a/core/testdata/TestBatchListUserRevisions b/core/testdata/TestBatchListUserRevisions new file mode 100644 index 000000000..4fe428865 --- /dev/null +++ b/core/testdata/TestBatchListUserRevisions @@ -0,0 +1,5129 @@ +{ + "description": "TestBatchListUserRevisions", + "directory": { + "directoryId": "integration", + "log": { + "treeId": "8251057054512475724", + "treeType": "PREORDERED_LOG", + "hashStrategy": "RFC6962_SHA256", + "hashAlgorithm": "SHA256", + "signatureAlgorithm": "ECDSA", + "publicKey": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqGXPnhMIclRmYHSmAnCMmfDUJ9iNBMmFxR/wHJdL12AuVUkgcuhbEp2hy5ETs7bfFc2P95IYFlmbiuHMq3UY/A==" + } + }, + "map": { + "treeId": "4425668552959270156", + "treeType": "MAP", + "hashStrategy": "CONIKS_SHA256", + "hashAlgorithm": "SHA256", + "signatureAlgorithm": "ECDSA", + "publicKey": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWLHm0TLYaTzENpPkBl2E79ySqJI+EW51VpoWh7wqY3OjSJcft4zgEeNeHYEb/T2jBFH4eYg4iSN7D/VYaJxJRA==" + } + }, + "vrf": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEF2Pm2kKya+JBun1QRmKQMcoMOIBNWp8fjECkJX+/hNWdV1UKb12W+yXcX2MqN7ZMX77hS9mLus/WaE0NS370mA==" + }, + "minInterval": "0.100s", + "maxInterval": "216000s" + }, + "rpcs": [ + { + "desc": "single revision", + "batchListUserRevisions": { + "request": { + "directoryId": "integration", + "userIds": [ + "alice", + "bob", + "carol" + ], + "startRevision": "7", + "endRevision": "10" + }, + "response": { + "latestLogRoot": { + "logRoot": { + "keyHint": "coGkrNOybkw=", + "logRoot": "AAEAAAAAAAAACyCH/1qZSlqbuZImKrUV8owFl328PnQOIWVdMG/iEml2uhWvfMrRfM64AAAAAAAAAAsAAA==", + "logRootSignature": "MEYCIQD/RshQJwDyWBfnnTdpfRcDMdbS/2+knHLPE0hi2QD5ygIhAJH83e0RMdQ+c1BOq3NHuLNd+lBrL2YBgFdittlWbfxL" + } + }, + "mapRevisions": [ + { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgU0rrj7eTjd6Yo2nM2c0H9NGjMD4vjYE+wsFwktJLACcVr3zJ5l6PmAAAAAAAAAADADASFgiZu4LVmpnf1xUQmbuC1ZqZ39cVGAESFgixzuu1mJnf1xUQsaW3q56Z39cVGAI=", + "signature": "MEUCIQCZybIxXaHvV4bFLlPWRj0R++iHe34WeW8fo2+UTumM1wIgMCag1Y7Hn3fPLmpm6GRkPHSLkqwQjThOlW6c4dGZyuw=" + }, + "logInclusion": [ + "f9tPW1MgPGgNf3+SvvHP/GeW0ZDgnUq11TkRGnKOM9c=", + "xBgZV+AmDcvIBPkHymp0iG/HtJwfqoxG4Ko5ArXmeyk=", + "69JP9Dm9CUELsjNzTihJ3OoD2kgBtubL3sF3g91B2f8=", + "aBPh7AsEM/Ms2vggk8J0BQSf27eBYsWHvcs3pET8s5Q=" + ] + }, + "mapLeavesByUserId": { + "alice": { + "vrfProof": "UyiGB6V8WVaJevwgl02OL4Cvf4x7lQ/W3obXAd3jvJkzE4l5nsSOIbWhaTe2u23cuG+9RjhPcCIb7tcIOuV0DwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "mapInclusion": { + "leaf": { + "leafHash": "AacFGqbS1OFlcqauo/RctoiJsMOLbVa/mwDU+NRHjok=", + "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgf41WHKESLV5vwdbsOP+tRfkWdG3eFDe6Gsg1EewJT3lCIMo73v2GoM+l1+I6DLpM0QnUZxQ+U5jsb5LHr5/9tYA6SpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAjBd+b4fcj53iD6BxFBny+Wjc4ffHKmerCrTK8LxyR7ECIQCO2NyDju6Cx+2SFzvpBqLf89bkwvIYcJZZLf5Tho8VkQ==" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "tyjoXRamguXrQbMSI83WnQHbkWh9bskAX/EUkpc88LE=", + "" + ] + }, + "committed": { + "key": "HFcHgu/znjjEKLFt8f/FFQ==", + "data": "YmFyMg==" + } + }, + "bob": { + "vrfProof": "atW/6jeYDZtKqVNgLh2F07HPl/N7ZwIeFJZgFMDaz0QW4vkiw5tKCluX3+o6HnozIQK7iMOy0S2daLCzkhTr9wSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "mapInclusion": { + "leaf": { + "leafHash": "DYLlINyUcXNQdz9FPN+acDnliSDkSxkco/zNZwWRvag=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgsJ4rjWqZvGzNPqTkUCnuTTHOXHN2+v9q2gfeV+81kOlCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAx/XibOJeB9YCZkRQVE85OZmO7mcqgy+mp3QHFfEOcuMCIQCDP3fG0CJZhXl6lGt7dDSm7qf2OwRYeIa/v76+wgpkhQ==" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "uPQ+2iSbPnTNBsTyPM07+uK9cUEfAK5PWOY8ekmPU4I=", + "" + ] + }, + "committed": { + "key": "usit6NVskLgLn62e+vLxKw==", + "data": "YmFyMTE=" + } + } + } + } + ] + } + } + }, + { + "desc": "multiple revisions test 1", + "batchListUserRevisions": { + "request": { + "directoryId": "integration", + "userIds": [ + "alice", + "bob", + "carol" + ], + "startRevision": "7", + "endRevision": "10" + }, + "response": { + "latestLogRoot": { + "logRoot": { + "keyHint": "coGkrNOybkw=", + "logRoot": "AAEAAAAAAAAACyCH/1qZSlqbuZImKrUV8owFl328PnQOIWVdMG/iEml2uhWvfMrRfM64AAAAAAAAAAsAAA==", + "logRootSignature": "MEYCIQD/RshQJwDyWBfnnTdpfRcDMdbS/2+knHLPE0hi2QD5ygIhAJH83e0RMdQ+c1BOq3NHuLNd+lBrL2YBgFdittlWbfxL" + } + }, + "mapRevisions": [ + { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgyqsauW6QkVhv4aFvNrh7h7FNT2JACcyjcxIoA4JH4scVr3zKCW9GqAAAAAAAAAAEADASFgiZu4LVmpnf1xUQscL6w6CZ39cVGAESFgixpbernpnf1xUQsaW3q56Z39cVGAI=", + "signature": "MEQCIAufUNn4ITo7zgK2+LmQeAF3daRmebcOqZpxtpM4J6BxAiAQJnBZPe15dQPaPWfFf0/gSfuYaTyP1JXfj5KBFpWP6w==" + }, + "logInclusion": [ + "d0/3SrZUMPYB7fE7oOOMW84waopyu+x4LX6Fj/KOwuM=", + "vI2xAw1PT/cBkeb/sHbqp7gsRaX0iQSuyOP8QbHXkQo=", + "l+w7CyCUhNETMHgqj21z3ptUnzYnJfnTZP9467AR/DY=", + "aBPh7AsEM/Ms2vggk8J0BQSf27eBYsWHvcs3pET8s5Q=" + ] + }, + "mapLeavesByUserId": { + "carol": { + "vrfProof": "gaec5ggbhtyv4Z993EfsRKRr9W20NzJRLf3a+lqx+FZz6Ju4uA7CRRvSDpVIxLpV3ahUiJIufpW6IzZDhe9CewSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "mapInclusion": { + "leaf": { + "leafHash": "HCv+NDaC19WP3vLmw46YzVjN1D0WSuURTQF4jomzrMY=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgwZJ1v7cJYy7cgPXD0WHcWLjTSZZYzdBqJ5BKmUtvlyVCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAmnb/8dY6FKdq0QNw0dlah7u5V7XoQnW9p5SNFhTXclUCIF9GofjMkx+OaNcasCK2oAAMHt4wVrSsyaJ0bcHxZfv2" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "05lOKICQr7O8XjtbOehMXDDy76pc9TJC2a0ZVMuaxF4=", + "tyjoXRamguXrQbMSI83WnQHbkWh9bskAX/EUkpc88LE=", + "" + ] + }, + "committed": { + "key": "Ze/9+E/lJ5c6wjfrBK7Vrg==", + "data": "YmFyMjE=" + } + } + } + }, + { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgNtz3wNpn0BOYuznRcZQ3x0UFVFPKa5nPCDmTZwiLwGsVr3zKJtjRKAAAAAAAAAAFADASFgixwvrDoJnf1xUQ0cLerqKZ39cVGAESFgixpbernpnf1xUQsaW3q56Z39cVGAI=", + "signature": "MEUCIAT+1xoT+MRgqjfD8bX0aOpBNaZe5lRl/xbD6RLFkz54AiEA64Et3Bm/dTHmOErhg9U1p4wE9XznnotIpbCssM5Wu1g=" + }, + "logInclusion": [ + "Sv2rD1g+NQO+8tuaALDSFF17oFKlzbzC/xv47weUvCc=", + "vI2xAw1PT/cBkeb/sHbqp7gsRaX0iQSuyOP8QbHXkQo=", + "l+w7CyCUhNETMHgqj21z3ptUnzYnJfnTZP9467AR/DY=", + "aBPh7AsEM/Ms2vggk8J0BQSf27eBYsWHvcs3pET8s5Q=" + ] + }, + "mapLeavesByUserId": { + "carol": { + "vrfProof": "L7QB9spueKOPpe8Xu83dTid3luH+huYAzI7JLyGRpnlAjR8b9N7cYqQEqq2EgoTNosWsSkYS3I8ddM7t0AujygSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "mapInclusion": { + "leaf": { + "leafHash": "Kdnbe+3AOKEiv5Y4PM6fqkkTIGW8z84eWIC7C5PnPiQ=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgQu/5b3o2T5NI9D9jBuIEUnfgYypGuVROKNJVD9vLRltCINX2DUWAGx3qtIObx+eDuyzvcw9dC477WVU623+i0AzBSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAn+RbyCysTJZ79p+qhXK/lHf6ZJifRwDENtvp712rQOUCIQDZnZQMQ+ET5n+3XPnDXk3vlX5BB6qojqxDYyZG/nhpqA==" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "05lOKICQr7O8XjtbOehMXDDy76pc9TJC2a0ZVMuaxF4=", + "tyjoXRamguXrQbMSI83WnQHbkWh9bskAX/EUkpc88LE=", + "" + ] + }, + "committed": { + "key": "gGgl4+Hzwn7fdAeJS5igEg==", + "data": "YmFyMjI=" + } + } + } + }, + { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEg0Ro1ifuZTtxFWIoUo2UsgSj/qvp0FIznVTzc4V7HLhwVr3zKTFTDqAAAAAAAAAAGADASFgjRwt6uopnf1xUQqbfb2qSZ39cVGAESFgixpbernpnf1xUQsaW3q56Z39cVGAI=", + "signature": "MEQCIDDx6YVSw0bRaQBHeU0a+l3Lp4DJk3yre0avaznp1mhvAiB0+zYI6od0strWkADjAE+JvUiUTKyFiy8aTJqt4nZvDA==" + }, + "logInclusion": [ + "SeEVzg9b55F74UcY/vSdIYmAl/p7EvAvBiyV43je8ZE=", + "ZqqVERrH3SS7AadZiXWeMMt8A3C9zMHr5Rq106E+wfk=", + "l+w7CyCUhNETMHgqj21z3ptUnzYnJfnTZP9467AR/DY=", + "aBPh7AsEM/Ms2vggk8J0BQSf27eBYsWHvcs3pET8s5Q=" + ] + }, + "mapLeavesByUserId": { + "carol": { + "vrfProof": "S/FTqMPMEw2xLSnY4N/sG7WYPLgKzRnQ0YvxLNUTF8rvdOImy9FwEUFmKGWj7zFUJmQA8WukADiD713uZDcpWwSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "mapInclusion": { + "leaf": { + "leafHash": "Kdnbe+3AOKEiv5Y4PM6fqkkTIGW8z84eWIC7C5PnPiQ=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgQu/5b3o2T5NI9D9jBuIEUnfgYypGuVROKNJVD9vLRltCINX2DUWAGx3qtIObx+eDuyzvcw9dC477WVU623+i0AzBSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAn+RbyCysTJZ79p+qhXK/lHf6ZJifRwDENtvp712rQOUCIQDZnZQMQ+ET5n+3XPnDXk3vlX5BB6qojqxDYyZG/nhpqA==" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "05lOKICQr7O8XjtbOehMXDDy76pc9TJC2a0ZVMuaxF4=", + "CJjxqLmU38xcC4PrPhsZzbQ87rgiUZ9BfXBVyS7vJdM=", + "" + ] + }, + "committed": { + "key": "gGgl4+Hzwn7fdAeJS5igEg==", + "data": "YmFyMjI=" + } + } + } + }, + { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgXQPJu8UwiX6F30qBUhqW6HztGpGbiY8CBeitdJQUeeYVr3zKcLVyiAAAAAAAAAAHADASFgipt9vapJnf1xUQuYSI/qaZ39cVGAESFgixpbernpnf1xUQsaW3q56Z39cVGAI=", + "signature": "MEUCIQD6gLc9TClOPTGYaVrHSpfl5JfPi+plqUPOyAPV4STxawIgA2fEIQaWR1E5PBZTCZftTS8pIOhIAT1yM3GZWcfpXW4=" + }, + "logInclusion": [ + "LMGjVnsyvU4je2DW6Q0yxJcF/ZbSRgMn15Wg78QwWtk=", + "ZqqVERrH3SS7AadZiXWeMMt8A3C9zMHr5Rq106E+wfk=", + "l+w7CyCUhNETMHgqj21z3ptUnzYnJfnTZP9467AR/DY=", + "aBPh7AsEM/Ms2vggk8J0BQSf27eBYsWHvcs3pET8s5Q=" + ] + }, + "mapLeavesByUserId": { + "carol": { + "vrfProof": "x4Nkja+1J0iK90yuYvoL1EVcQe8K6PVY3a12XXiWyyuLxrr0OQKBHY4IPkLKiiX4LFmz0Vz5uCSDOvKQxD9XjASmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "mapInclusion": { + "leaf": { + "leafHash": "Kdnbe+3AOKEiv5Y4PM6fqkkTIGW8z84eWIC7C5PnPiQ=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgQu/5b3o2T5NI9D9jBuIEUnfgYypGuVROKNJVD9vLRltCINX2DUWAGx3qtIObx+eDuyzvcw9dC477WVU623+i0AzBSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAn+RbyCysTJZ79p+qhXK/lHf6ZJifRwDENtvp712rQOUCIQDZnZQMQ+ET5n+3XPnDXk3vlX5BB6qojqxDYyZG/nhpqA==" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Qlxg2ZXb92IHNOcS26LY6xjR7fE6aGqRHHXLq78lZRE=", + "CJjxqLmU38xcC4PrPhsZzbQ87rgiUZ9BfXBVyS7vJdM=", + "" + ] + }, + "committed": { + "key": "gGgl4+Hzwn7fdAeJS5igEg==", + "data": "YmFyMjI=" + } + } + } + } + ] + } + } + }, + { + "desc": "multiple revisions test 2", + "batchListUserRevisions": { + "request": { + "directoryId": "integration", + "userIds": [ + "alice", + "bob", + "carol" + ], + "startRevision": "7", + "endRevision": "10" + }, + "response": { + "latestLogRoot": { + "logRoot": { + "keyHint": "coGkrNOybkw=", + "logRoot": "AAEAAAAAAAAACyCH/1qZSlqbuZImKrUV8owFl328PnQOIWVdMG/iEml2uhWvfMrRfM64AAAAAAAAAAsAAA==", + "logRootSignature": "MEYCIQD/RshQJwDyWBfnnTdpfRcDMdbS/2+knHLPE0hi2QD5ygIhAJH83e0RMdQ+c1BOq3NHuLNd+lBrL2YBgFdittlWbfxL" + } + }, + "mapRevisions": [ + { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgXQPJu8UwiX6F30qBUhqW6HztGpGbiY8CBeitdJQUeeYVr3zKcLVyiAAAAAAAAAAHADASFgipt9vapJnf1xUQuYSI/qaZ39cVGAESFgixpbernpnf1xUQsaW3q56Z39cVGAI=", + "signature": "MEUCIQD6gLc9TClOPTGYaVrHSpfl5JfPi+plqUPOyAPV4STxawIgA2fEIQaWR1E5PBZTCZftTS8pIOhIAT1yM3GZWcfpXW4=" + }, + "logInclusion": [ + "LMGjVnsyvU4je2DW6Q0yxJcF/ZbSRgMn15Wg78QwWtk=", + "ZqqVERrH3SS7AadZiXWeMMt8A3C9zMHr5Rq106E+wfk=", + "l+w7CyCUhNETMHgqj21z3ptUnzYnJfnTZP9467AR/DY=", + "aBPh7AsEM/Ms2vggk8J0BQSf27eBYsWHvcs3pET8s5Q=" + ] + }, + "mapLeavesByUserId": { + "alice": { + "vrfProof": "eYPd0lP+h0WdPgBDT2W47pHiX0WXthTJS+sqZZu9OG1aJ3PWWfs5mtR1blAHDUcRvairMzy0WRiYifARRjaAGgRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "mapInclusion": { + "leaf": { + "leafHash": "iBOt87jBEWz6jFq3eoLXTlLxS1JFHDfKaMOcvQ7L9pk=", + "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgTQd/HJXLO0Kkdn4UWJVcckTUFMqTdmo9+Wfo2GlhllBCIJtID3oYOeKs3i4D/cUMMmEjvtFSf8ZdkRNmt9Jaj66hSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiB0IxkpwO6w8SW+pXb3Qj2kJnlqr2WGKEJlWzb+dCwcUQIhAJIpTdSX9CjpZRtFuBqs4jiFIcN8cpFthj1YGOOhWSfF" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "xwDY0zuaRG5n0PQRIiv735y+YBgZHzARAu3geFB/2nw=", + "CJjxqLmU38xcC4PrPhsZzbQ87rgiUZ9BfXBVyS7vJdM=", + "" + ] + }, + "committed": { + "key": "rHvd+D1eItVp+/pLgKFgkA==", + "data": "YmFyMw==" + } + }, + "bob": { + "vrfProof": "pQTOE4PylTBI7yuXcCst2A9g+egraJAf0FH5jtJfIKs0Nw18sRkA/f3xBqHhsqjERB9apYgnxfR4Vc0RKz2G4gSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "mapInclusion": { + "leaf": { + "leafHash": "7YMn4YezAkolQQt3ndEYdmNVvDgQj3D/dQde+lNbM98=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgJnCvV4OmJe3PfqDKJkk60sR5vLNHUrlmULS6S8TyBrVCIPGSx2ewCi85M32AU4hM3Ig80aIVGTujhqWCFj2jfzxNSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiArJOC/J2L+X07dflr+5MgEedKtoS4svwO1NtfiF+kjAgIhAL9usXTahOsas1ns15J8QfAHFOvmvdC1BoAEdIPJ/lCS" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "dAa6Mr7XZqfescwSsSZJ9T3H3hli/8bP7RavzYKHXsM=", + "" + ] + }, + "committed": { + "key": "0CX824csk3LSO+WkveZ0UA==", + "data": "YmFyMTI=" + } + }, + "carol": { + "vrfProof": "6ollpZvGlDyzZzYUFO/1thw6IX1LTE30wkQFfFgMu+EgRPtKhS03nffIoR2Ub6PGWo1CR+DHybtIzF/2JpCCwgSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "mapInclusion": { + "leaf": { + "leafHash": "Kdnbe+3AOKEiv5Y4PM6fqkkTIGW8z84eWIC7C5PnPiQ=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgQu/5b3o2T5NI9D9jBuIEUnfgYypGuVROKNJVD9vLRltCINX2DUWAGx3qtIObx+eDuyzvcw9dC477WVU623+i0AzBSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAn+RbyCysTJZ79p+qhXK/lHf6ZJifRwDENtvp712rQOUCIQDZnZQMQ+ET5n+3XPnDXk3vlX5BB6qojqxDYyZG/nhpqA==" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Qlxg2ZXb92IHNOcS26LY6xjR7fE6aGqRHHXLq78lZRE=", + "CJjxqLmU38xcC4PrPhsZzbQ87rgiUZ9BfXBVyS7vJdM=", + "" + ] + }, + "committed": { + "key": "gGgl4+Hzwn7fdAeJS5igEg==", + "data": "YmFyMjI=" + } + } + } + }, + { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgtG8zSo0BUgaUIqRlHKevu2JJMJzAGPNEZ/B4dikrWk8Vr3zKgHxL2AAAAAAAAAAIADASFgi5hIj+ppnf1xUQuYSI/qaZ39cVGAESFgixpbernpnf1xUQiafS/KeZ39cVGAI=", + "signature": "MEQCIAnrkQAbRWpd62BavH1LUK6SyPi0Nw/jQ036takdCuF/AiBzj8M4iSuYMFZ+25G3dDW+1AHCSkiH1PdYFx/HF2hzsw==" + }, + "logInclusion": [ + "BUDx7U+743zrAbeGvFXTles6NMStKwJTiKsiS93Rb3k=", + "sQ2D6HIyeMu0tYCsVImmzkw4OpqKjfC1fiAulWeQpcU=", + "VwEa8SUjduVp6+Odcpa8LU5ZQed68yOfR2+4GPFvloI=" + ] + }, + "mapLeavesByUserId": { + "alice": { + "vrfProof": "ZBXkEHp2TPAA9m32JQIKZMb7ljLWA3hfc8GGZdmnp6tnPyVffE4YPKfEqjk2zIbHOl6WuKix5KueUetITnpmfwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "mapInclusion": { + "leaf": { + "leafHash": "iBOt87jBEWz6jFq3eoLXTlLxS1JFHDfKaMOcvQ7L9pk=", + "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgTQd/HJXLO0Kkdn4UWJVcckTUFMqTdmo9+Wfo2GlhllBCIJtID3oYOeKs3i4D/cUMMmEjvtFSf8ZdkRNmt9Jaj66hSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiB0IxkpwO6w8SW+pXb3Qj2kJnlqr2WGKEJlWzb+dCwcUQIhAJIpTdSX9CjpZRtFuBqs4jiFIcN8cpFthj1YGOOhWSfF" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "xwDY0zuaRG5n0PQRIiv735y+YBgZHzARAu3geFB/2nw=", + "9CTvxXm3TWsNCQf+xOa5Ryr8EmgnzmCS4ns/zDUiapU=", + "" + ] + }, + "committed": { + "key": "rHvd+D1eItVp+/pLgKFgkA==", + "data": "YmFyMw==" + } + }, + "bob": { + "vrfProof": "fvpWgtoFD8xU09MtIX8MszFNftAhWYy7OOCx8hWHqTOxbilbJj050Y7j0UieMK5OHd8dfwiR5GCOGUUxV1XTiQSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "mapInclusion": { + "leaf": { + "leafHash": "h1K/qwHwT1fhCBetpVtaCdIxCesLC/oFSlY7o4ZqFU4=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgaiKjTN1SvZ3DAJeLFRi/JCAv5sbFrrkI0dbH5Hw3amxCIMj6lPySOm4sIoHkNb+K5XiWxbrpLWUr7oc2hu4YzjKASpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBgTfCaHp/Z/mvorhBTM/Hy+6lKTE90gFZQ8ZkSRpwaagIgYz1JSib2kpRI+XWawP/avex2YTQ6OWfMJ7A1gpr13GY=" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "dAa6Mr7XZqfescwSsSZJ9T3H3hli/8bP7RavzYKHXsM=", + "" + ] + }, + "committed": { + "key": "dnHOXW9gQOkp79PeEU0zeQ==", + "data": "YmFyMTM=" + } + }, + "carol": { + "vrfProof": "an3HkvfQHjZi1THGIYIKv7H/+sFCeqN0qu9ezBhc/pQ/FcumvNX+Q5ICmL//DOda5KLc/tKxi9S6ld+2MY6I6ASmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "mapInclusion": { + "leaf": { + "leafHash": "Kdnbe+3AOKEiv5Y4PM6fqkkTIGW8z84eWIC7C5PnPiQ=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgQu/5b3o2T5NI9D9jBuIEUnfgYypGuVROKNJVD9vLRltCINX2DUWAGx3qtIObx+eDuyzvcw9dC477WVU623+i0AzBSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAn+RbyCysTJZ79p+qhXK/lHf6ZJifRwDENtvp712rQOUCIQDZnZQMQ+ET5n+3XPnDXk3vlX5BB6qojqxDYyZG/nhpqA==" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Qlxg2ZXb92IHNOcS26LY6xjR7fE6aGqRHHXLq78lZRE=", + "9CTvxXm3TWsNCQf+xOa5Ryr8EmgnzmCS4ns/zDUiapU=", + "" + ] + }, + "committed": { + "key": "gGgl4+Hzwn7fdAeJS5igEg==", + "data": "YmFyMjI=" + } + } + } + }, + { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgFA9VvKeeH2E2ziJKHnbTzyEADMgdM5teUneL9tzZw3oVr3zKoMRZgAAAAAAAAAAJADASFgi5hIj+ppnf1xUQgZHe/qmZ39cVGAESFgiJp9L8p5nf1xUQiafS/KeZ39cVGAI=", + "signature": "MEQCIHiQTdwJuKTSk90tCYdVrD05a6pjOuuTYSZbwk4MBMzyAiB1OXAgGV4wIU5AFMhaV8zgURIH5OHLc240cYv9fom44g==" + }, + "logInclusion": [ + "9gnHGIAcOLzSD9p7H7QOogsNw+Tuwhpn2HdiQAW68MU=", + "sQ2D6HIyeMu0tYCsVImmzkw4OpqKjfC1fiAulWeQpcU=", + "VwEa8SUjduVp6+Odcpa8LU5ZQed68yOfR2+4GPFvloI=" + ] + }, + "mapLeavesByUserId": { + "alice": { + "vrfProof": "Y2NGIcg/NAzsA+Qfgq8lN0YPW8i6dH3ZNUJtgdZqjdvTBnWOg+pphnpfTG/5serPWB5DREdQ0AqDluhu8zxltARTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "mapInclusion": { + "leaf": { + "leafHash": "iBOt87jBEWz6jFq3eoLXTlLxS1JFHDfKaMOcvQ7L9pk=", + "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgTQd/HJXLO0Kkdn4UWJVcckTUFMqTdmo9+Wfo2GlhllBCIJtID3oYOeKs3i4D/cUMMmEjvtFSf8ZdkRNmt9Jaj66hSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiB0IxkpwO6w8SW+pXb3Qj2kJnlqr2WGKEJlWzb+dCwcUQIhAJIpTdSX9CjpZRtFuBqs4jiFIcN8cpFthj1YGOOhWSfF" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "ZmRLoGIUZsOOf/eUtXMa4RUubDRd6mVNPqJNhCNy9Z4=", + "9CTvxXm3TWsNCQf+xOa5Ryr8EmgnzmCS4ns/zDUiapU=", + "" + ] + }, + "committed": { + "key": "rHvd+D1eItVp+/pLgKFgkA==", + "data": "YmFyMw==" + } + }, + "bob": { + "vrfProof": "ZB+PAdZu0uN2wpwzbbA5c6yzu2C7qVDaAAOoavU7ppr3GLhAxBdVHa877alrjok5KCuVglUwi19194k8WfxLSwSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "mapInclusion": { + "leaf": { + "leafHash": "h1K/qwHwT1fhCBetpVtaCdIxCesLC/oFSlY7o4ZqFU4=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgaiKjTN1SvZ3DAJeLFRi/JCAv5sbFrrkI0dbH5Hw3amxCIMj6lPySOm4sIoHkNb+K5XiWxbrpLWUr7oc2hu4YzjKASpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBgTfCaHp/Z/mvorhBTM/Hy+6lKTE90gFZQ8ZkSRpwaagIgYz1JSib2kpRI+XWawP/avex2YTQ6OWfMJ7A1gpr13GY=" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "OpLF8fjPMEOVBuzqS05BTCGV4GCgV5lSLWf1X5uuw9g=", + "" + ] + }, + "committed": { + "key": "dnHOXW9gQOkp79PeEU0zeQ==", + "data": "YmFyMTM=" + } + }, + "carol": { + "vrfProof": "NOTekhn9EnO5V6ErKLvuTBZzCqKdUFHqX7+nKnZvzPx/GbyqukDso/ShFILHqDpqf8Aty98euZ6Ai2rJChl5rQSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "mapInclusion": { + "leaf": { + "leafHash": "ueEJxjjXIAQHHpNoGBCd51zW23ekBqt86NMwxdSoUs4=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgt8lQmH6U59eeP82YbUtC1cMxEKUQwnm3lL5V6s4BetxCIPCdaLL6Qpw/Y1yMLrUQEGcv0tjsY6JdwlrNqusDVmcXSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiBa3vHlt33Y3gH6tpTuVTCnIuMfia55kpMEQtj1YmvNTAIhAI566wFIPVy1VUREaIIcNk/61DyrfEG1n85kTWa27X0V" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Qlxg2ZXb92IHNOcS26LY6xjR7fE6aGqRHHXLq78lZRE=", + "9CTvxXm3TWsNCQf+xOa5Ryr8EmgnzmCS4ns/zDUiapU=", + "" + ] + }, + "committed": { + "key": "LOn8/Y6f1iqPX4nALTsFhw==", + "data": "YmFyMjM=" + } + } + } + }, + { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgMylLjmMeQVpS7Ha+ULNe5b8U8I/GSrnWJU7eA6UXXV8Vr3zKxCfjsAAAAAAAAAAKADASFgiBkd7+qZnf1xUQgZHe/qmZ39cVGAESFgiJp9L8p5nf1xUQ8YCNmqyZ39cVGAI=", + "signature": "MEUCIGGjJ0B6pk5r/b3kUSfhsQ8Ypyirpyxj8aCdQgA2lYfDAiEAktevxvdFyrs84d051lB6QTGQGdnn5MO9+q8EAVzhBS0=" + }, + "logInclusion": [ + "iT28kiT6r/pJK9tHGcC2bQOgrBoIxiFiqxV0t+PBd+E=", + "VwEa8SUjduVp6+Odcpa8LU5ZQed68yOfR2+4GPFvloI=" + ] + }, + "mapLeavesByUserId": { + "alice": { + "vrfProof": "HE6/fNiPhkJCiDJWtC5tjTl79ADFK2lJ4HPFNpI+q7hNPFskgne3cS9RLvHx3ED/bXiqnWO01D3aoytI8zetjgRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "mapInclusion": { + "leaf": { + "leafHash": "iBOt87jBEWz6jFq3eoLXTlLxS1JFHDfKaMOcvQ7L9pk=", + "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgTQd/HJXLO0Kkdn4UWJVcckTUFMqTdmo9+Wfo2GlhllBCIJtID3oYOeKs3i4D/cUMMmEjvtFSf8ZdkRNmt9Jaj66hSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiB0IxkpwO6w8SW+pXb3Qj2kJnlqr2WGKEJlWzb+dCwcUQIhAJIpTdSX9CjpZRtFuBqs4jiFIcN8cpFthj1YGOOhWSfF" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "JJu7AB/xiAMtxSQvwFtWsnP+FC5gWJ1G/+4/i0stYZ4=", + "9CTvxXm3TWsNCQf+xOa5Ryr8EmgnzmCS4ns/zDUiapU=", + "" + ] + }, + "committed": { + "key": "rHvd+D1eItVp+/pLgKFgkA==", + "data": "YmFyMw==" + } + }, + "bob": { + "vrfProof": "GrQaPPIp0upeXAjbp8CzTArKOGeAWnksdnxcHE7AGRdbQiXqlhsGSpPQfX5PWXP9738pMRSzGceENUOevyNPrgSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "mapInclusion": { + "leaf": { + "leafHash": "h1K/qwHwT1fhCBetpVtaCdIxCesLC/oFSlY7o4ZqFU4=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgaiKjTN1SvZ3DAJeLFRi/JCAv5sbFrrkI0dbH5Hw3amxCIMj6lPySOm4sIoHkNb+K5XiWxbrpLWUr7oc2hu4YzjKASpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBgTfCaHp/Z/mvorhBTM/Hy+6lKTE90gFZQ8ZkSRpwaagIgYz1JSib2kpRI+XWawP/avex2YTQ6OWfMJ7A1gpr13GY=" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "36EEPhkTaefxTbewMZWiPsssLbXips1lSeHXxb4dGC0=", + "" + ] + }, + "committed": { + "key": "dnHOXW9gQOkp79PeEU0zeQ==", + "data": "YmFyMTM=" + } + }, + "carol": { + "vrfProof": "qPdPN6gDjCEn9THrEBUZP1Xvd2quIBWMXKxBUfepgOA7+7LN4GUXdJiG31jUCAzIOwh01u2nvLh15PxEYGSMUQSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "mapInclusion": { + "leaf": { + "leafHash": "sOCcVXx8BIKrYG3tj/DsE/EQH0iazWaPSvas+Mkgh8w=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIg41sODkeqLJFmpGEKOn7W73u834pjQF35sxDlNKMO9DZCIMqWBDaInb5gKhavMTYlzcbTnRNHkHXFvnQS2liQoBexSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiA9LL1PrcD0zO1hoOqQoRphVrT+9BMrseBpl9OLxuH1tgIhANt+QX/Q29Xj9ccell5r9fmK6z4IX4hTVOCneNmCW2mB" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Qlxg2ZXb92IHNOcS26LY6xjR7fE6aGqRHHXLq78lZRE=", + "9CTvxXm3TWsNCQf+xOa5Ryr8EmgnzmCS4ns/zDUiapU=", + "" + ] + }, + "committed": { + "key": "WrmFaIqaIQOMEGtQw2A8Kw==", + "data": "YmFyMjQ=" + } + } + } + } + ] + } + } + } + ] +} \ No newline at end of file diff --git a/core/testdata/TestBatchUpdate b/core/testdata/TestBatchUpdate new file mode 100644 index 000000000..1c07b46b0 --- /dev/null +++ b/core/testdata/TestBatchUpdate @@ -0,0 +1,31 @@ +{ + "description": "TestBatchUpdate", + "directory": { + "directoryId": "integration", + "log": { + "treeId": "8590110771636397970", + "treeType": "PREORDERED_LOG", + "hashStrategy": "RFC6962_SHA256", + "hashAlgorithm": "SHA256", + "signatureAlgorithm": "ECDSA", + "publicKey": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqGXPnhMIclRmYHSmAnCMmfDUJ9iNBMmFxR/wHJdL12AuVUkgcuhbEp2hy5ETs7bfFc2P95IYFlmbiuHMq3UY/A==" + } + }, + "map": { + "treeId": "2565558140128162455", + "treeType": "MAP", + "hashStrategy": "CONIKS_SHA256", + "hashAlgorithm": "SHA256", + "signatureAlgorithm": "ECDSA", + "publicKey": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWLHm0TLYaTzENpPkBl2E79ySqJI+EW51VpoWh7wqY3OjSJcft4zgEeNeHYEb/T2jBFH4eYg4iSN7D/VYaJxJRA==" + } + }, + "vrf": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEF2Pm2kKya+JBun1QRmKQMcoMOIBNWp8fjECkJX+/hNWdV1UKb12W+yXcX2MqN7ZMX77hS9mLus/WaE0NS370mA==" + }, + "minInterval": "0.100s", + "maxInterval": "216000s" + } +} \ No newline at end of file diff --git a/core/testdata/TestEmptyGetAndUpdate b/core/testdata/TestEmptyGetAndUpdate new file mode 100644 index 000000000..02596c737 --- /dev/null +++ b/core/testdata/TestEmptyGetAndUpdate @@ -0,0 +1,2168 @@ +{ + "description": "TestEmptyGetAndUpdate", + "directory": { + "directoryId": "integration", + "log": { + "treeId": "3391410098340560941", + "treeType": "PREORDERED_LOG", + "hashStrategy": "RFC6962_SHA256", + "hashAlgorithm": "SHA256", + "signatureAlgorithm": "ECDSA", + "publicKey": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqGXPnhMIclRmYHSmAnCMmfDUJ9iNBMmFxR/wHJdL12AuVUkgcuhbEp2hy5ETs7bfFc2P95IYFlmbiuHMq3UY/A==" + } + }, + "map": { + "treeId": "6154528724540799977", + "treeType": "MAP", + "hashStrategy": "CONIKS_SHA256", + "hashAlgorithm": "SHA256", + "signatureAlgorithm": "ECDSA", + "publicKey": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWLHm0TLYaTzENpPkBl2E79ySqJI+EW51VpoWh7wqY3OjSJcft4zgEeNeHYEb/T2jBFH4eYg4iSN7D/VYaJxJRA==" + } + }, + "vrf": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEF2Pm2kKya+JBun1QRmKQMcoMOIBNWp8fjECkJX+/hNWdV1UKb12W+yXcX2MqN7ZMX77hS9mLus/WaE0NS370mA==" + }, + "minInterval": "0.100s", + "maxInterval": "216000s" + }, + "rpcs": [ + { + "desc": "empty_alice", + "lastVerifiedLogRoot": { + "rootHash": "+DcQtk5Rh8OAyD37VW/ab99GT2P086TPm6q4VCFaSlY=", + "treeSize": "1" + }, + "getUser": { + "request": { + "userId": "alice" + }, + "response": { + "revision": { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgLRaNnNWxV1p54haQhhdHskxU7HdaztQg3iU5O6diiR4Vr3zFIHFzWAAAAAAAAAAAAAA=", + "signature": "MEUCIQDOM7kQVHgUa1nPGBMpMOimM1rVkoV4eIT0ftUl18GkiQIgfbNwMX+pkKDa8pbA5k9DsxpL7fHowuF83EFByGQ2/UM=" + } + }, + "latestLogRoot": { + "logRoot": { + "keyHint": "LxC1hBdDAC0=", + "logRoot": "AAEAAAAAAAAAASD4NxC2TlGHw4DIPftVb9pv30ZPY/TzpM+bqrhUIVpKVhWvfMU8F0FQAAAAAAAAAAEAAA==", + "logRootSignature": "MEQCIE4q/VjTEHrblmWlUlAV4HtgEbV0XMxfPbiD+ydMKhccAiAsopKI2PO4jS7D108TP1OAfx4BRFJG0h95/K4+AD21xA==" + } + } + }, + "leaf": { + "vrfProof": "pEpyCHRZjfrQxJtHEu/BWCJFsRemMCdVAXnkDQfRN0y0o8bYWHxE6wDgl85zwHsY1duRTjVQX5UyRZxGIOs1xgRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "mapInclusion": { + "leaf": { + "index": "A9/B/HF0DP6pap5CSp8/Jo05FhoGWECfsTAnRlVdzvM=" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + } + } + } + } + }, + { + "desc": "bob0_set", + "lastVerifiedLogRoot": { + "rootHash": "+DcQtk5Rh8OAyD37VW/ab99GT2P086TPm6q4VCFaSlY=", + "treeSize": "1" + }, + "getUser": { + "request": { + "userId": "bob" + }, + "response": { + "revision": { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgQ+2D3/17XHH/olGGQC9AB/uiTqTM1zvfJTMVSpWdPUwVr3zFX2ZVOAAAAAAAAAABABISAhgBEgwQqZOl49WY39cVGAI=", + "signature": "MEUCIFM5I8yhrzr8sAY8ClnxzgiBmhrqYk74jgzUFkP5puKQAiEApQ/00CU7AJ4NC3VUTdFEif3OwCPU6NsPB+cImMUWqFY=" + }, + "logInclusion": [ + "+DcQtk5Rh8OAyD37VW/ab99GT2P086TPm6q4VCFaSlY=" + ] + }, + "latestLogRoot": { + "logRoot": { + "keyHint": "LxC1hBdDAC0=", + "logRoot": "AAEAAAAAAAAAAiBD+Yh5X4w0dHk6GetIIE85kMsIN7MBAl0nziWF9TxdGhWvfMV4LW1AAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIAFbbT8R+/ZVY1fYO72iXJbFCbVJJDl+CgyqKD8AR4LeAiEApzwqItViKJAjfq/ohBP5qfohF+jWnw3tBq03vWVm9kg=" + }, + "logConsistency": [ + "l/ETx02cDerMl2eFKc//+O8k+qbGHzufTnAnZOZgAGY=" + ] + } + }, + "leaf": { + "vrfProof": "5etR7jJn5SSV/PKE6AmV/tdlEH19FUR2cDvgJuRL8L55cVBd3LoXkcI8fZNC9lUCUjn990J8ftr3deTbRxSgOwSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "mapInclusion": { + "leaf": { + "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "hsgznMuLZLQB21UrDfZaIGKP72Vj3mEACCvmRt7PT1s=", + "" + ] + } + } + } + } + }, + { + "desc": "set_carol", + "lastVerifiedLogRoot": { + "rootHash": "+DcQtk5Rh8OAyD37VW/ab99GT2P086TPm6q4VCFaSlY=", + "treeSize": "1" + }, + "getUser": { + "request": { + "userId": "carol" + }, + "response": { + "revision": { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgWFXHsWF+3SNkAwwbkMxL0QKbDVRfAqiFtkBvq/bDNDQVr3zFg3wzwAAAAAAAAAACABwSAhgBEhYIqZOl49WY39cVEOn/pPTXmN/XFRgC", + "signature": "MEYCIQCFx73gBdWZFDqlU7FSR8G6xRgTX/0rP57IUhXRJU83agIhAP08ZSFXjoVRmRxU0nj5SW1H0ITM0e1IfIVlT0AQuZwt" + }, + "logInclusion": [ + "Q/mIeV+MNHR5OhnrSCBPOZDLCDezAQJdJ84lhfU8XRo=" + ] + }, + "latestLogRoot": { + "logRoot": { + "keyHint": "LxC1hBdDAC0=", + "logRoot": "AAEAAAAAAAAAAyA0I96/+PQSCAtZ+nMyyW21YBBGKzb/fsQwtrR+2H67WRWvfMWVu47wAAAAAAAAAAMAAA==", + "logRootSignature": "MEYCIQCrRmViCKkyR0MAZj0V4pAM8TxlV0cxpjrqk04q04g6cgIhAImjtg/yIYEvPwp704+W7HW6wa0RccwinKtL2T5d5jpC" + }, + "logConsistency": [ + "l/ETx02cDerMl2eFKc//+O8k+qbGHzufTnAnZOZgAGY=", + "KEAiZpwdceai7/LOMwXv5IrQjRwejdXRb1TGwFwxvPI=" + ] + } + }, + "leaf": { + "vrfProof": "6+1/jQ79Ie9hj/rEvLdJDe5soXw4fwTq8CMApjCWowTuGnboEyyAt2p7GJwNpYpVZljt2E7zw5l+ELrVJRDx5QSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "mapInclusion": { + "leaf": { + "index": "JYx5mwUZM4rLnxSas5/NC9GiuqMYVWThqNqJdDz6bvw=" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Nr80n/7ljXfa9eQGpUhJ9ex3nz6JAb6LV+nVDsEPfoc=", + "df9pc+5gBS4LraBxFafQkTGQV516iyFfXHqimzIviXc=", + "" + ] + } + } + } + } + }, + { + "desc": "bob1_get", + "lastVerifiedLogRoot": { + "rootHash": "+DcQtk5Rh8OAyD37VW/ab99GT2P086TPm6q4VCFaSlY=", + "treeSize": "1" + }, + "getUser": { + "request": { + "userId": "bob" + }, + "response": { + "revision": { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgsrbhkEUgkw8kEAzY73Fy+KVM+10QmbhoMxeAIk6qdIEVr3zFoZ0P8AAAAAAAAAADABwSAhgBEhYI6f+k9NeY39cVEPn+odzZmN/XFRgC", + "signature": "MEUCIC78YQuXVnfhPLFq9MoDQP//D5yKD44mHBYIER9/YAZZAiEAyMkrHxJU6HOm6qeJUkclxCXgeIx0zuRenzbjXNbtwoQ=" + }, + "logInclusion": [ + "KEAiZpwdceai7/LOMwXv5IrQjRwejdXRb1TGwFwxvPI=", + "Q/mIeV+MNHR5OhnrSCBPOZDLCDezAQJdJ84lhfU8XRo=" + ] + }, + "latestLogRoot": { + "logRoot": { + "keyHint": "LxC1hBdDAC0=", + "logRoot": "AAEAAAAAAAAABCBvb5k/tVtS+5+y9fl2U/T4Kbi2VNGK5Sgdc3+EpW7aIBWvfMWz+dpIAAAAAAAAAAQAAA==", + "logRootSignature": "MEUCIG7gEGZku2b+Vb3KFoB/gtSQ3Yw9hkkvHwozaBGw6cZWAiEAhVzftLZfTp+AstzizOZ5QqCU/gm+B08DXMz1PZpcxDU=" + }, + "logConsistency": [ + "l/ETx02cDerMl2eFKc//+O8k+qbGHzufTnAnZOZgAGY=", + "2rOFF1kt6JEd5YxZFM3/WYFJ8HRo/smKhIQMi9b8Z08=" + ] + } + }, + "leaf": { + "vrfProof": "nVl5wauLeUZIAyTT3ETTK4lboUsSLxR0kK6U/dGPZGQ5zh+qGDtdjLjN+2wBgNqMMz95acUePW2NQEUMXxB+uASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "mapInclusion": { + "leaf": { + "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", + "leafHash": "wMposc6RMHQe2JDCoCtAWiVwq2FM6q3OIHEsKDa0hrU=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIggR4lwf/y8A6J8sXPoeCmudG0p8mnKDHIU2Rxt5vHz5FCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiADNs6+vAaWnRfeVEEXmkAB+1rRTFTghYEb+7UXBVU00wIgMztK+/+5nlMyG891Oea4svLUWTbTR/m+Su8poKP+M50=" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "vxjJL/PQNPjkZr5XHsqy66B92lELqeFYFayoXl7f30s=", + "" + ] + }, + "committed": { + "key": "S61ZXOeNyV++Hmf/dPro0w==", + "data": "Ym9iLWtleTE=" + } + } + } + } + }, + { + "desc": "bob1_set", + "lastVerifiedLogRoot": { + "rootHash": "+DcQtk5Rh8OAyD37VW/ab99GT2P086TPm6q4VCFaSlY=", + "treeSize": "1" + }, + "getUser": { + "request": { + "userId": "bob" + }, + "response": { + "revision": { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgsrbhkEUgkw8kEAzY73Fy+KVM+10QmbhoMxeAIk6qdIEVr3zFoZ0P8AAAAAAAAAADABwSAhgBEhYI6f+k9NeY39cVEPn+odzZmN/XFRgC", + "signature": "MEUCIC78YQuXVnfhPLFq9MoDQP//D5yKD44mHBYIER9/YAZZAiEAyMkrHxJU6HOm6qeJUkclxCXgeIx0zuRenzbjXNbtwoQ=" + }, + "logInclusion": [ + "KEAiZpwdceai7/LOMwXv5IrQjRwejdXRb1TGwFwxvPI=", + "Q/mIeV+MNHR5OhnrSCBPOZDLCDezAQJdJ84lhfU8XRo=" + ] + }, + "latestLogRoot": { + "logRoot": { + "keyHint": "LxC1hBdDAC0=", + "logRoot": "AAEAAAAAAAAABCBvb5k/tVtS+5+y9fl2U/T4Kbi2VNGK5Sgdc3+EpW7aIBWvfMWz+dpIAAAAAAAAAAQAAA==", + "logRootSignature": "MEUCIG7gEGZku2b+Vb3KFoB/gtSQ3Yw9hkkvHwozaBGw6cZWAiEAhVzftLZfTp+AstzizOZ5QqCU/gm+B08DXMz1PZpcxDU=" + }, + "logConsistency": [ + "l/ETx02cDerMl2eFKc//+O8k+qbGHzufTnAnZOZgAGY=", + "2rOFF1kt6JEd5YxZFM3/WYFJ8HRo/smKhIQMi9b8Z08=" + ] + } + }, + "leaf": { + "vrfProof": "xgyVgLUoiLp4wkUCDuLZClVXPilf/OXD/mdHrm+hvqmCX51tGKrV+ZAPrcQxD9HRJHg+WUgEuOpG9ePldlysIQSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "mapInclusion": { + "leaf": { + "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", + "leafHash": "wMposc6RMHQe2JDCoCtAWiVwq2FM6q3OIHEsKDa0hrU=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIggR4lwf/y8A6J8sXPoeCmudG0p8mnKDHIU2Rxt5vHz5FCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiADNs6+vAaWnRfeVEEXmkAB+1rRTFTghYEb+7UXBVU00wIgMztK+/+5nlMyG891Oea4svLUWTbTR/m+Su8poKP+M50=" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "vxjJL/PQNPjkZr5XHsqy66B92lELqeFYFayoXl7f30s=", + "" + ] + }, + "committed": { + "key": "S61ZXOeNyV++Hmf/dPro0w==", + "data": "Ym9iLWtleTE=" + } + } + } + } + }, + { + "desc": "bob2_setkeys", + "lastVerifiedLogRoot": { + "rootHash": "+DcQtk5Rh8OAyD37VW/ab99GT2P086TPm6q4VCFaSlY=", + "treeSize": "1" + }, + "getUser": { + "request": { + "userId": "bob" + }, + "response": { + "revision": { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgdsLr0Cc0kQzCcfW0jnnn+Mo8MVDcVZauMODsdJDGYBIVr3zFxQGjwAAAAAAAAAAEACYSDBCZpMP025jf1xUYARIWCPn+odzZmN/XFRD5/qHc2Zjf1xUYAg==", + "signature": "MEUCIQCN2CD1je9nGHrZVZ36vWiV2uLaqv1JWXEuTyPlQg5zsQIgTVCKRmIaESkDGdKhXEFZQQZDZ4IF8Q8Irb49kjpP4bE=" + }, + "logInclusion": [ + "b2+ZP7VbUvufsvX5dlP0+Cm4tlTRiuUoHXN/hKVu2iA=" + ] + }, + "latestLogRoot": { + "logRoot": { + "keyHint": "LxC1hBdDAC0=", + "logRoot": "AAEAAAAAAAAABSCGtltDV8+CSnbRs2nenzIyZ+dTHuSZJNrjtZf66yOTuxWvfMXR8JFoAAAAAAAAAAUAAA==", + "logRootSignature": "MEYCIQCZ5F8LP3yIYzGWaEzBS8a6cD8FJuVrY3ANfsiWQjzYHAIhAImufabAGpnTMLWlCclvL6mcanG/PAREhXT+uob4fe7a" + }, + "logConsistency": [ + "l/ETx02cDerMl2eFKc//+O8k+qbGHzufTnAnZOZgAGY=", + "2rOFF1kt6JEd5YxZFM3/WYFJ8HRo/smKhIQMi9b8Z08=", + "1jACMs+u3cE8TcGKcT18F8b3rx3ZcbgUckIGqmiGKDk=" + ] + } + }, + "leaf": { + "vrfProof": "xNGAUMZ4Js9iJKX7TIVMxFsY4Obr1+nHqJbrM/IhDOZDaGpsqNU+b1Gz1L/rfUoK1W7XNqXgQmsl7Do5uabteQSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "mapInclusion": { + "leaf": { + "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", + "leafHash": "XJ+yk23Llem0cNmwZK6OiJ88/yRlO9JGNaazhxBC4bw=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgAjXPUsueRk+hFkQ4pi3UBuqYsQ/CNmsMn69zsqO9CwNCICLKnon2JC2Araq31doLevMP/zftWGNKgFZCz7HJRjFTSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiB0wFJe0sn+v00HGBRfPifvJA+V5FvnoZE7hTzW4KsvlQIhAL9g3E3EZaQBrCL7WAq4SmjCwQ2aPon62slpLhcnpmpp" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "vxjJL/PQNPjkZr5XHsqy66B92lELqeFYFayoXl7f30s=", + "" + ] + }, + "committed": { + "key": "K2yaI0C+/XoFxwHM3hYGyA==", + "data": "Ym9iLWtleTI=" + } + } + } + } + }, + { + "desc": "bob3_setnewkeys", + "lastVerifiedLogRoot": { + "rootHash": "fbpuTEp/X0FB+F0fBdRuo82K0bbz97QCSEScklDZhvo=", + "treeSize": "6" + }, + "getUser": { + "request": { + "userId": "bob" + }, + "response": { + "revision": { + "mapRoot": { + "mapRoot": { + "mapRoot": "AAEgJ1aJz3fJabigMxLN84lRPsZeaQ2WhGco614sdtbS+jYVr3zF3Q6XcAAAAAAAAAAFADASFgiZpMP025jf1xUQmaTD9NuY39cVGAESFgj5/qHc2Zjf1xUQ+YDOz92Y39cVGAI=", + "signature": "MEUCIQDe6FfyY7odk78l6foJQffKUJX9P6piaOnolx5JzsgT+gIgUaYFMHcvYLr/wyerN8/VJfVyUPCuPG0mVi1Xaj4//Z8=" + }, + "logInclusion": [ + "1jACMs+u3cE8TcGKcT18F8b3rx3ZcbgUckIGqmiGKDk=", + "b2+ZP7VbUvufsvX5dlP0+Cm4tlTRiuUoHXN/hKVu2iA=" + ] + }, + "latestLogRoot": { + "logRoot": { + "keyHint": "LxC1hBdDAC0=", + "logRoot": "AAEAAAAAAAAABiB9um5MSn9fQUH4XR8F1G6jzYrRtvP3tAJIRJySUNmG+hWvfMXv3w8QAAAAAAAAAAYAAA==", + "logRootSignature": "MEUCIQCHDVedZsNH2kzwLoL3fXOZY6UFWz1Gb9BRH8ChwonkbwIgbah8FhsU7q+XmBazJa6gflanVS0QCrf3iU6ULs5H2l0=" + }, + "logConsistency": [ + "l/ETx02cDerMl2eFKc//+O8k+qbGHzufTnAnZOZgAGY=", + "2rOFF1kt6JEd5YxZFM3/WYFJ8HRo/smKhIQMi9b8Z08=", + "3awmh05sd6iE18AjPUOgvZCDPNdQm4SoyTkRcPLPvyI=" + ] + } + }, + "leaf": { + "vrfProof": "heMXaI/CSHpX3i6I9iWPl7bwA7vQMe1lVIu5k9xi4XHpgkmE5T9947NdKnpaQHAdQbX7tsTSUYEYs+Hm6MjOzwSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "mapInclusion": { + "leaf": { + "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", + "leafHash": "RmPIJBFqqYEX5zFGXku68OP3hFWCz7jiKYqmY3YXlnE=", + "leafValue": "CpEDGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgrAk8p8DdRXPqv64lqV15jhBEiEP80NC3J0o3x3qEYYZCIAGMvEd4GAsFb/KeYa/P/iLHq+kmRbhpf45A8K2yoSu1SqgCCAISkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhogJKDbR4uyhSMXW80x02NtYRUFlMQbLOA+tLe/MbwZ69QiIJF0bpHH3Z/21sLp3PtRWzIju8iNL73rWwQsDoV5H3WUGAMQARgCIAMSRjBEAiA1nxdvXzCQa7gfxR2OT3JIho8PUcaGD6d/mDZMN7ElywIgQMPQLoi6R/SIHAz77kQpvpbf3srMor1EHiPPabV1t3YSRzBFAiBBEbriuJK2BekiJBS3A9LjwGDK5C7vBCK6cAdHMVANTQIhAMDWlzzZxmGJGHPjHj+L9oKmj2nuI0A8sbARiYXvhyQG" + }, + "inclusion": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "vxjJL/PQNPjkZr5XHsqy66B92lELqeFYFayoXl7f30s=", + "" + ] + }, + "committed": { + "key": "QKQ46Y/nGw0PAl3aLTdABA==", + "data": "Ym9iLWtleTM=" + } + } + } + } + } + ] +} \ No newline at end of file diff --git a/core/testdata/TestListHistory b/core/testdata/TestListHistory new file mode 100644 index 000000000..66e5f6d26 --- /dev/null +++ b/core/testdata/TestListHistory @@ -0,0 +1,31 @@ +{ + "description": "TestListHistory", + "directory": { + "directoryId": "integration", + "log": { + "treeId": "487237151447803649", + "treeType": "PREORDERED_LOG", + "hashStrategy": "RFC6962_SHA256", + "hashAlgorithm": "SHA256", + "signatureAlgorithm": "ECDSA", + "publicKey": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqGXPnhMIclRmYHSmAnCMmfDUJ9iNBMmFxR/wHJdL12AuVUkgcuhbEp2hy5ETs7bfFc2P95IYFlmbiuHMq3UY/A==" + } + }, + "map": { + "treeId": "4984222440885572471", + "treeType": "MAP", + "hashStrategy": "CONIKS_SHA256", + "hashAlgorithm": "SHA256", + "signatureAlgorithm": "ECDSA", + "publicKey": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWLHm0TLYaTzENpPkBl2E79ySqJI+EW51VpoWh7wqY3OjSJcft4zgEeNeHYEb/T2jBFH4eYg4iSN7D/VYaJxJRA==" + } + }, + "vrf": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEF2Pm2kKya+JBun1QRmKQMcoMOIBNWp8fjECkJX+/hNWdV1UKb12W+yXcX2MqN7ZMX77hS9mLus/WaE0NS370mA==" + }, + "minInterval": "0.100s", + "maxInterval": "216000s" + } +} \ No newline at end of file diff --git a/core/testdata/TestMonitor b/core/testdata/TestMonitor new file mode 100644 index 000000000..3a75f241d --- /dev/null +++ b/core/testdata/TestMonitor @@ -0,0 +1,31 @@ +{ + "description": "TestMonitor", + "directory": { + "directoryId": "integration", + "log": { + "treeId": "6509326580909477417", + "treeType": "PREORDERED_LOG", + "hashStrategy": "RFC6962_SHA256", + "hashAlgorithm": "SHA256", + "signatureAlgorithm": "ECDSA", + "publicKey": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqGXPnhMIclRmYHSmAnCMmfDUJ9iNBMmFxR/wHJdL12AuVUkgcuhbEp2hy5ETs7bfFc2P95IYFlmbiuHMq3UY/A==" + } + }, + "map": { + "treeId": "3866883288346374210", + "treeType": "MAP", + "hashStrategy": "CONIKS_SHA256", + "hashAlgorithm": "SHA256", + "signatureAlgorithm": "ECDSA", + "publicKey": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWLHm0TLYaTzENpPkBl2E79ySqJI+EW51VpoWh7wqY3OjSJcft4zgEeNeHYEb/T2jBFH4eYg4iSN7D/VYaJxJRA==" + } + }, + "vrf": { + "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEF2Pm2kKya+JBun1QRmKQMcoMOIBNWp8fjECkJX+/hNWdV1UKb12W+yXcX2MqN7ZMX77hS9mLus/WaE0NS370mA==" + }, + "minInterval": "0.100s", + "maxInterval": "216000s" + } +} \ No newline at end of file From ba755d578cb73e8634ae89cd2cc4d767f9f12190 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Mon, 8 Jul 2019 17:57:50 +0100 Subject: [PATCH 07/16] Remove old testdata --- core/testdata/batch_get_user.json | 2317 -------- core/testdata/batch_list_user_revisions.json | 5086 ----------------- core/testdata/directory_batch_get_user.json | 28 - .../directory_batch_list_user_revisions.json | 28 - core/testdata/directory_get_and_update.json | 28 - core/testdata/get_and_update.json | 2109 ------- 6 files changed, 9596 deletions(-) delete mode 100644 core/testdata/batch_get_user.json delete mode 100644 core/testdata/batch_list_user_revisions.json delete mode 100644 core/testdata/directory_batch_get_user.json delete mode 100644 core/testdata/directory_batch_list_user_revisions.json delete mode 100644 core/testdata/directory_get_and_update.json delete mode 100644 core/testdata/get_and_update.json diff --git a/core/testdata/batch_get_user.json b/core/testdata/batch_get_user.json deleted file mode 100644 index 63f2fbe87..000000000 --- a/core/testdata/batch_get_user.json +++ /dev/null @@ -1,2317 +0,0 @@ -[ - { - "Desc": "single empty", - "UserID": "", - "GetUserResp": null, - "TrustNewLog": false, - "UserIDs": [ - "alice" - ], - "BatchListUserRevisionsResp": null, - "BatchGetUserResp": { - "revision": { - "map_root": { - "map_root": { - "map_root": "AAEg1mYgOw0fW/80sZbn3pmNnpOnCg95aJYXTipVliXR+bsVp4TLRiME9wAAAAAAAAABABISDBDo7qKKtJnh0xUYARICGAI=", - "signature": "MEUCIFw04OO/kYmhZIrhpyRbNXXCpfby0EUmfdrqZy8CSjjBAiEAlZ25Szll5vXds8JVcQ7Q6qR9fRNWFykvzGnCOuigiT0=" - }, - "log_inclusion": [ - "Ny7n/tq+dcbTuhB4qaqtPzDbp9GbrogtA5C4lZyNcHA=" - ] - }, - "latest_log_root": { - "log_root": { - "key_hint": "SmMkQHsAW3E=", - "log_root": "AAEAAAAAAAAAAiBMfakpQJqCprWQd0oYO7wLjOsomZ6F9pWhgth4ouq1yRWnhMtZe50jAAAAAAAAAAIAAA==", - "log_root_signature": "MEQCIBFuSTPlMqF5A/pQHcaK/fgu3CFGLbI11fntW4o+MbpYAiBRVwxvDzeMmPavmnaA6FUekktESNB85HGKdj+wdAcuEw==" - } - } - }, - "map_leaves_by_user_id": { - "alice": { - "vrf_proof": "vVAiT/ESFgipuO5EZuQ5NcMSaOR0l3OwV2gRA98R6AFpA8LhAoC15aCSnneZ3ev1ydHi7P7tB8mVQgo8t8Fk6ARTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", - "map_inclusion": { - "leaf": { - "index": "A9/B/HF0DP6pap5CSp8/Jo05FhoGWECfsTAnRlVdzvM=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "SGq1NrAlVXTaBYluqcrC70DLlg8pVBlATXGVBvETJ/I=", - "N9CNeyq1Hc1n9qCMRYgPS4k9nGETmh4ZrCWUZbuQsPo=", - "" - ] - } - } - } - } - }, - { - "Desc": "multi empty", - "UserID": "", - "GetUserResp": null, - "TrustNewLog": false, - "UserIDs": [ - "alice", - "zelda" - ], - "BatchListUserRevisionsResp": null, - "BatchGetUserResp": { - "revision": { - "map_root": { - "map_root": { - "map_root": "AAEg1mYgOw0fW/80sZbn3pmNnpOnCg95aJYXTipVliXR+bsVp4TLRiME9wAAAAAAAAABABISDBDo7qKKtJnh0xUYARICGAI=", - "signature": "MEUCIFw04OO/kYmhZIrhpyRbNXXCpfby0EUmfdrqZy8CSjjBAiEAlZ25Szll5vXds8JVcQ7Q6qR9fRNWFykvzGnCOuigiT0=" - }, - "log_inclusion": [ - "Ny7n/tq+dcbTuhB4qaqtPzDbp9GbrogtA5C4lZyNcHA=" - ] - }, - "latest_log_root": { - "log_root": { - "key_hint": "SmMkQHsAW3E=", - "log_root": "AAEAAAAAAAAAAiBMfakpQJqCprWQd0oYO7wLjOsomZ6F9pWhgth4ouq1yRWnhMtZe50jAAAAAAAAAAIAAA==", - "log_root_signature": "MEQCIBFuSTPlMqF5A/pQHcaK/fgu3CFGLbI11fntW4o+MbpYAiBRVwxvDzeMmPavmnaA6FUekktESNB85HGKdj+wdAcuEw==" - } - } - }, - "map_leaves_by_user_id": { - "alice": { - "vrf_proof": "ZHJMsyJlPfd1kyisG3NGTPDU8LskffXsaQXgVenUpEclq+T9iJe2uvPrf2QXGsLJ4ghAjlO+g42qehQB+Xu2dwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", - "map_inclusion": { - "leaf": { - "index": "A9/B/HF0DP6pap5CSp8/Jo05FhoGWECfsTAnRlVdzvM=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "SGq1NrAlVXTaBYluqcrC70DLlg8pVBlATXGVBvETJ/I=", - "N9CNeyq1Hc1n9qCMRYgPS4k9nGETmh4ZrCWUZbuQsPo=", - "" - ] - } - }, - "zelda": { - "vrf_proof": "x77ZimPOW1xMkmHcNvUpH4++bs8814hgd7fSNG/1LIxxgXdQtd32Xx/eFsAF/8JsmNqUm8AbGmrQLm1r6y4IqwQtrUX0DufLX9SITX79ae9LqiYFNaU8XDMHSZ44UUb2kMU6/IycyPbQiVogsuIIrgNYXImVlFvuCSyjC6Kg03hK", - "map_inclusion": { - "leaf": { - "index": "L+Kt2w2EizRLIRMNTQu0J9o4c37Jhf2MT+xy8XZ/QVo=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "3uBr7egI67ujpzsyyCc9bdMvbPjakjRHInmlIe6RN3s=", - "", - "", - "N9CNeyq1Hc1n9qCMRYgPS4k9nGETmh4ZrCWUZbuQsPo=", - "" - ] - } - } - } - } - }, - { - "Desc": "single full", - "UserID": "", - "GetUserResp": null, - "TrustNewLog": false, - "UserIDs": [ - "bob" - ], - "BatchListUserRevisionsResp": null, - "BatchGetUserResp": { - "revision": { - "map_root": { - "map_root": { - "map_root": "AAEg1mYgOw0fW/80sZbn3pmNnpOnCg95aJYXTipVliXR+bsVp4TLRiME9wAAAAAAAAABABISDBDo7qKKtJnh0xUYARICGAI=", - "signature": "MEUCIFw04OO/kYmhZIrhpyRbNXXCpfby0EUmfdrqZy8CSjjBAiEAlZ25Szll5vXds8JVcQ7Q6qR9fRNWFykvzGnCOuigiT0=" - }, - "log_inclusion": [ - "Ny7n/tq+dcbTuhB4qaqtPzDbp9GbrogtA5C4lZyNcHA=" - ] - }, - "latest_log_root": { - "log_root": { - "key_hint": "SmMkQHsAW3E=", - "log_root": "AAEAAAAAAAAAAiBMfakpQJqCprWQd0oYO7wLjOsomZ6F9pWhgth4ouq1yRWnhMtZe50jAAAAAAAAAAIAAA==", - "log_root_signature": "MEQCIBFuSTPlMqF5A/pQHcaK/fgu3CFGLbI11fntW4o+MbpYAiBRVwxvDzeMmPavmnaA6FUekktESNB85HGKdj+wdAcuEw==" - } - } - }, - "map_leaves_by_user_id": { - "bob": { - "vrf_proof": "vF84GVjlgE+w+0tuvElkicBWdd86Sk9uP2zGkbvt1JZaYwazDhpqD/QQhqz+XaXUmoYED9nmY33NS8lMrxxx4ASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", - "map_inclusion": { - "leaf": { - "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leaf_hash": "E/VlhcBnhsuvbL1wcSQZ95rx/uUcB2CNNnS5Wq6+jrU=", - "leaf_value": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgIfC/zZl+3xeM4VwhQgEyIoPt5A5Np93rt8Ibjwonpx5CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEA+yRJDxnot3jVk3RyS/P6IErs/MNgxfNJHjjjEbtYPekCIHZB2JtLnszAWrjGzROZRp4AG1jAQDyrSTQl66tvgQi3" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "q8MzmCp/dTL3aVqvvPOxU0WOzAWZixnaB5rEymXxogg=", - "" - ] - }, - "committed": { - "key": "MGu3ZuMXoxW0TmK+FN0ELg==", - "data": "Ym9iLWtleQ==" - } - } - } - } - }, - { - "Desc": "multi full", - "UserID": "", - "GetUserResp": null, - "TrustNewLog": false, - "UserIDs": [ - "bob", - "carol" - ], - "BatchListUserRevisionsResp": null, - "BatchGetUserResp": { - "revision": { - "map_root": { - "map_root": { - "map_root": "AAEg1mYgOw0fW/80sZbn3pmNnpOnCg95aJYXTipVliXR+bsVp4TLRiME9wAAAAAAAAABABISDBDo7qKKtJnh0xUYARICGAI=", - "signature": "MEUCIFw04OO/kYmhZIrhpyRbNXXCpfby0EUmfdrqZy8CSjjBAiEAlZ25Szll5vXds8JVcQ7Q6qR9fRNWFykvzGnCOuigiT0=" - }, - "log_inclusion": [ - "Ny7n/tq+dcbTuhB4qaqtPzDbp9GbrogtA5C4lZyNcHA=" - ] - }, - "latest_log_root": { - "log_root": { - "key_hint": "SmMkQHsAW3E=", - "log_root": "AAEAAAAAAAAAAiBMfakpQJqCprWQd0oYO7wLjOsomZ6F9pWhgth4ouq1yRWnhMtZe50jAAAAAAAAAAIAAA==", - "log_root_signature": "MEQCIBFuSTPlMqF5A/pQHcaK/fgu3CFGLbI11fntW4o+MbpYAiBRVwxvDzeMmPavmnaA6FUekktESNB85HGKdj+wdAcuEw==" - } - } - }, - "map_leaves_by_user_id": { - "bob": { - "vrf_proof": "cjKo+LWmC3VpoaEwrQcgijvlXOraFN4dg4efPHfbPYJ3naBuGvOyhNpgxzA+irJDeZx9kRrG5rFgLcwvidYNJwSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", - "map_inclusion": { - "leaf": { - "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leaf_hash": "E/VlhcBnhsuvbL1wcSQZ95rx/uUcB2CNNnS5Wq6+jrU=", - "leaf_value": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgIfC/zZl+3xeM4VwhQgEyIoPt5A5Np93rt8Ibjwonpx5CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEA+yRJDxnot3jVk3RyS/P6IErs/MNgxfNJHjjjEbtYPekCIHZB2JtLnszAWrjGzROZRp4AG1jAQDyrSTQl66tvgQi3" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "q8MzmCp/dTL3aVqvvPOxU0WOzAWZixnaB5rEymXxogg=", - "" - ] - }, - "committed": { - "key": "MGu3ZuMXoxW0TmK+FN0ELg==", - "data": "Ym9iLWtleQ==" - } - }, - "carol": { - "vrf_proof": "e1F/gWp1dnBRoD4tMaTd51diRzeBckzhzJKkS1JKJkJ/9bPC3zx50zkdsakArBzJ+kvg1wQTNNlhyk4FxVz6SQSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", - "map_inclusion": { - "leaf": { - "index": "JYx5mwUZM4rLnxSas5/NC9GiuqMYVWThqNqJdDz6bvw=", - "leaf_hash": "tSgAqqErkUDkbkbibS4VK/6FAuw3YtdXU/dV1qrevXk=", - "leaf_value": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgn3pRjw8fTJFkRZASx5BsovRe+EgFk2aLm/HhwwWlS7lCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAmWcsLI0QXbeSaSo/AnuXvT/zL4AnhENksBtwCcm0Up8CIFDcoy3gpkkhoK7AdyDV27PZHhqQK2C1mY6xenhfi0jG" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "N9CNeyq1Hc1n9qCMRYgPS4k9nGETmh4ZrCWUZbuQsPo=", - "" - ] - }, - "committed": { - "key": "b6dd5hxoljaq7imIR2jFyw==", - "data": "Y2Fyb2wta2V5" - } - } - } - } - }, - { - "Desc": "multi mixed", - "UserID": "", - "GetUserResp": null, - "TrustNewLog": false, - "UserIDs": [ - "alice", - "bob" - ], - "BatchListUserRevisionsResp": null, - "BatchGetUserResp": { - "revision": { - "map_root": { - "map_root": { - "map_root": "AAEg1mYgOw0fW/80sZbn3pmNnpOnCg95aJYXTipVliXR+bsVp4TLRiME9wAAAAAAAAABABISDBDo7qKKtJnh0xUYARICGAI=", - "signature": "MEUCIFw04OO/kYmhZIrhpyRbNXXCpfby0EUmfdrqZy8CSjjBAiEAlZ25Szll5vXds8JVcQ7Q6qR9fRNWFykvzGnCOuigiT0=" - }, - "log_inclusion": [ - "Ny7n/tq+dcbTuhB4qaqtPzDbp9GbrogtA5C4lZyNcHA=" - ] - }, - "latest_log_root": { - "log_root": { - "key_hint": "SmMkQHsAW3E=", - "log_root": "AAEAAAAAAAAAAiBMfakpQJqCprWQd0oYO7wLjOsomZ6F9pWhgth4ouq1yRWnhMtZe50jAAAAAAAAAAIAAA==", - "log_root_signature": "MEQCIBFuSTPlMqF5A/pQHcaK/fgu3CFGLbI11fntW4o+MbpYAiBRVwxvDzeMmPavmnaA6FUekktESNB85HGKdj+wdAcuEw==" - } - } - }, - "map_leaves_by_user_id": { - "alice": { - "vrf_proof": "60X4g4nnstSHomRbcc5LNJHOQTLiMpB/eM2uLkNx0z27igDP56lme+8zNWNrwmXr+MwaQT1hBPZTLcpH7Lg55wRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", - "map_inclusion": { - "leaf": { - "index": "A9/B/HF0DP6pap5CSp8/Jo05FhoGWECfsTAnRlVdzvM=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "SGq1NrAlVXTaBYluqcrC70DLlg8pVBlATXGVBvETJ/I=", - "N9CNeyq1Hc1n9qCMRYgPS4k9nGETmh4ZrCWUZbuQsPo=", - "" - ] - } - }, - "bob": { - "vrf_proof": "xoIDahPbAsQaVT1/381Dvqk8XDaoR5kGoLiKLEE1/5wuVpAU9hn2SEWuJI98osNwkbtB0DBMOlHqk/3JWO2NJwSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", - "map_inclusion": { - "leaf": { - "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leaf_hash": "E/VlhcBnhsuvbL1wcSQZ95rx/uUcB2CNNnS5Wq6+jrU=", - "leaf_value": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgIfC/zZl+3xeM4VwhQgEyIoPt5A5Np93rt8Ibjwonpx5CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEA+yRJDxnot3jVk3RyS/P6IErs/MNgxfNJHjjjEbtYPekCIHZB2JtLnszAWrjGzROZRp4AG1jAQDyrSTQl66tvgQi3" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "q8MzmCp/dTL3aVqvvPOxU0WOzAWZixnaB5rEymXxogg=", - "" - ] - }, - "committed": { - "key": "MGu3ZuMXoxW0TmK+FN0ELg==", - "data": "Ym9iLWtleQ==" - } - } - } - } - } -] \ No newline at end of file diff --git a/core/testdata/batch_list_user_revisions.json b/core/testdata/batch_list_user_revisions.json deleted file mode 100644 index 6bf3fba1e..000000000 --- a/core/testdata/batch_list_user_revisions.json +++ /dev/null @@ -1,5086 +0,0 @@ -[ - { - "Desc": "single revision", - "UserID": "", - "GetUserResp": null, - "TrustNewLog": false, - "UserIDs": [ - "alice", - "bob" - ], - "BatchListUserRevisionsResp": { - "latest_log_root": { - "log_root": { - "key_hint": "Suo5OhL9dIk=", - "log_root": "AAEAAAAAAAAACyD9iAKWPyPKkD39N3GHvY7B27WreRJK7GDo1fYYPj+0ExWnhNBdlGLyAAAAAAAAAAsAAA==", - "log_root_signature": "MEUCIH4/FucXNQH/VQvnn+wZWZDfQm0MFB2mQ7oxPh/2CP2vAiEAtVqGzIkL37DrZpiz/p/tKdQnUjBaN0UXDoMMbjqQYg4=" - } - }, - "map_revisions": [ - { - "map_root": { - "map_root": { - "map_root": "AAEgdLIijOyx3OKkuyXgzdNrCqv3rkI+qy7HKN6tAW2M344Vp4TPbO+4SgAAAAAAAAADABwSAhgBEhYI1biqkPSZ4dMVENbX/9b2meHTFRgC", - "signature": "MEUCIDl08m+7JmEAI8nfi0nLRsN25CmBBPYstuivf6MxOG6PAiEAoEri8VEXqaAAPtERiTppNmvi2SzPvgsI9y15MHTXtkg=" - }, - "log_inclusion": [ - "UZ58xq3+qBAuAeMiVtDYne/G9so0ivuKUCBDADCvBhE=", - "xzuhwSnw8ujKmqgkWaFM4oDGq67Hc/xiM8aRAHYH0x0=", - "sxb6MVxL/zRbO2KsPS/3xOOzFdVVa5a2TM+oFkf8OXI=", - "SIsBCCOnPWjp7FIky6ygBPd14KXWmUo1wUwb+k7gKeo=" - ] - }, - "map_leaves_by_user_id": { - "alice": { - "vrf_proof": "12Zw49DQQ4m7Z/s2X+2AchoC8aCcpfqr6z2ZjvkV0AJeQFAmGYWRCD+cJEBx1DZsw6eG22KMz2kt6FXeao9wHQRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", - "map_inclusion": { - "leaf": { - "leaf_hash": "BRqfIxzO53fHJArvedQujyCxY6NVZVYeVvQZpr/L9wQ=", - "leaf_value": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgTNKrTzG2iBrT6Ughi8VEj6zuBeOr34HBjUsSGRZOEvpCIBorH1muJTaCTq+f6Nh2SFtPVtrT/6KST6FKoraQUaznSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAqavlkVUEV8qJRx1EQjBGHA+mzOEjLlHeWfTMXTfIqqUCIQC296iD9Ep2Ar+RKYEbPKAB1y9qquxcIUQpX784io+wTQ==" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "e4cW/lyIIWce5wMjf1n8l0/alECmKg90gX5AjLwKM5s=", - "" - ] - }, - "committed": { - "key": "oTU71KbrZ3qtfuOd+u5hQA==", - "data": "YmFyMg==" - } - }, - "bob": { - "vrf_proof": "+nXLFTRmBOFzfdXBT6uOy6DQWcc+RQRnfh2IowMys6TAY+NBWV6lR5nmRMuh22Jh/nYNrdDdpreDwYkNqeto6QSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", - "map_inclusion": { - "leaf": { - "leaf_hash": "rXnI1F43hZR7zQIzU1MngoiaYrc7Yb9DJF8oBAIX/zQ=", - "leaf_value": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgR+xteBRVmETS7vB5fOYrbqhLcxVInbp9EvhJc8pvZBRCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiBAMONHNQ8c1XprZklDOfC542spvdEAc180Ls4dKD0EwwIhALf78NxYeXMMcZ9mToyKA8qhy/zG+pLHDfgPvu/DxRlg" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "lDpjrmsfYBuxa0+ds90kWSRemK/EzGX5+gnFocmgg3Q=", - "" - ] - }, - "committed": { - "key": "wGjLZH/xsm+hlA+4mRYxkw==", - "data": "YmFyMTE=" - } - } - } - } - ] - }, - "BatchGetUserResp": null - }, - { - "Desc": "multiple revisions test 1", - "UserID": "", - "GetUserResp": null, - "TrustNewLog": false, - "UserIDs": [ - "carol" - ], - "BatchListUserRevisionsResp": { - "latest_log_root": { - "log_root": { - "key_hint": "Suo5OhL9dIk=", - "log_root": "AAEAAAAAAAAACyD9iAKWPyPKkD39N3GHvY7B27WreRJK7GDo1fYYPj+0ExWnhNBdlGLyAAAAAAAAAAsAAA==", - "log_root_signature": "MEUCIH4/FucXNQH/VQvnn+wZWZDfQm0MFB2mQ7oxPh/2CP2vAiEAtVqGzIkL37DrZpiz/p/tKdQnUjBaN0UXDoMMbjqQYg4=" - } - }, - "map_revisions": [ - { - "map_root": { - "map_root": { - "map_root": "AAEg+N1vHA1e8xBYCu3CQpabBXleFyNSUaczEqV1/MML80AVp4TPfsbZgQAAAAAAAAAEABwSAhgBEhYI1tf/1vaZ4dMVENTA+uP3meHTFRgC", - "signature": "MEYCIQDOVhTt8B4x6DmB8LUbDQ6FDmSpI2O7LIdJiV3duGG35QIhANdx8Y4tPtT8J5qHZH7SFaWwgK+MlNgBFrgf3UM/CoST" - }, - "log_inclusion": [ - "PRMGnzMutZT0tsBnJu1VTLo6d1rERk06XDg9b5cVL1w=", - "BeW2lpoVjb0P6EB7/W1yCnOV/CyDNb+W0ig+i6jRKiw=", - "ITYpUBZUyinF17A144BAUooR+VOMPtBLtTP6O1AHl3I=", - "SIsBCCOnPWjp7FIky6ygBPd14KXWmUo1wUwb+k7gKeo=" - ] - }, - "map_leaves_by_user_id": { - "carol": { - "vrf_proof": "NNkd8pH6NGNTed0YtC4v0v3UIpxpP+XSa8buao+ZygoiwtSxaRcOWOHTLTzL70f6Q6fgSKhml2cb2ZwYsV8awwSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", - "map_inclusion": { - "leaf": { - "leaf_hash": "R3j8xFB5po/TjsnURMEssD3A8E9qb+yumkm2GAfqr44=", - "leaf_value": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIg3A2nOCpqQF5E+YnQ3qBzavnk4FmnY33BRWLc0Ol5P1JCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiAg7UteY1ULeVNl6DJgRC5ojaq+dBtb4KboKVeRH/u3pAIhAN2WK6LiKsgKIYlEOxRNMFXnUDKAQgjx0GUhJ8ykuVyn" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "PbpXyGZHtH7dT+Jit1diqhz7ST1/PKGd2MOlRkCo3EQ=", - "e4cW/lyIIWce5wMjf1n8l0/alECmKg90gX5AjLwKM5s=", - "" - ] - }, - "committed": { - "key": "7B90WTAv9TSWw5XYtJyu0Q==", - "data": "YmFyMjE=" - } - } - } - }, - { - "map_root": { - "map_root": { - "map_root": "AAEg30Ei4ES0Kkz7nrwNQtj4pPoFXykxTmuITW/xo5RgnnEVp4TPnkgDIQAAAAAAAAAFABwSAhgBEhYI1MD64/eZ4dMVEJiJ9OH5meHTFRgC", - "signature": "MEQCIBhskbFWHVVKLhC+euvD4akfvF43YiBaw0TMiRfPOPUtAiAQfw2TZtvSZbM+bedXiMH0lm5SICeQ5zRFyQKlI8eeBg==" - }, - "log_inclusion": [ - "wdLKjdYFG8CP8g30uGI/TN3A5AJrov30xGoJcweKfVI=", - "BeW2lpoVjb0P6EB7/W1yCnOV/CyDNb+W0ig+i6jRKiw=", - "ITYpUBZUyinF17A144BAUooR+VOMPtBLtTP6O1AHl3I=", - "SIsBCCOnPWjp7FIky6ygBPd14KXWmUo1wUwb+k7gKeo=" - ] - }, - "map_leaves_by_user_id": { - "carol": { - "vrf_proof": "0Ie+rzsB8uB86jnCgENX3c/O5H+I6vkby1C8yQzt4UVhOlH0O2P0ryqwo2yRIz0v7+qs6O/0ZEUq1uB2Q6jHpgSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", - "map_inclusion": { - "leaf": { - "leaf_hash": "R7UOhGlCesWl69/3ayJAd/PQBRF2y3XNItmLZ6SYk0s=", - "leaf_value": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgedsbU+kmuUXbGMMvI+S4d0Kvk7F/E0x08fP+5NZdsW9CIK/YTacUavxw7OunFDQMrmVgJ9MNKl+sOWtHmA5QsnLBSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiAWmktGknDg+NvuMX9zeSrmUPWQyug/j8+NBHQttNLlaAIgAbzC+JpsBPC0ndemzU0q9Dh/F54xQzAL308rcGouldM=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "PbpXyGZHtH7dT+Jit1diqhz7ST1/PKGd2MOlRkCo3EQ=", - "e4cW/lyIIWce5wMjf1n8l0/alECmKg90gX5AjLwKM5s=", - "" - ] - }, - "committed": { - "key": "1a+He1H4Su6GPymwHAY21A==", - "data": "YmFyMjI=" - } - } - } - }, - { - "map_root": { - "map_root": { - "map_root": "AAEgl6LWxRYCPC1Z1ft4cXWm5MW4rj7pp5ppHnsFL3RD2KMVp4TPslQZYQAAAAAAAAAGACYSDBDMs/aA+5nh0xUYARIWCJiJ9OH5meHTFRCYifTh+Znh0xUYAg==", - "signature": "MEQCIGLBvN3Y/qRV6sI66gqapVg/1+9q0/xxLXWwMiuSwoM1AiAekO1D2KzWDsLQiBvgx9sY/JYwivfpte7D21YERM+K4A==" - }, - "log_inclusion": [ - "RAtWuOv9wOo55eNznKDAPlbTD+0efnGu26q+5TFn+Uk=", - "Woc969ok8y+l0SkXk06jzNcpkcwBrAQXIjrCk5q8jm0=", - "ITYpUBZUyinF17A144BAUooR+VOMPtBLtTP6O1AHl3I=", - "SIsBCCOnPWjp7FIky6ygBPd14KXWmUo1wUwb+k7gKeo=" - ] - }, - "map_leaves_by_user_id": { - "carol": { - "vrf_proof": "KxoRF2VOTZ2t845u6/ioT/bjhaT3eXANufz1d4dxcHKSQNPuP6SV0aqwNTNaYshYLB7lyOwLUGpF2rmjkBd/lwSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", - "map_inclusion": { - "leaf": { - "leaf_hash": "R7UOhGlCesWl69/3ayJAd/PQBRF2y3XNItmLZ6SYk0s=", - "leaf_value": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgedsbU+kmuUXbGMMvI+S4d0Kvk7F/E0x08fP+5NZdsW9CIK/YTacUavxw7OunFDQMrmVgJ9MNKl+sOWtHmA5QsnLBSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiAWmktGknDg+NvuMX9zeSrmUPWQyug/j8+NBHQttNLlaAIgAbzC+JpsBPC0ndemzU0q9Dh/F54xQzAL308rcGouldM=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "PbpXyGZHtH7dT+Jit1diqhz7ST1/PKGd2MOlRkCo3EQ=", - "8CM+Sgv5cws8C9GPiPKLcxliHO0l0Pn7DEAT9I6jXEw=", - "" - ] - }, - "committed": { - "key": "1a+He1H4Su6GPymwHAY21A==", - "data": "YmFyMjI=" - } - } - } - }, - { - "map_root": { - "map_root": { - "map_root": "AAEgeLa5snMvlp5H/sQUt3eiVBRaS0uPACkB8wwHROS/pJIVp4TP+D50ngAAAAAAAAAHADASFgjMs/aA+5nh0xUQsL64r/+Z4dMVGAESFgiYifTh+Znh0xUQmIn04fmZ4dMVGAI=", - "signature": "MEYCIQCJWBQcD308dJq3tWC4TvxLKSv4dFNnqYvPgz7IM4bMzwIhANwJuOb3QjlvxH1Cp17Bz9qIl+iBUzmITFV40qhNglui" - }, - "log_inclusion": [ - "PJI2GrEoCKEhQsT3132uw30+CScxhM3NN8U34brnyuA=", - "Woc969ok8y+l0SkXk06jzNcpkcwBrAQXIjrCk5q8jm0=", - "ITYpUBZUyinF17A144BAUooR+VOMPtBLtTP6O1AHl3I=", - "SIsBCCOnPWjp7FIky6ygBPd14KXWmUo1wUwb+k7gKeo=" - ] - }, - "map_leaves_by_user_id": { - "carol": { - "vrf_proof": "Hkpgg37NHb3pGz2B3CgrGj4o7C6PLkF1XjpneBJ3ox88+NKMWML/jkHyyCcLxC3+l2CLIFwZdKc32ryOGKMctASmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", - "map_inclusion": { - "leaf": { - "leaf_hash": "R7UOhGlCesWl69/3ayJAd/PQBRF2y3XNItmLZ6SYk0s=", - "leaf_value": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgedsbU+kmuUXbGMMvI+S4d0Kvk7F/E0x08fP+5NZdsW9CIK/YTacUavxw7OunFDQMrmVgJ9MNKl+sOWtHmA5QsnLBSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiAWmktGknDg+NvuMX9zeSrmUPWQyug/j8+NBHQttNLlaAIgAbzC+JpsBPC0ndemzU0q9Dh/F54xQzAL308rcGouldM=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "1AVyfIu17OQJauKJm/atXyy88nixzluAzbs9cHwLUvY=", - "8CM+Sgv5cws8C9GPiPKLcxliHO0l0Pn7DEAT9I6jXEw=", - "" - ] - }, - "committed": { - "key": "1a+He1H4Su6GPymwHAY21A==", - "data": "YmFyMjI=" - } - } - } - } - ] - }, - "BatchGetUserResp": null - }, - { - "Desc": "multiple revisions test 2", - "UserID": "", - "GetUserResp": null, - "TrustNewLog": false, - "UserIDs": [ - "alice", - "bob", - "carol" - ], - "BatchListUserRevisionsResp": { - "latest_log_root": { - "log_root": { - "key_hint": "Suo5OhL9dIk=", - "log_root": "AAEAAAAAAAAACyD9iAKWPyPKkD39N3GHvY7B27WreRJK7GDo1fYYPj+0ExWnhNBdlGLyAAAAAAAAAAsAAA==", - "log_root_signature": "MEUCIH4/FucXNQH/VQvnn+wZWZDfQm0MFB2mQ7oxPh/2CP2vAiEAtVqGzIkL37DrZpiz/p/tKdQnUjBaN0UXDoMMbjqQYg4=" - } - }, - "map_revisions": [ - { - "map_root": { - "map_root": { - "map_root": "AAEgeLa5snMvlp5H/sQUt3eiVBRaS0uPACkB8wwHROS/pJIVp4TP+D50ngAAAAAAAAAHADASFgjMs/aA+5nh0xUQsL64r/+Z4dMVGAESFgiYifTh+Znh0xUQmIn04fmZ4dMVGAI=", - "signature": "MEYCIQCJWBQcD308dJq3tWC4TvxLKSv4dFNnqYvPgz7IM4bMzwIhANwJuOb3QjlvxH1Cp17Bz9qIl+iBUzmITFV40qhNglui" - }, - "log_inclusion": [ - "PJI2GrEoCKEhQsT3132uw30+CScxhM3NN8U34brnyuA=", - "Woc969ok8y+l0SkXk06jzNcpkcwBrAQXIjrCk5q8jm0=", - "ITYpUBZUyinF17A144BAUooR+VOMPtBLtTP6O1AHl3I=", - "SIsBCCOnPWjp7FIky6ygBPd14KXWmUo1wUwb+k7gKeo=" - ] - }, - "map_leaves_by_user_id": { - "alice": { - "vrf_proof": "da324ZC7bG8D4wSrRzhRDdwAqkISur5Rlf98htFUKekkSX0u2E119UucHEOvfUm+DMn5piv9MOTrA37Srg/etwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", - "map_inclusion": { - "leaf": { - "leaf_hash": "YdBSH4AlLojl1mdIgC1Zl/FqYe6FhpcVYzR4NgMxkSE=", - "leaf_value": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgu2TjByWoti/CrkPZiuNHc/V6u3V1uZruflz+0xoEiKxCIDmqpK8yVseaE7PKrVIHNoKJAGX57rJbaG24+17wlQmaSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiB9XBBnSRoSvluZxqwxo5H6bA9MVyhMbmu4CRlfB9w+zgIgHNvqFGNDmC52NpsLs6NcBOfvrd2lJj5pOvEQ6qlT+KU=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "gfwnp9aT0ZcPoN/b6sLoWPD6JnIvjzFBL/2weffes64=", - "8CM+Sgv5cws8C9GPiPKLcxliHO0l0Pn7DEAT9I6jXEw=", - "" - ] - }, - "committed": { - "key": "4oAMhbt6GnIOs3p7OWjiHQ==", - "data": "YmFyMw==" - } - }, - "bob": { - "vrf_proof": "ZXWcWUJqPHyIFWzAJcJaWUrOrFmObzCz5IzCN62LQH3bPv+Ish9nu2qqsjteMsZCD42ow79gchVVxhk5hCr2uASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", - "map_inclusion": { - "leaf": { - "leaf_hash": "7pxTw1b+msoxiClgD5d3/UyzVswL0rTctwZzDETd+lY=", - "leaf_value": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgEriTC0yI1SeD/IBpQ3INgjdOlhWLyVU+Gbvc/KVlO/5CIBHaq9s09OzIpzCXQhGpKiOYeP7PxXjhmkOH+fMh1vthSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiAD/5c2JznRxepA9mqKq88KhEMMPnAVpBncd+zHNpa/GgIgFuD1ywHNlooBQ5cL6Gkl2VIuWfnJAmiAw60zscWjcmE=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "4ozyvsltW+rUYOb0kGgyPUTaXOpb3uFwDozcJa/wQRM=", - "" - ] - }, - "committed": { - "key": "oPXvOCUKjh2ZAkbTEp/hig==", - "data": "YmFyMTI=" - } - }, - "carol": { - "vrf_proof": "IUqiovXavde8DRfSZpDZRzv1fynym3EplDxzSbD5R+MZpxDfpnwwpy9L2zoSwi0z1FzNM6EFufTQD5tln6EVnASmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", - "map_inclusion": { - "leaf": { - "leaf_hash": "R7UOhGlCesWl69/3ayJAd/PQBRF2y3XNItmLZ6SYk0s=", - "leaf_value": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgedsbU+kmuUXbGMMvI+S4d0Kvk7F/E0x08fP+5NZdsW9CIK/YTacUavxw7OunFDQMrmVgJ9MNKl+sOWtHmA5QsnLBSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiAWmktGknDg+NvuMX9zeSrmUPWQyug/j8+NBHQttNLlaAIgAbzC+JpsBPC0ndemzU0q9Dh/F54xQzAL308rcGouldM=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "1AVyfIu17OQJauKJm/atXyy88nixzluAzbs9cHwLUvY=", - "8CM+Sgv5cws8C9GPiPKLcxliHO0l0Pn7DEAT9I6jXEw=", - "" - ] - }, - "committed": { - "key": "1a+He1H4Su6GPymwHAY21A==", - "data": "YmFyMjI=" - } - } - } - }, - { - "map_root": { - "map_root": { - "map_root": "AAEgMhGdvLznoiWrDXyGQS95PGKffSMphwKvxG3xIN/qwLgVp4TQG6JDTgAAAAAAAAAIADASFgiwvriv/5nh0xUQkaK0y4Ga4dMVGAESFgiYifTh+Znh0xUQmIn04fmZ4dMVGAI=", - "signature": "MEUCIQD++Jy9yzj4gyXiikuqwaLqi1JcTNBw/Owc/FciBiE3egIgRHjxR+l1NSfrTdzjR63wX9I/zAzzo117JKwp+rvREE0=" - }, - "log_inclusion": [ - "fXRF42rwxtTt/Cppn/C/l1NGAJnrKEPCMXcda8phuyE=", - "/KL8DT04Qx2UvrJGzv6oK5Eldw+bl3AIrsCpw6Po5lw=", - "MaQ22XutGaJ1UDrUvgBGyPO7PVlsEW+XxKLtm12B2SY=" - ] - }, - "map_leaves_by_user_id": { - "alice": { - "vrf_proof": "EBBH/tN5JTArvVT0iNfC9upweOghuLVKRRqSjbhCN+T/f3Egwx6NkQxVecCtlv7/n43P7wQUP0e4yNzsg1XDbwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", - "map_inclusion": { - "leaf": { - "leaf_hash": "YdBSH4AlLojl1mdIgC1Zl/FqYe6FhpcVYzR4NgMxkSE=", - "leaf_value": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgu2TjByWoti/CrkPZiuNHc/V6u3V1uZruflz+0xoEiKxCIDmqpK8yVseaE7PKrVIHNoKJAGX57rJbaG24+17wlQmaSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiB9XBBnSRoSvluZxqwxo5H6bA9MVyhMbmu4CRlfB9w+zgIgHNvqFGNDmC52NpsLs6NcBOfvrd2lJj5pOvEQ6qlT+KU=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "gfwnp9aT0ZcPoN/b6sLoWPD6JnIvjzFBL/2weffes64=", - "9XXD6Ivorps2K6YdEqyUXUlHqRJxkpaab6/h0IcS+g4=", - "" - ] - }, - "committed": { - "key": "4oAMhbt6GnIOs3p7OWjiHQ==", - "data": "YmFyMw==" - } - }, - "bob": { - "vrf_proof": "95l5vd+8iQnWoFg08X0aSlubJib+NiN9Ei7u4WJ2QnzhD3SZ3Qpbt5x53+/3P8vd6Im0se9m5Xqo8AA0Ttg3/wSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", - "map_inclusion": { - "leaf": { - "leaf_hash": "qHK5YTFYKihYunWtFBtiwlhxAPcTPXvYrXgKuNwB4Ts=", - "leaf_value": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgnnqe0Nsw9PbObiS6WOQy+rVV13J1wXgYgTuC6kQhKndCIAA9/ojuXNHS0U/fKC4NoPNqrtuxDn0Q260fDq9NuvPlSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBKKK7GMTlSJXRBlGoNZTQdT7YGCbIilJUGpnGhYOcnhAIgVgjvws1UdekZ2gGu+PavZgC6J5gLyvgO9hRTSWqyXoU=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "4ozyvsltW+rUYOb0kGgyPUTaXOpb3uFwDozcJa/wQRM=", - "" - ] - }, - "committed": { - "key": "v0GJN4QPlkJaP3ZJUJPsDw==", - "data": "YmFyMTM=" - } - }, - "carol": { - "vrf_proof": "udebcnv0LZsHeP9AWJANWj6vBfsN0wtt1SIRUaZ0Pnw0qdO44k6hOenwx33BS4eWCIUuikIe0k2jPTy61w5z4wSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", - "map_inclusion": { - "leaf": { - "leaf_hash": "R7UOhGlCesWl69/3ayJAd/PQBRF2y3XNItmLZ6SYk0s=", - "leaf_value": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgedsbU+kmuUXbGMMvI+S4d0Kvk7F/E0x08fP+5NZdsW9CIK/YTacUavxw7OunFDQMrmVgJ9MNKl+sOWtHmA5QsnLBSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiAWmktGknDg+NvuMX9zeSrmUPWQyug/j8+NBHQttNLlaAIgAbzC+JpsBPC0ndemzU0q9Dh/F54xQzAL308rcGouldM=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "1AVyfIu17OQJauKJm/atXyy88nixzluAzbs9cHwLUvY=", - "9XXD6Ivorps2K6YdEqyUXUlHqRJxkpaab6/h0IcS+g4=", - "" - ] - }, - "committed": { - "key": "1a+He1H4Su6GPymwHAY21A==", - "data": "YmFyMjI=" - } - } - } - }, - { - "map_root": { - "map_root": { - "map_root": "AAEgq+DaoAsYh73Y6HUWU1J1nMCqiUw57E34CX7j6zckzTIVp4TQLtD/yQAAAAAAAAAJADASFgiRorTLgZrh0xUQkaK0y4Ga4dMVGAESFgiYifTh+Znh0xUQqo694IKa4dMVGAI=", - "signature": "MEUCIQDf1LvuZInSf2RbX0d8hTBHUFNz7Pd6EszedTMQNbPZbwIgNvJ9spE9A/1i2GIPunKLRq2Xo1YwjxZeHz5gWu68QJs=" - }, - "log_inclusion": [ - "docVnlvGe8wxVZ8pTI0ROaIbeG2M4vP2Mp/RX2+jklo=", - "/KL8DT04Qx2UvrJGzv6oK5Eldw+bl3AIrsCpw6Po5lw=", - "MaQ22XutGaJ1UDrUvgBGyPO7PVlsEW+XxKLtm12B2SY=" - ] - }, - "map_leaves_by_user_id": { - "alice": { - "vrf_proof": "T5URgllwkOsR8vAfwGTl7kmA3hDR7LM/BSK5+8Hw0y5eM3JPVWNq4wFFe4PYtpjCitqNUbBqNMPPoYdemBn1tQRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", - "map_inclusion": { - "leaf": { - "leaf_hash": "YdBSH4AlLojl1mdIgC1Zl/FqYe6FhpcVYzR4NgMxkSE=", - "leaf_value": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgu2TjByWoti/CrkPZiuNHc/V6u3V1uZruflz+0xoEiKxCIDmqpK8yVseaE7PKrVIHNoKJAGX57rJbaG24+17wlQmaSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiB9XBBnSRoSvluZxqwxo5H6bA9MVyhMbmu4CRlfB9w+zgIgHNvqFGNDmC52NpsLs6NcBOfvrd2lJj5pOvEQ6qlT+KU=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "oA0DLo+/n9vjHTIuRf16tPnbpecQa/c8K9nTaSJfMd8=", - "9XXD6Ivorps2K6YdEqyUXUlHqRJxkpaab6/h0IcS+g4=", - "" - ] - }, - "committed": { - "key": "4oAMhbt6GnIOs3p7OWjiHQ==", - "data": "YmFyMw==" - } - }, - "bob": { - "vrf_proof": "DHi4c4SA5UtKRMHRb//B3uGfqs+rMaTkmwWKW+D3jkXtBJF/e4TyR52zl+f89D6zzIWVQhgGMSWOs2sZcdEXbASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", - "map_inclusion": { - "leaf": { - "leaf_hash": "qHK5YTFYKihYunWtFBtiwlhxAPcTPXvYrXgKuNwB4Ts=", - "leaf_value": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgnnqe0Nsw9PbObiS6WOQy+rVV13J1wXgYgTuC6kQhKndCIAA9/ojuXNHS0U/fKC4NoPNqrtuxDn0Q260fDq9NuvPlSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBKKK7GMTlSJXRBlGoNZTQdT7YGCbIilJUGpnGhYOcnhAIgVgjvws1UdekZ2gGu+PavZgC6J5gLyvgO9hRTSWqyXoU=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "v9BY0tkY3YammCmNypGU6pJUEDtLATG76DwktRIHSKg=", - "" - ] - }, - "committed": { - "key": "v0GJN4QPlkJaP3ZJUJPsDw==", - "data": "YmFyMTM=" - } - }, - "carol": { - "vrf_proof": "zpb35w0BeTq72NinFgzBvZbPJ47NyNn80BNSIa1Ie+cYPSNRnIt2THOePd4EXeUdZxEM9l67aBiqxLamyJnOVQSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", - "map_inclusion": { - "leaf": { - "leaf_hash": "diFWX0eGZA77s2tPfJPCR3gUK0vHLYNX24LteIXRFHg=", - "leaf_value": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIguGkgiXGxOp3KegL1cG3VQqu4zUQPeIs14cy1iDhDvddCIIAseY6sVMGPgjqX85+cfqnxPY/n8wMkn3ZSh3qAfSz7SpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEA3xRMLGd9rlDqDl1WrciS510RjFIkxL1jxctL6U5CXZQCIQDOwjpSie2YztBR+cUzmV43WzUUPP0KxxETCFbdQgp9wQ==" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "1AVyfIu17OQJauKJm/atXyy88nixzluAzbs9cHwLUvY=", - "9XXD6Ivorps2K6YdEqyUXUlHqRJxkpaab6/h0IcS+g4=", - "" - ] - }, - "committed": { - "key": "p0tRXWzFkrOwDKN3TFFR2g==", - "data": "YmFyMjM=" - } - } - } - }, - { - "map_root": { - "map_root": { - "map_root": "AAEgLsqw51HAk7kU3p1Dd2k6JeKW2ApMSEDx1eoIiD5+0UMVp4TQUc19eAAAAAAAAAAKADASFgiRorTLgZrh0xUQkaK0y4Ga4dMVGAESFgiqjr3ggprh0xUQw7LZ+oSa4dMVGAI=", - "signature": "MEUCIDuuZwdeByKY1oCm+T3SOtobDemRm2SWGSFj7OT2fsoqAiEAz/G7Qo1c3waC+KdhSeZ8parwODVzQNeP44eAJU1qQLE=" - }, - "log_inclusion": [ - "606+qhGp857xt5ZJm2Yrq42a96D6x2F03pzbQrsO8s0=", - "MaQ22XutGaJ1UDrUvgBGyPO7PVlsEW+XxKLtm12B2SY=" - ] - }, - "map_leaves_by_user_id": { - "alice": { - "vrf_proof": "jFHlrk3LeTcjewPiG6CIQQPHigoYONhvpM+yATNes2GfUK2VCPgDAz++RXNv1sGOTX6inVTdwrd7V1sbheq2kwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", - "map_inclusion": { - "leaf": { - "leaf_hash": "YdBSH4AlLojl1mdIgC1Zl/FqYe6FhpcVYzR4NgMxkSE=", - "leaf_value": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgu2TjByWoti/CrkPZiuNHc/V6u3V1uZruflz+0xoEiKxCIDmqpK8yVseaE7PKrVIHNoKJAGX57rJbaG24+17wlQmaSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiB9XBBnSRoSvluZxqwxo5H6bA9MVyhMbmu4CRlfB9w+zgIgHNvqFGNDmC52NpsLs6NcBOfvrd2lJj5pOvEQ6qlT+KU=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "dEwuj455e6OBnmS49eXvM/Pnre1SYhtXj5In4ctUQ/M=", - "9XXD6Ivorps2K6YdEqyUXUlHqRJxkpaab6/h0IcS+g4=", - "" - ] - }, - "committed": { - "key": "4oAMhbt6GnIOs3p7OWjiHQ==", - "data": "YmFyMw==" - } - }, - "bob": { - "vrf_proof": "eBA8y7zvhQot94XrWk5guWzMTjNfnLtE6jDpCfC3fuiPfSJeL8oTreVQVSKbq+GcSLlbY6lfG8ru8rNoTwaUdgSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", - "map_inclusion": { - "leaf": { - "leaf_hash": "qHK5YTFYKihYunWtFBtiwlhxAPcTPXvYrXgKuNwB4Ts=", - "leaf_value": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgnnqe0Nsw9PbObiS6WOQy+rVV13J1wXgYgTuC6kQhKndCIAA9/ojuXNHS0U/fKC4NoPNqrtuxDn0Q260fDq9NuvPlSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBKKK7GMTlSJXRBlGoNZTQdT7YGCbIilJUGpnGhYOcnhAIgVgjvws1UdekZ2gGu+PavZgC6J5gLyvgO9hRTSWqyXoU=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "irXKAo1ZvYuNnHBccYnUpzkWmuxC+qanuTQylm4jnA0=", - "" - ] - }, - "committed": { - "key": "v0GJN4QPlkJaP3ZJUJPsDw==", - "data": "YmFyMTM=" - } - }, - "carol": { - "vrf_proof": "bAEC+9XygHi19gEK6M4kQ8UAjpn0pRjC3cHioSkKr6J2JCtf6sHZGLczFMMUYUcawjf2QybGrJLURGaqK5PF1QSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", - "map_inclusion": { - "leaf": { - "leaf_hash": "Rg7RijLCAajGKwt4+rXptRxOYTVW4Hwf8gJJDuOBWPI=", - "leaf_value": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgwmGlkZMJsGVjSDfmOELDe7yeLreYrsB7W+SZDql2h51CIM5QMTrKfeWDqO38dFIV0FeJYkNiM+/aPJ0FedkJNzqXSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAydSIXdFphq0tmg2jR4nbahUg2WIVAz2G7ZllSO7XVMECIQC/yKtv29cRBwA8XSperI1cNVuamnrWiIySnC3RO5cJRg==" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "1AVyfIu17OQJauKJm/atXyy88nixzluAzbs9cHwLUvY=", - "9XXD6Ivorps2K6YdEqyUXUlHqRJxkpaab6/h0IcS+g4=", - "" - ] - }, - "committed": { - "key": "POwfSp38LOvs1JgU8Dyekg==", - "data": "YmFyMjQ=" - } - } - } - } - ] - }, - "BatchGetUserResp": null - } -] \ No newline at end of file diff --git a/core/testdata/directory_batch_get_user.json b/core/testdata/directory_batch_get_user.json deleted file mode 100644 index 724c94fac..000000000 --- a/core/testdata/directory_batch_get_user.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "directoryId": "integration", - "log": { - "treeId": "5360167840861150065", - "treeType": "PREORDERED_LOG", - "hashStrategy": "RFC6962_SHA256", - "hashAlgorithm": "SHA256", - "signatureAlgorithm": "ECDSA", - "publicKey": { - "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqGXPnhMIclRmYHSmAnCMmfDUJ9iNBMmFxR/wHJdL12AuVUkgcuhbEp2hy5ETs7bfFc2P95IYFlmbiuHMq3UY/A==" - } - }, - "map": { - "treeId": "8167195044445726954", - "treeType": "MAP", - "hashStrategy": "CONIKS_SHA256", - "hashAlgorithm": "SHA256", - "signatureAlgorithm": "ECDSA", - "publicKey": { - "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWLHm0TLYaTzENpPkBl2E79ySqJI+EW51VpoWh7wqY3OjSJcft4zgEeNeHYEb/T2jBFH4eYg4iSN7D/VYaJxJRA==" - } - }, - "vrf": { - "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEF2Pm2kKya+JBun1QRmKQMcoMOIBNWp8fjECkJX+/hNWdV1UKb12W+yXcX2MqN7ZMX77hS9mLus/WaE0NS370mA==" - }, - "minInterval": "0.100s", - "maxInterval": "216000s" -} \ No newline at end of file diff --git a/core/testdata/directory_batch_list_user_revisions.json b/core/testdata/directory_batch_list_user_revisions.json deleted file mode 100644 index f8825b513..000000000 --- a/core/testdata/directory_batch_list_user_revisions.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "directoryId": "integration", - "log": { - "treeId": "5398190024946447497", - "treeType": "PREORDERED_LOG", - "hashStrategy": "RFC6962_SHA256", - "hashAlgorithm": "SHA256", - "signatureAlgorithm": "ECDSA", - "publicKey": { - "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqGXPnhMIclRmYHSmAnCMmfDUJ9iNBMmFxR/wHJdL12AuVUkgcuhbEp2hy5ETs7bfFc2P95IYFlmbiuHMq3UY/A==" - } - }, - "map": { - "treeId": "1674190657110097801", - "treeType": "MAP", - "hashStrategy": "CONIKS_SHA256", - "hashAlgorithm": "SHA256", - "signatureAlgorithm": "ECDSA", - "publicKey": { - "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWLHm0TLYaTzENpPkBl2E79ySqJI+EW51VpoWh7wqY3OjSJcft4zgEeNeHYEb/T2jBFH4eYg4iSN7D/VYaJxJRA==" - } - }, - "vrf": { - "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEF2Pm2kKya+JBun1QRmKQMcoMOIBNWp8fjECkJX+/hNWdV1UKb12W+yXcX2MqN7ZMX77hS9mLus/WaE0NS370mA==" - }, - "minInterval": "0.100s", - "maxInterval": "216000s" -} \ No newline at end of file diff --git a/core/testdata/directory_get_and_update.json b/core/testdata/directory_get_and_update.json deleted file mode 100644 index 87a8175af..000000000 --- a/core/testdata/directory_get_and_update.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "directoryId": "integration", - "log": { - "treeId": "1596332138688820793", - "treeType": "PREORDERED_LOG", - "hashStrategy": "RFC6962_SHA256", - "hashAlgorithm": "SHA256", - "signatureAlgorithm": "ECDSA", - "publicKey": { - "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqGXPnhMIclRmYHSmAnCMmfDUJ9iNBMmFxR/wHJdL12AuVUkgcuhbEp2hy5ETs7bfFc2P95IYFlmbiuHMq3UY/A==" - } - }, - "map": { - "treeId": "7332718643287639250", - "treeType": "MAP", - "hashStrategy": "CONIKS_SHA256", - "hashAlgorithm": "SHA256", - "signatureAlgorithm": "ECDSA", - "publicKey": { - "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWLHm0TLYaTzENpPkBl2E79ySqJI+EW51VpoWh7wqY3OjSJcft4zgEeNeHYEb/T2jBFH4eYg4iSN7D/VYaJxJRA==" - } - }, - "vrf": { - "der": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEF2Pm2kKya+JBun1QRmKQMcoMOIBNWp8fjECkJX+/hNWdV1UKb12W+yXcX2MqN7ZMX77hS9mLus/WaE0NS370mA==" - }, - "minInterval": "0.100s", - "maxInterval": "216000s" -} \ No newline at end of file diff --git a/core/testdata/get_and_update.json b/core/testdata/get_and_update.json deleted file mode 100644 index 17c2944ed..000000000 --- a/core/testdata/get_and_update.json +++ /dev/null @@ -1,2109 +0,0 @@ -[ - { - "Desc": "empty_alice", - "UserID": "alice", - "GetUserResp": { - "revision": { - "map_root": { - "map_root": { - "map_root": "AAEg6KFJFW4H8XU86QDreVsq4BxK4wXbLZ6T466E+Wn3lZsVp4TKEWilyAAAAAAAAAAAAAA=", - "signature": "MEUCIBGpATAMuCZW4iunBeQPorLM0SBTX2Vzwf1+utr/XBCyAiEAtl7nz5aKDFgO4F3TWYkEZld8k/XfpNxqt+Qpza9YRJ0=" - } - }, - "latest_log_root": { - "log_root": { - "key_hint": "FidPn1YWNjk=", - "log_root": "AAEAAAAAAAAAASBQKBrFuBwZoMJinwDc9HtTsOlzoenVEtigYV+7ybaD8hWnhMolxuk0AAAAAAAAAAEAAA==", - "log_root_signature": "MEUCIQCPK2FfQ8QeFyJHT5SWZiv0sIHDvX1fVe4VtzHDgbHfHwIgcKnOzyG2+KTWF1R2+is7Z5TNTOgOMRpFkpgSibjBiA4=" - } - } - }, - "leaf": { - "vrf_proof": "4KMxEFtY6epJzPQ3K7Ix62dG+CSevVEbd+xYsNUZ/sZmQQy0ragiZs7LtWWPg63m6PxavpDMbkVh5BDN+55lsARTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", - "map_inclusion": { - "leaf": { - "index": "A9/B/HF0DP6pap5CSp8/Jo05FhoGWECfsTAnRlVdzvM=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ] - } - } - }, - "TrustNewLog": true, - "UserIDs": null, - "BatchListUserRevisionsResp": null, - "BatchGetUserResp": null - }, - { - "Desc": "bob0_set", - "UserID": "bob", - "GetUserResp": { - "revision": { - "map_root": { - "map_root": { - "map_root": "AAEgtgXKUPD6DAvMex7SKChLGd5E3qpbocNCsUGRQkDLOc4Vp4TKPI2SMwAAAAAAAAABABISAhgBEgwQld6Bo6OZ4dMVGAI=", - "signature": "MEUCIQDjEOEFcgBwQ/zq1kyLP52ODyFY4zShI9xTCNN9exVzqwIgHI42YQsotL5WT1ZhOJrcM8smWdikYROFdna8vCBVt8w=" - }, - "log_inclusion": [ - "UCgaxbgcGaDCYp8A3PR7U7Dpc6Hp1RLYoGFfu8m2g/I=" - ] - }, - "latest_log_root": { - "log_root": { - "key_hint": "FidPn1YWNjk=", - "log_root": "AAEAAAAAAAAAAiDXsJQMeqvzvdFLfOAYx/fyyVKIK9p6v86owmg+GfjW4hWnhMpDasn8AAAAAAAAAAIAAA==", - "log_root_signature": "MEQCIG9RBWXUyl4A3V4XFzpLyWHYu7vARRP9vyA2zwPjykEhAiBGCfkZF3WWG9sEUuFo61LifRxbCf2ck0kKXkvaj2NGQQ==" - }, - "log_consistency": [ - "rHwPEjE/DGc/jvUwqI0Zwb/VTOWMcTFJ4iGVWm1uaT8=" - ] - } - }, - "leaf": { - "vrf_proof": "Pr4bUF8suP9XTXXq1ArL+EOD+H4mkqlkBplhOXjTNv7Exj3xYbtDfAMQFriExhl/pCWaqbL1rNvn98ypkQr8tASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", - "map_inclusion": { - "leaf": { - "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "8e+Y2pdNsPnFkXwabQs5RXHrkk54znnGlE37lxS+KXM=", - "" - ] - } - } - }, - "TrustNewLog": false, - "UserIDs": null, - "BatchListUserRevisionsResp": null, - "BatchGetUserResp": null - }, - { - "Desc": "set_carol", - "UserID": "carol", - "GetUserResp": { - "revision": { - "map_root": { - "map_root": { - "map_root": "AAEgkCFKbh1MJaewqGsxLlhJVSVb4BVEBkLSVp5sHLwlEZ8Vp4TKVAwMaAAAAAAAAAACACYSDBDkhNLupJnh0xUYARIWCJXegaOjmeHTFRCV3oGjo5nh0xUYAg==", - "signature": "MEYCIQCuefeSdBBIlwhdtBZMs16DQPf7OyVlPHB0q2IrN+LxkAIhAOAGO4FAHzynUg1/yiWEtuH7EH91dPUMijAsRFx2o84m" - }, - "log_inclusion": [ - "17CUDHqr873RS3zgGMf38slSiCvaer/OqMJoPhn41uI=" - ] - }, - "latest_log_root": { - "log_root": { - "key_hint": "FidPn1YWNjk=", - "log_root": "AAEAAAAAAAAAAyCQ4QL/ECYfA4swzKZDIA/+sEDYG+mpXQ838tOUetzT1BWnhMphLT7ZAAAAAAAAAAMAAA==", - "log_root_signature": "MEUCIC2iyVWeq6HoWoUazJ/ADl8oVYb8sCLtGs8XIAapc+seAiEA00fiUwcLK6ZCn4LqrGW5tKyeDSsBdTB4hDGq9cm9KXs=" - }, - "log_consistency": [ - "rHwPEjE/DGc/jvUwqI0Zwb/VTOWMcTFJ4iGVWm1uaT8=", - "x1DayzaOsSOZZyDA9AegC7kuSHjoK3wNgvga6JPSPfI=" - ] - } - }, - "leaf": { - "vrf_proof": "kM5Ls4Orf9GJ9hx48d74pi8OzG5SEiVV7an0CunYvC+nQ/5c6jV7Y6LxyF/ZUarkv/8DTGt4W2XxmUik3PLpYgSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", - "map_inclusion": { - "leaf": { - "index": "JYx5mwUZM4rLnxSas5/NC9GiuqMYVWThqNqJdDz6bvw=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "/3I61XQQ8fQoBnw99Uq5nFRA5oVMsEzONa9glcNj6fA=", - "m298LGdOOdE7VFw5cx3TSGjV4Iuzxrp2nHMVCryGdAA=", - "" - ] - } - } - }, - "TrustNewLog": false, - "UserIDs": null, - "BatchListUserRevisionsResp": null, - "BatchGetUserResp": null - }, - { - "Desc": "bob1_get", - "UserID": "bob", - "GetUserResp": { - "revision": { - "map_root": { - "map_root": { - "map_root": "AAEg+yaON0pl4pvs+3j+VvOsHqqOqVj14oKNdVlyikkMVpIVp4TKcQf8CAAAAAAAAAADADASFgjkhNLupJnh0xUQ5ITS7qSZ4dMVGAESFgiV3oGjo5nh0xUQ6MSH8aaZ4dMVGAI=", - "signature": "MEUCICYrOEiAUuV5wAGmH+ncTIx/IuK2jaUgbzkL++aEkPheAiEAnS1qpWb5zqywHOZcCda1URXjTl8zwtvHeiu3DDqJnLw=" - }, - "log_inclusion": [ - "x1DayzaOsSOZZyDA9AegC7kuSHjoK3wNgvga6JPSPfI=", - "17CUDHqr873RS3zgGMf38slSiCvaer/OqMJoPhn41uI=" - ] - }, - "latest_log_root": { - "log_root": { - "key_hint": "FidPn1YWNjk=", - "log_root": "AAEAAAAAAAAABCAmhXTHHE3BAERDFw/3bQb6d+hBT9dS5aH0/ryvPmpsSBWnhMp+/LduAAAAAAAAAAQAAA==", - "log_root_signature": "MEYCIQCD3OI5vl6Jb6cmQjaSL8qt/m2vZRL/CB4hifQWlwJZUQIhAJ1QTeF8akU5QoAfDHybB0o1x7mDdNMRuB5I6Lp/ckCe" - }, - "log_consistency": [ - "rHwPEjE/DGc/jvUwqI0Zwb/VTOWMcTFJ4iGVWm1uaT8=", - "3uVnL7i4Te9MDe9yQ4X16iCcfIeuE/zCrbaweYvOeDA=" - ] - } - }, - "leaf": { - "vrf_proof": "EtJrc+g5cU+K9CXniQ6UGZtGmjJch4ngimFbhGm7B9hXH86L0SsPBj1bDRECORsF8m6k2MSOgf+7bSScFApJBASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", - "map_inclusion": { - "leaf": { - "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leaf_hash": "9olqj4HFD6M9uivPe5mDrxvHxq3YMYOgJhwIU70XsZI=", - "leaf_value": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIg4u4GLEpQ/rbFUSv4MUjsvnJ4GSWGDG4kl9Yd90TzUUVCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAsg8LXFUM7Mltn7AUfc8/gwZbvEcY1u7NbhV/uGG5BLgCIADXi/RrAuH2UN3BFuTqIfVocClUSLbFZ5Inixk7IDXN" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "om83aaRS0KV8jz14knMqe09WmE8ApWINpk6MxSu0LR4=", - "" - ] - }, - "committed": { - "key": "7beYQpVT94a26OdwUaj19Q==", - "data": "Ym9iLWtleTE=" - } - } - }, - "TrustNewLog": false, - "UserIDs": null, - "BatchListUserRevisionsResp": null, - "BatchGetUserResp": null - }, - { - "Desc": "bob1_set", - "UserID": "bob", - "GetUserResp": { - "revision": { - "map_root": { - "map_root": { - "map_root": "AAEg+yaON0pl4pvs+3j+VvOsHqqOqVj14oKNdVlyikkMVpIVp4TKcQf8CAAAAAAAAAADADASFgjkhNLupJnh0xUQ5ITS7qSZ4dMVGAESFgiV3oGjo5nh0xUQ6MSH8aaZ4dMVGAI=", - "signature": "MEUCICYrOEiAUuV5wAGmH+ncTIx/IuK2jaUgbzkL++aEkPheAiEAnS1qpWb5zqywHOZcCda1URXjTl8zwtvHeiu3DDqJnLw=" - }, - "log_inclusion": [ - "x1DayzaOsSOZZyDA9AegC7kuSHjoK3wNgvga6JPSPfI=", - "17CUDHqr873RS3zgGMf38slSiCvaer/OqMJoPhn41uI=" - ] - }, - "latest_log_root": { - "log_root": { - "key_hint": "FidPn1YWNjk=", - "log_root": "AAEAAAAAAAAABCAmhXTHHE3BAERDFw/3bQb6d+hBT9dS5aH0/ryvPmpsSBWnhMp+/LduAAAAAAAAAAQAAA==", - "log_root_signature": "MEYCIQCD3OI5vl6Jb6cmQjaSL8qt/m2vZRL/CB4hifQWlwJZUQIhAJ1QTeF8akU5QoAfDHybB0o1x7mDdNMRuB5I6Lp/ckCe" - }, - "log_consistency": [ - "rHwPEjE/DGc/jvUwqI0Zwb/VTOWMcTFJ4iGVWm1uaT8=", - "3uVnL7i4Te9MDe9yQ4X16iCcfIeuE/zCrbaweYvOeDA=" - ] - } - }, - "leaf": { - "vrf_proof": "T8gaQ5lfHRp+EbirRNKIymvYY5PMEeGvgA4x7BFqnIvl7xALMwILf+rmz795Opj1mr1BfIx6K1CqBL2fOH5y0ASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", - "map_inclusion": { - "leaf": { - "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leaf_hash": "9olqj4HFD6M9uivPe5mDrxvHxq3YMYOgJhwIU70XsZI=", - "leaf_value": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIg4u4GLEpQ/rbFUSv4MUjsvnJ4GSWGDG4kl9Yd90TzUUVCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAsg8LXFUM7Mltn7AUfc8/gwZbvEcY1u7NbhV/uGG5BLgCIADXi/RrAuH2UN3BFuTqIfVocClUSLbFZ5Inixk7IDXN" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "om83aaRS0KV8jz14knMqe09WmE8ApWINpk6MxSu0LR4=", - "" - ] - }, - "committed": { - "key": "7beYQpVT94a26OdwUaj19Q==", - "data": "Ym9iLWtleTE=" - } - } - }, - "TrustNewLog": false, - "UserIDs": null, - "BatchListUserRevisionsResp": null, - "BatchGetUserResp": null - }, - { - "Desc": "bob2_setkeys", - "UserID": "bob", - "GetUserResp": { - "revision": { - "map_root": { - "map_root": { - "map_root": "AAEgmEpkLa+Wtl5h72fdWNT4JRO3D1yOX4VBs0DXkqT9t+QVp4TKjtCNjgAAAAAAAAAEADASFgjkhNLupJnh0xUQtuL/3aiZ4dMVGAESFgjoxIfxppnh0xUQ6MSH8aaZ4dMVGAI=", - "signature": "MEQCICDkNF6SaqFMG5O2AKv9cTPQstWhb0t//GSJVlTpWZXuAiAcGlztMqCpm6udqurbvGum8I1CLW5ayAW1crXiUMJAbA==" - }, - "log_inclusion": [ - "JoV0xxxNwQBEQxcP920G+nfoQU/XUuWh9P68rz5qbEg=" - ] - }, - "latest_log_root": { - "log_root": { - "key_hint": "FidPn1YWNjk=", - "log_root": "AAEAAAAAAAAABSAwvLhPS6FLU+8iIicGD7lTHreYSsOxxAJhBLL5dy8lPRWnhMqcyIKZAAAAAAAAAAUAAA==", - "log_root_signature": "MEUCIQCB0Eva4Gy0ZTYsRA3l6918+Ciwja7sVJpLSVmT/mhBBAIgRpTjOvuMBVg7WIgIv5qwV0vPxhSaQ2ytDKqq4smbTac=" - }, - "log_consistency": [ - "rHwPEjE/DGc/jvUwqI0Zwb/VTOWMcTFJ4iGVWm1uaT8=", - "3uVnL7i4Te9MDe9yQ4X16iCcfIeuE/zCrbaweYvOeDA=", - "18iODhqD84v4LKAfa6CLAjooImnfIfpCYAww5qVsK3E=" - ] - } - }, - "leaf": { - "vrf_proof": "yHxmWRnFIuyLjrmKjKHUgshsU4/GBBTNUa//TRgnTleXJdwvc60FPHPbT4XG2TqEGnQbkTMJjRK0D+MLaaIgFwSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", - "map_inclusion": { - "leaf": { - "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leaf_hash": "RUhZiJOmFbwufqvtX9zV9WYUcO6ClXIuuxXjL+aoQco=", - "leaf_value": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIg7ZdHCRfU38uBWUOI4EpOMj2chuVVJwcEpiXwm0vPq4hCIFGjpvlKeBgC4Q37UwRn6ljfmOrMv66PZEeLAXYsS+oASpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEA+nbPyww4V391WlvAD20zFhZMceXvhYCCpxSMzhDgrIsCIQCDvFWfBEmCyQamYcrxOLyqxzZFZCf0FNyNd7xtwx0XZQ==" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "om83aaRS0KV8jz14knMqe09WmE8ApWINpk6MxSu0LR4=", - "" - ] - }, - "committed": { - "key": "mY9geUOPh/5UUJCYHcfTtQ==", - "data": "Ym9iLWtleTI=" - } - } - }, - "TrustNewLog": false, - "UserIDs": null, - "BatchListUserRevisionsResp": null, - "BatchGetUserResp": null - }, - { - "Desc": "bob3_setnewkeys", - "UserID": "bob", - "GetUserResp": { - "revision": { - "map_root": { - "map_root": { - "map_root": "AAEgJGzXq8qjByksmcdssXEW5FtiMq9C5ba93KUZ4dag+/wVp4TKrY6tOAAAAAAAAAAFADASFgi24v/dqJnh0xUQ59WYt6qZ4dMVGAESFgjoxIfxppnh0xUQ6MSH8aaZ4dMVGAI=", - "signature": "MEQCIBQpebTjNpdhs/+E3quLkXZesrd2MfdUgZ4W24iprj4lAiAzlUarMzoyrG10MVodN5enR6AxzZmCjwMQfjD8lanuDA==" - }, - "log_inclusion": [ - "18iODhqD84v4LKAfa6CLAjooImnfIfpCYAww5qVsK3E=", - "JoV0xxxNwQBEQxcP920G+nfoQU/XUuWh9P68rz5qbEg=" - ] - }, - "latest_log_root": { - "log_root": { - "key_hint": "FidPn1YWNjk=", - "log_root": "AAEAAAAAAAAABiB/UJll6BwMgUwKxo+8JdVXog/PeL5vFG7Rw/sVRKtJzxWnhMq6nNiJAAAAAAAAAAYAAA==", - "log_root_signature": "MEYCIQCkU6MGMjbBQfV9Dx9mbARTUC+5xnsdikqR1OkLCL5l+wIhANQqGxf3hfBZ3Ui4x4XIBV3BQU1nrGtFiAFcIg4lQIwC" - }, - "log_consistency": [ - "rHwPEjE/DGc/jvUwqI0Zwb/VTOWMcTFJ4iGVWm1uaT8=", - "3uVnL7i4Te9MDe9yQ4X16iCcfIeuE/zCrbaweYvOeDA=", - "EQmXvNT+P1JenQ0dyiuSumJ3k3N1Bwau2JnKswprYBY=" - ] - } - }, - "leaf": { - "vrf_proof": "u5kUE6TpFmgmn4cQq6qBzXwa2mU8N3fxme4g468Ajr//pwE/1VW35RMelEoZPE00XLSKuDuTeP+ZRlS3+E9K4wSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", - "map_inclusion": { - "leaf": { - "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leaf_hash": "VJJ2Zde3iGxmioyNm3ZhtqE9Vwk9SiS2PtOsnuebXKo=", - "leaf_value": "CpEDGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIg8EY1bbMN47NaEVyA6ZUR7UjqlPcvrhMm6U6h7mI/Sl9CIIS3W2Yr5xKAuJqf8YhJaaO/yRNNTJLsmCc1UDD4Tof3SqgCCAISkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhogJKDbR4uyhSMXW80x02NtYRUFlMQbLOA+tLe/MbwZ69QiIJF0bpHH3Z/21sLp3PtRWzIju8iNL73rWwQsDoV5H3WUGAMQARgCIAMSSDBGAiEAp/2EuxfrC7OdUlWW5jCErHbP3m2kKgubYThWWtn+sDACIQDnZsoc5X4GD7hmUX6uYAh8dEcQY4SEudnPKRUldSKoxxJHMEUCIQDue7Fk/HwIlOruiofgFN8FBoZZZsLlC75RWL07q8929AIgL69+jlCVNKlzOThWg2Z5AfiuHJRq05MrxWayKIGWVIo=" - }, - "inclusion": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "om83aaRS0KV8jz14knMqe09WmE8ApWINpk6MxSu0LR4=", - "" - ] - }, - "committed": { - "key": "+Rlz1xvEgb4LaW3nC7czzA==", - "data": "Ym9iLWtleTM=" - } - } - }, - "TrustNewLog": true, - "UserIDs": null, - "BatchListUserRevisionsResp": null, - "BatchGetUserResp": null - } -] \ No newline at end of file From 917a4cff35095b070376811fa8bd94bd4aadeb07 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Tue, 9 Jul 2019 06:08:39 +0100 Subject: [PATCH 08/16] Inlucde .json ending for testdata --- .../{TestBatchCreate => TestBatchCreate.json} | 4 +- ...TestBatchGetUser => TestBatchGetUser.json} | 136 ++++---- ...isions => TestBatchListUserRevisions.json} | 326 +++++++++--------- .../{TestBatchUpdate => TestBatchUpdate.json} | 4 +- ...etAndUpdate => TestEmptyGetAndUpdate.json} | 184 +++++----- .../{TestListHistory => TestListHistory.json} | 4 +- .../{TestMonitor => TestMonitor.json} | 4 +- impl/integration/main_test.go | 2 +- 8 files changed, 332 insertions(+), 332 deletions(-) rename core/testdata/{TestBatchCreate => TestBatchCreate.json} (92%) rename core/testdata/{TestBatchGetUser => TestBatchGetUser.json} (84%) rename core/testdata/{TestBatchListUserRevisions => TestBatchListUserRevisions.json} (83%) rename core/testdata/{TestBatchUpdate => TestBatchUpdate.json} (92%) rename core/testdata/{TestEmptyGetAndUpdate => TestEmptyGetAndUpdate.json} (77%) rename core/testdata/{TestListHistory => TestListHistory.json} (92%) rename core/testdata/{TestMonitor => TestMonitor.json} (92%) diff --git a/core/testdata/TestBatchCreate b/core/testdata/TestBatchCreate.json similarity index 92% rename from core/testdata/TestBatchCreate rename to core/testdata/TestBatchCreate.json index 7767fd46c..a82f247ce 100644 --- a/core/testdata/TestBatchCreate +++ b/core/testdata/TestBatchCreate.json @@ -3,7 +3,7 @@ "directory": { "directoryId": "integration", "log": { - "treeId": "7278028135018658746", + "treeId": "349604261197378701", "treeType": "PREORDERED_LOG", "hashStrategy": "RFC6962_SHA256", "hashAlgorithm": "SHA256", @@ -13,7 +13,7 @@ } }, "map": { - "treeId": "6838826273893076970", + "treeId": "7842245384601735155", "treeType": "MAP", "hashStrategy": "CONIKS_SHA256", "hashAlgorithm": "SHA256", diff --git a/core/testdata/TestBatchGetUser b/core/testdata/TestBatchGetUser.json similarity index 84% rename from core/testdata/TestBatchGetUser rename to core/testdata/TestBatchGetUser.json index 94a80cc83..d0e416716 100644 --- a/core/testdata/TestBatchGetUser +++ b/core/testdata/TestBatchGetUser.json @@ -3,7 +3,7 @@ "directory": { "directoryId": "integration", "log": { - "treeId": "6436254906339245767", + "treeId": "274915599592077923", "treeType": "PREORDERED_LOG", "hashStrategy": "RFC6962_SHA256", "hashAlgorithm": "SHA256", @@ -13,7 +13,7 @@ } }, "map": { - "treeId": "7861954534383964780", + "treeId": "2658973437142183928", "treeType": "MAP", "hashStrategy": "CONIKS_SHA256", "hashAlgorithm": "SHA256", @@ -44,24 +44,24 @@ "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgTwJ6pRCzN8yz89/wuuJRWfqtzUDwxzY/Xlshq+1D00UVr3zGZZDdiAAAAAAAAAABABISAhgBEgwQ4Yj8++WY39cVGAI=", - "signature": "MEYCIQCjz2ydLguyNzqrYkcBzkgLbV8l375NT38kHlLYsSXx7gIhAPqoll5PiJXz+AZAKZ0HY0CcTHkHjcb7bdudtDzrEQkz" + "mapRoot": "AAEg69bvF7o0g0ovLHbke0e+0U7gOPIRpqOSm/+u5pbUMVsVr6TfoU8veAAAAAAAAAABABISAhgBEgwQidWQ3fmb6dcVGAI=", + "signature": "MEUCIQD6jaYTYrFmWEYSapUNQhiKyXOTuyX9tWBTi47WDAixgQIgZPgJqMNxBR5OnRLvYHp5subWDfkdQ9ZI6gOJpMtN1Oo=" }, "logInclusion": [ - "f8sBT/F7uiKNm8SYzOrNoD5s7VG7U+3zlM81t9AJtzM=" + "EVeKiePomS5jp4+NFhjwtRmUkDJOD9lOLQ8AUY0Mfos=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "WVIrvJA3Psc=", - "logRoot": "AAEAAAAAAAAAAiBg+FfmYdU68/c6iDeWUBRXvgRxR2OjBarhyTJ2kvQ9NBWvfMZ0q04gAAAAAAAAAAIAAA==", - "logRootSignature": "MEUCIQD156TtVU9NrOBNyyQdzK7lj33vxwbEGcvW/MGnTHUWbAIgdNYJW18c4CqFWQqKaGs3xRUtlr/oPUAuaVYLikx6aLs=" + "keyHint": "A9CySADmOmM=", + "logRoot": "AAEAAAAAAAAAAiAFNQJyYBg1CKF2KDcnTGW6Iv2qDwSthHRhsvILFk2jUhWvpN+wERgAAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIE5rW+BWj8SbxngHsZv2vdlvrGxqbySoplai+uLnq0YZAiEApaatomDzusXgovzASU/qCzIslwBbP+liaMdvSiux9zQ=" } } }, "mapLeavesByUserId": { "alice": { - "vrfProof": "Fvu6DIjBAP0nAmgHZk+wsHQOZc/JAGG84F3B9JaAkQFk4Q4u2nfNHUffK9QChph0GTO8+Pu+iYBd/Uqiao7zegRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "ysnExVIpZCdJtIO05WqTYdrnHW2zHduYrmuNjY5W476JMPXk2/KxN5NaFupPZ1u39DxTcqX5QGoAg08P9N1YhARTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { "index": "A9/B/HF0DP6pap5CSp8/Jo05FhoGWECfsTAnRlVdzvM=" @@ -320,8 +320,8 @@ "", "", "", - "AI6Czk5sjFmQFNJjxzqsAv2GxrJHN6tg4pR0udojpGo=", - "Diga+Y4wctx5Lm0TtZOxfqq4hYxMCX8e8QK0xMcJKxw=", + "MbHYVoxwjBw0+Dm4fYfJLzTIhJEvO+OHn25LQMjKPbQ=", + "Xywb6o00xmsagWxwsvxkWsjMMk4so6HwNNQJBuudRsM=", "" ] } @@ -338,32 +338,32 @@ "batchGetUser": { "request": { "userIds": [ - "zelda", - "alice" + "alice", + "zelda" ] }, "response": { "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgTwJ6pRCzN8yz89/wuuJRWfqtzUDwxzY/Xlshq+1D00UVr3zGZZDdiAAAAAAAAAABABISAhgBEgwQ4Yj8++WY39cVGAI=", - "signature": "MEYCIQCjz2ydLguyNzqrYkcBzkgLbV8l375NT38kHlLYsSXx7gIhAPqoll5PiJXz+AZAKZ0HY0CcTHkHjcb7bdudtDzrEQkz" + "mapRoot": "AAEg69bvF7o0g0ovLHbke0e+0U7gOPIRpqOSm/+u5pbUMVsVr6TfoU8veAAAAAAAAAABABISAhgBEgwQidWQ3fmb6dcVGAI=", + "signature": "MEUCIQD6jaYTYrFmWEYSapUNQhiKyXOTuyX9tWBTi47WDAixgQIgZPgJqMNxBR5OnRLvYHp5subWDfkdQ9ZI6gOJpMtN1Oo=" }, "logInclusion": [ - "f8sBT/F7uiKNm8SYzOrNoD5s7VG7U+3zlM81t9AJtzM=" + "EVeKiePomS5jp4+NFhjwtRmUkDJOD9lOLQ8AUY0Mfos=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "WVIrvJA3Psc=", - "logRoot": "AAEAAAAAAAAAAiBg+FfmYdU68/c6iDeWUBRXvgRxR2OjBarhyTJ2kvQ9NBWvfMZ0q04gAAAAAAAAAAIAAA==", - "logRootSignature": "MEUCIQD156TtVU9NrOBNyyQdzK7lj33vxwbEGcvW/MGnTHUWbAIgdNYJW18c4CqFWQqKaGs3xRUtlr/oPUAuaVYLikx6aLs=" + "keyHint": "A9CySADmOmM=", + "logRoot": "AAEAAAAAAAAAAiAFNQJyYBg1CKF2KDcnTGW6Iv2qDwSthHRhsvILFk2jUhWvpN+wERgAAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIE5rW+BWj8SbxngHsZv2vdlvrGxqbySoplai+uLnq0YZAiEApaatomDzusXgovzASU/qCzIslwBbP+liaMdvSiux9zQ=" } } }, "mapLeavesByUserId": { "alice": { - "vrfProof": "htullPm61X7Mda8wshXA5gdPWwP5xDTsa9UEG3VTi8NXBd0KnMXTqn66v0WmTlfOZJXEdlye1G63CzIIy0vmYwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "9pS2LAzQpnQH+SWIJbkgObG5gdBhgLv414haiAJdSrmq9nlu9F6HkVzHm0QScRo/+rl5HSFIRiOtzlaXFcRh/gRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { "index": "A9/B/HF0DP6pap5CSp8/Jo05FhoGWECfsTAnRlVdzvM=" @@ -622,14 +622,14 @@ "", "", "", - "AI6Czk5sjFmQFNJjxzqsAv2GxrJHN6tg4pR0udojpGo=", - "Diga+Y4wctx5Lm0TtZOxfqq4hYxMCX8e8QK0xMcJKxw=", + "MbHYVoxwjBw0+Dm4fYfJLzTIhJEvO+OHn25LQMjKPbQ=", + "Xywb6o00xmsagWxwsvxkWsjMMk4so6HwNNQJBuudRsM=", "" ] } }, "zelda": { - "vrfProof": "3P6o7S8wXeEy3QvP04dnvlaP69Q0z6jUFhtoxC/ePRlQW6dGM7iW0od4Or5qZ0WegyEWxcTYAiEFN+jtEhVgUQQtrUX0DufLX9SITX79ae9LqiYFNaU8XDMHSZ44UUb2kMU6/IycyPbQiVogsuIIrgNYXImVlFvuCSyjC6Kg03hK", + "vrfProof": "D+lM9XmqHxGmKybhEMahGfAE0894L3VKObD6PSAQjsAUsZXOux3y/mrHp5zqqJ0Bx0WxAHbzJEnQaJ9raXopIwQtrUX0DufLX9SITX79ae9LqiYFNaU8XDMHSZ44UUb2kMU6/IycyPbQiVogsuIIrgNYXImVlFvuCSyjC6Kg03hK", "mapInclusion": { "leaf": { "index": "L+Kt2w2EizRLIRMNTQu0J9o4c37Jhf2MT+xy8XZ/QVo=" @@ -886,10 +886,10 @@ "", "", "", - "n26CQBZKu5/OloKNaA89G1g7Y8GwmYCmsDHK9ff332c=", + "hAGHSelXM0gOCMU/wfT1YLYo8Ls/XGGKLP6gIf1/2P4=", "", "", - "Diga+Y4wctx5Lm0TtZOxfqq4hYxMCX8e8QK0xMcJKxw=", + "Xywb6o00xmsagWxwsvxkWsjMMk4so6HwNNQJBuudRsM=", "" ] } @@ -913,29 +913,29 @@ "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgTwJ6pRCzN8yz89/wuuJRWfqtzUDwxzY/Xlshq+1D00UVr3zGZZDdiAAAAAAAAAABABISAhgBEgwQ4Yj8++WY39cVGAI=", - "signature": "MEYCIQCjz2ydLguyNzqrYkcBzkgLbV8l375NT38kHlLYsSXx7gIhAPqoll5PiJXz+AZAKZ0HY0CcTHkHjcb7bdudtDzrEQkz" + "mapRoot": "AAEg69bvF7o0g0ovLHbke0e+0U7gOPIRpqOSm/+u5pbUMVsVr6TfoU8veAAAAAAAAAABABISAhgBEgwQidWQ3fmb6dcVGAI=", + "signature": "MEUCIQD6jaYTYrFmWEYSapUNQhiKyXOTuyX9tWBTi47WDAixgQIgZPgJqMNxBR5OnRLvYHp5subWDfkdQ9ZI6gOJpMtN1Oo=" }, "logInclusion": [ - "f8sBT/F7uiKNm8SYzOrNoD5s7VG7U+3zlM81t9AJtzM=" + "EVeKiePomS5jp4+NFhjwtRmUkDJOD9lOLQ8AUY0Mfos=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "WVIrvJA3Psc=", - "logRoot": "AAEAAAAAAAAAAiBg+FfmYdU68/c6iDeWUBRXvgRxR2OjBarhyTJ2kvQ9NBWvfMZ0q04gAAAAAAAAAAIAAA==", - "logRootSignature": "MEUCIQD156TtVU9NrOBNyyQdzK7lj33vxwbEGcvW/MGnTHUWbAIgdNYJW18c4CqFWQqKaGs3xRUtlr/oPUAuaVYLikx6aLs=" + "keyHint": "A9CySADmOmM=", + "logRoot": "AAEAAAAAAAAAAiAFNQJyYBg1CKF2KDcnTGW6Iv2qDwSthHRhsvILFk2jUhWvpN+wERgAAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIE5rW+BWj8SbxngHsZv2vdlvrGxqbySoplai+uLnq0YZAiEApaatomDzusXgovzASU/qCzIslwBbP+liaMdvSiux9zQ=" } } }, "mapLeavesByUserId": { "bob": { - "vrfProof": "dmCGQRnEQ3ykR9fS5936R27Gs+2zqAAlLvgFobAa+In2ZDLzukb3vLTxmnTPmmr0JYe0wN2vgyAx0g0F9Wm9LASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "I2ltfQzNEEa10Y9+TZZ2dZmy9o2nWEHxshivbUhalk2wKI6fCrWZynRIROs9evChOVW7SYwWvEl7yBpkkpyH7ASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leafHash": "bnnsZtARhBJHmWzHg3nFPkgqkZTE7qSbML1+KFYkXFo=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgCNre5AU6M93xyVupgQ5nmitX+SY183nsPVU4XTKDjq1CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAxT+O0GVWsLvQ7fHinzrAAdYHczjZYjSWaLD7gaRvWFsCIQCaPy+Y5AIHXSsjT9u7MktiLXOhaqPphf+Pd1YwUuSGOA==" + "leafHash": "y1yYDFLp1wPaHA05vbtiRs6b5nMCDmVJrBHiKWhVejk=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgF1HOwUH2+Dl028mmqMXOqtO/WdY09cU4jkOfZ1HnQF1CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBZ8Luuq5X301J3HOJ/M2Vy4SSAaDQqskBt5bUXm09mGAIgYv8abJQFZdlaphC1dqNkvjQnsqysthfWTfWDgYzun/Q=" }, "inclusion": [ "", @@ -1192,12 +1192,12 @@ "", "", "", - "un+CZStX2Mlg1Wqf0ZkGRGqbEvc4bcssvMUrgMA+F7I=", + "HSHwv8Tg4DUNKEO/CLWRXr2R9XriRMAEGhz5yODnDEs=", "" ] }, "committed": { - "key": "Y06TbK0aSH2XkZIU6/W74w==", + "key": "7gLkH9XUOtu8M0CsrpX1kg==", "data": "Ym9iLWtleQ==" } } @@ -1221,29 +1221,29 @@ "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgTwJ6pRCzN8yz89/wuuJRWfqtzUDwxzY/Xlshq+1D00UVr3zGZZDdiAAAAAAAAAABABISAhgBEgwQ4Yj8++WY39cVGAI=", - "signature": "MEYCIQCjz2ydLguyNzqrYkcBzkgLbV8l375NT38kHlLYsSXx7gIhAPqoll5PiJXz+AZAKZ0HY0CcTHkHjcb7bdudtDzrEQkz" + "mapRoot": "AAEg69bvF7o0g0ovLHbke0e+0U7gOPIRpqOSm/+u5pbUMVsVr6TfoU8veAAAAAAAAAABABISAhgBEgwQidWQ3fmb6dcVGAI=", + "signature": "MEUCIQD6jaYTYrFmWEYSapUNQhiKyXOTuyX9tWBTi47WDAixgQIgZPgJqMNxBR5OnRLvYHp5subWDfkdQ9ZI6gOJpMtN1Oo=" }, "logInclusion": [ - "f8sBT/F7uiKNm8SYzOrNoD5s7VG7U+3zlM81t9AJtzM=" + "EVeKiePomS5jp4+NFhjwtRmUkDJOD9lOLQ8AUY0Mfos=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "WVIrvJA3Psc=", - "logRoot": "AAEAAAAAAAAAAiBg+FfmYdU68/c6iDeWUBRXvgRxR2OjBarhyTJ2kvQ9NBWvfMZ0q04gAAAAAAAAAAIAAA==", - "logRootSignature": "MEUCIQD156TtVU9NrOBNyyQdzK7lj33vxwbEGcvW/MGnTHUWbAIgdNYJW18c4CqFWQqKaGs3xRUtlr/oPUAuaVYLikx6aLs=" + "keyHint": "A9CySADmOmM=", + "logRoot": "AAEAAAAAAAAAAiAFNQJyYBg1CKF2KDcnTGW6Iv2qDwSthHRhsvILFk2jUhWvpN+wERgAAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIE5rW+BWj8SbxngHsZv2vdlvrGxqbySoplai+uLnq0YZAiEApaatomDzusXgovzASU/qCzIslwBbP+liaMdvSiux9zQ=" } } }, "mapLeavesByUserId": { "bob": { - "vrfProof": "VR035+LCtmD8cJvRRTPfi1EVZceqXteC1VV3c8SVgx5JEu2Hr4Rc9rwz0gURgum7BQ3i3QEtf168cPa671IFegSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "d6ENxoSkRW+JT9uX6wcq1jzOPvhSJW/zEhPTbB6dTZuRuTsGSGZjYm/lQvaB8X3RagewSBfKFszGNGIyKCWaywSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leafHash": "bnnsZtARhBJHmWzHg3nFPkgqkZTE7qSbML1+KFYkXFo=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgCNre5AU6M93xyVupgQ5nmitX+SY183nsPVU4XTKDjq1CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAxT+O0GVWsLvQ7fHinzrAAdYHczjZYjSWaLD7gaRvWFsCIQCaPy+Y5AIHXSsjT9u7MktiLXOhaqPphf+Pd1YwUuSGOA==" + "leafHash": "y1yYDFLp1wPaHA05vbtiRs6b5nMCDmVJrBHiKWhVejk=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgF1HOwUH2+Dl028mmqMXOqtO/WdY09cU4jkOfZ1HnQF1CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBZ8Luuq5X301J3HOJ/M2Vy4SSAaDQqskBt5bUXm09mGAIgYv8abJQFZdlaphC1dqNkvjQnsqysthfWTfWDgYzun/Q=" }, "inclusion": [ "", @@ -1500,22 +1500,22 @@ "", "", "", - "un+CZStX2Mlg1Wqf0ZkGRGqbEvc4bcssvMUrgMA+F7I=", + "HSHwv8Tg4DUNKEO/CLWRXr2R9XriRMAEGhz5yODnDEs=", "" ] }, "committed": { - "key": "Y06TbK0aSH2XkZIU6/W74w==", + "key": "7gLkH9XUOtu8M0CsrpX1kg==", "data": "Ym9iLWtleQ==" } }, "carol": { - "vrfProof": "AmchLBb8sjyItq9rE8x9HoH0XjGToMaSGY7gw0WHI1FttybTCYc2KlcTdweITBoCfygCfW3eDU7LXNRr2yM44QSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "Hvf3JpAE5OTwjYP07Zd4SAXN5rxyAYl/ogi6Ovsv4L6yo4YZdGJjz45zcM2k6cqB+r5JBvC2xsXuhcpBUikaYQSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { "index": "JYx5mwUZM4rLnxSas5/NC9GiuqMYVWThqNqJdDz6bvw=", - "leafHash": "iKbcSxiuSXZlZmrjA2UhRXU4BK62gQgDNX3jyPjHKnA=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgBaUNr0suo4oYHvcF5wkH7/fHCVP3sTH0H2u1m4QVwKRCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAuCVrH0yYaOcTPtSn3WG0O0Od7EqQFPugAyLqaY7/i4sCIQDgzV1yj8sb7Vd8WaZEzMIKQNXrrwi2M7dRt5ImA0Txsw==" + "leafHash": "OP4DlKd6oGJt39ZGV9SCMgQiXS0S77By+2mxwJiwIZY=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgGIL/CYoJ5CVVWsBKsVHZEGa7kxPIr16cq5lns4QozrdCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiAj3qa7XiAf5Y81BIaJE16OsMqY5qRkwhl+jSdjF5PfZQIhAKZNvJ4sWNkNn6ceLk1KXe+i4dJs0WFdvV3G/x+3AqW8" }, "inclusion": [ "", @@ -1772,12 +1772,12 @@ "", "", "", - "Diga+Y4wctx5Lm0TtZOxfqq4hYxMCX8e8QK0xMcJKxw=", + "Xywb6o00xmsagWxwsvxkWsjMMk4so6HwNNQJBuudRsM=", "" ] }, "committed": { - "key": "RBXfavhP3jMXanB5rwSgEg==", + "key": "IglSjYWJ4VsOziWvSxe3cA==", "data": "Y2Fyb2wta2V5" } } @@ -1793,32 +1793,32 @@ "batchGetUser": { "request": { "userIds": [ - "alice", - "bob" + "bob", + "alice" ] }, "response": { "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgTwJ6pRCzN8yz89/wuuJRWfqtzUDwxzY/Xlshq+1D00UVr3zGZZDdiAAAAAAAAAABABISAhgBEgwQ4Yj8++WY39cVGAI=", - "signature": "MEYCIQCjz2ydLguyNzqrYkcBzkgLbV8l375NT38kHlLYsSXx7gIhAPqoll5PiJXz+AZAKZ0HY0CcTHkHjcb7bdudtDzrEQkz" + "mapRoot": "AAEg69bvF7o0g0ovLHbke0e+0U7gOPIRpqOSm/+u5pbUMVsVr6TfoU8veAAAAAAAAAABABISAhgBEgwQidWQ3fmb6dcVGAI=", + "signature": "MEUCIQD6jaYTYrFmWEYSapUNQhiKyXOTuyX9tWBTi47WDAixgQIgZPgJqMNxBR5OnRLvYHp5subWDfkdQ9ZI6gOJpMtN1Oo=" }, "logInclusion": [ - "f8sBT/F7uiKNm8SYzOrNoD5s7VG7U+3zlM81t9AJtzM=" + "EVeKiePomS5jp4+NFhjwtRmUkDJOD9lOLQ8AUY0Mfos=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "WVIrvJA3Psc=", - "logRoot": "AAEAAAAAAAAAAiBg+FfmYdU68/c6iDeWUBRXvgRxR2OjBarhyTJ2kvQ9NBWvfMZ0q04gAAAAAAAAAAIAAA==", - "logRootSignature": "MEUCIQD156TtVU9NrOBNyyQdzK7lj33vxwbEGcvW/MGnTHUWbAIgdNYJW18c4CqFWQqKaGs3xRUtlr/oPUAuaVYLikx6aLs=" + "keyHint": "A9CySADmOmM=", + "logRoot": "AAEAAAAAAAAAAiAFNQJyYBg1CKF2KDcnTGW6Iv2qDwSthHRhsvILFk2jUhWvpN+wERgAAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIE5rW+BWj8SbxngHsZv2vdlvrGxqbySoplai+uLnq0YZAiEApaatomDzusXgovzASU/qCzIslwBbP+liaMdvSiux9zQ=" } } }, "mapLeavesByUserId": { "alice": { - "vrfProof": "oJjODAwXiAm7Zy8kL1pz8ws1xkj8sdf6VQ56LodbHL2iBBCI1ka8tgP3l8jRw2LW/e4UXx3TFKEqz1CmgWUyyQRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "rMwh4bnolLuHIkGOsBtvBeWXtuPmURnlEoiV7peIiosM4iSbTENViYFBH9nACvoLdbHhrGWPgaOvpz0GRb6xlgRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { "index": "A9/B/HF0DP6pap5CSp8/Jo05FhoGWECfsTAnRlVdzvM=" @@ -2077,19 +2077,19 @@ "", "", "", - "AI6Czk5sjFmQFNJjxzqsAv2GxrJHN6tg4pR0udojpGo=", - "Diga+Y4wctx5Lm0TtZOxfqq4hYxMCX8e8QK0xMcJKxw=", + "MbHYVoxwjBw0+Dm4fYfJLzTIhJEvO+OHn25LQMjKPbQ=", + "Xywb6o00xmsagWxwsvxkWsjMMk4so6HwNNQJBuudRsM=", "" ] } }, "bob": { - "vrfProof": "UmGQlkoDjKGOCpqUjpT37zy2LPXkKlaRZUVnvtVZayjHyCCOwJqLFwzXOgU4t0HFJX7dwbX4AOeuVFoVXTTJFQSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "xRCapg8vGHVgcFgIz5XoblX4jwO05mbuQNrchaTAi0m7mhHAlqx9gKSprifpGBewOLKMH8SA+ZsVVNvh6XzaPASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leafHash": "bnnsZtARhBJHmWzHg3nFPkgqkZTE7qSbML1+KFYkXFo=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgCNre5AU6M93xyVupgQ5nmitX+SY183nsPVU4XTKDjq1CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAxT+O0GVWsLvQ7fHinzrAAdYHczjZYjSWaLD7gaRvWFsCIQCaPy+Y5AIHXSsjT9u7MktiLXOhaqPphf+Pd1YwUuSGOA==" + "leafHash": "y1yYDFLp1wPaHA05vbtiRs6b5nMCDmVJrBHiKWhVejk=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgF1HOwUH2+Dl028mmqMXOqtO/WdY09cU4jkOfZ1HnQF1CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBZ8Luuq5X301J3HOJ/M2Vy4SSAaDQqskBt5bUXm09mGAIgYv8abJQFZdlaphC1dqNkvjQnsqysthfWTfWDgYzun/Q=" }, "inclusion": [ "", @@ -2346,12 +2346,12 @@ "", "", "", - "un+CZStX2Mlg1Wqf0ZkGRGqbEvc4bcssvMUrgMA+F7I=", + "HSHwv8Tg4DUNKEO/CLWRXr2R9XriRMAEGhz5yODnDEs=", "" ] }, "committed": { - "key": "Y06TbK0aSH2XkZIU6/W74w==", + "key": "7gLkH9XUOtu8M0CsrpX1kg==", "data": "Ym9iLWtleQ==" } } diff --git a/core/testdata/TestBatchListUserRevisions b/core/testdata/TestBatchListUserRevisions.json similarity index 83% rename from core/testdata/TestBatchListUserRevisions rename to core/testdata/TestBatchListUserRevisions.json index 4fe428865..0f8e103cd 100644 --- a/core/testdata/TestBatchListUserRevisions +++ b/core/testdata/TestBatchListUserRevisions.json @@ -3,7 +3,7 @@ "directory": { "directoryId": "integration", "log": { - "treeId": "8251057054512475724", + "treeId": "8234779369531202688", "treeType": "PREORDERED_LOG", "hashStrategy": "RFC6962_SHA256", "hashAlgorithm": "SHA256", @@ -13,7 +13,7 @@ } }, "map": { - "treeId": "4425668552959270156", + "treeId": "6717152226853265780", "treeType": "MAP", "hashStrategy": "CONIKS_SHA256", "hashAlgorithm": "SHA256", @@ -45,32 +45,32 @@ "response": { "latestLogRoot": { "logRoot": { - "keyHint": "coGkrNOybkw=", - "logRoot": "AAEAAAAAAAAACyCH/1qZSlqbuZImKrUV8owFl328PnQOIWVdMG/iEml2uhWvfMrRfM64AAAAAAAAAAsAAA==", - "logRootSignature": "MEYCIQD/RshQJwDyWBfnnTdpfRcDMdbS/2+knHLPE0hi2QD5ygIhAJH83e0RMdQ+c1BOq3NHuLNd+lBrL2YBgFdittlWbfxL" + "keyHint": "ckfQNPSfXIA=", + "logRoot": "AAEAAAAAAAAACyCiSiA2VZxcY+Q44AMA0RjUakml1LwXwA8zWSpJRb7UWRWvpOOWOHPoAAAAAAAAAAsAAA==", + "logRootSignature": "MEUCIQDfTUouJXsRSVCZgFUbGlq4MG5lS+rhFJnNw+nQnWAkMwIgfn/vz+Rk/tKkke8yXXkOgKP3gCiBLtzmSPJ2PfJh+OY=" } }, "mapRevisions": [ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgU0rrj7eTjd6Yo2nM2c0H9NGjMD4vjYE+wsFwktJLACcVr3zJ5l6PmAAAAAAAAAADADASFgiZu4LVmpnf1xUQmbuC1ZqZ39cVGAESFgixzuu1mJnf1xUQsaW3q56Z39cVGAI=", - "signature": "MEUCIQCZybIxXaHvV4bFLlPWRj0R++iHe34WeW8fo2+UTumM1wIgMCag1Y7Hn3fPLmpm6GRkPHSLkqwQjThOlW6c4dGZyuw=" + "mapRoot": "AAEgClLa03n2RHhMO/szdszZGlhvWdXM9yDPq14oyZ7kN5EVr6TisFC9aAAAAAAAAAADADASFgiBrZGuqZzp1xUQga2Rrqmc6dcVGAESFgiZucOsqJzp1xUQwb3X+qqc6dcVGAI=", + "signature": "MEUCIQCI8JZapeWvSNbiGkP/easRDWzk71hoMzqb0Rp5ftq9tAIgAc5gj7YyFfepbuu2XrI5mT2T2KhMAQbcnWM8RBP8e5Q=" }, "logInclusion": [ - "f9tPW1MgPGgNf3+SvvHP/GeW0ZDgnUq11TkRGnKOM9c=", - "xBgZV+AmDcvIBPkHymp0iG/HtJwfqoxG4Ko5ArXmeyk=", - "69JP9Dm9CUELsjNzTihJ3OoD2kgBtubL3sF3g91B2f8=", - "aBPh7AsEM/Ms2vggk8J0BQSf27eBYsWHvcs3pET8s5Q=" + "hGSbrjr6LnWAoXburt90DMFffz6zhYAwcN4rZ/BVr9k=", + "x/sd4hh2d02gD0bDei51J4sNkDrm7hR5dWXmP+SJchw=", + "DdLnFYJYunC2yrV0KZ3Y9aRjoFbl+zHgLn2gZxi7Az8=", + "CSnuJPwEil33IlZ7Gy82yS4nScZPAb3HCbJKQfiRH3M=" ] }, "mapLeavesByUserId": { "alice": { - "vrfProof": "UyiGB6V8WVaJevwgl02OL4Cvf4x7lQ/W3obXAd3jvJkzE4l5nsSOIbWhaTe2u23cuG+9RjhPcCIb7tcIOuV0DwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "eOCUeEBZC9a8JADDzhOliCfwdqCTZ8YsUftECO9sHMiFTcapTI7cTFM3+UWW96OemHFRibHr6DpxBQ8ffDylmgRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { - "leafHash": "AacFGqbS1OFlcqauo/RctoiJsMOLbVa/mwDU+NRHjok=", - "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgf41WHKESLV5vwdbsOP+tRfkWdG3eFDe6Gsg1EewJT3lCIMo73v2GoM+l1+I6DLpM0QnUZxQ+U5jsb5LHr5/9tYA6SpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAjBd+b4fcj53iD6BxFBny+Wjc4ffHKmerCrTK8LxyR7ECIQCO2NyDju6Cx+2SFzvpBqLf89bkwvIYcJZZLf5Tho8VkQ==" + "leafHash": "EL85baUTdWwWv17t56IPi2aM4sb1110EG257xVxdM48=", + "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgs3knO5ggwcfViBUbJ4YhVeH60Tjb3cmzIgFYLNHHUTxCIL15peO/RCqpsj9YQwciomuWGkJtt+EQ576NiR29WTJ3SpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEA2RB7tszrNUOIiyWTptcWoK3GDvwaEH/0Ov4mQCiwV3UCIQC+RMZeOW5OfrDwFcVDvYSExSh2JyYmNV0/3etVi1Pxhg==" }, "inclusion": [ "", @@ -327,21 +327,21 @@ "", "", "", - "tyjoXRamguXrQbMSI83WnQHbkWh9bskAX/EUkpc88LE=", + "SBXwS6OKU/rN9ihfHa3ohA/72DlO4fpyPRs5GIhCQ40=", "" ] }, "committed": { - "key": "HFcHgu/znjjEKLFt8f/FFQ==", + "key": "EolBl/8uu4Q7SKP8OvYYNA==", "data": "YmFyMg==" } }, "bob": { - "vrfProof": "atW/6jeYDZtKqVNgLh2F07HPl/N7ZwIeFJZgFMDaz0QW4vkiw5tKCluX3+o6HnozIQK7iMOy0S2daLCzkhTr9wSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "zVftFjdBO5LvitIi1tqqm6AoE6Wbpi4T+8Wfg0X/pF4cJ2GTesLOIdedMlfK47BzydaSbnL7KztgXxBTOvMxYgSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { - "leafHash": "DYLlINyUcXNQdz9FPN+acDnliSDkSxkco/zNZwWRvag=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgsJ4rjWqZvGzNPqTkUCnuTTHOXHN2+v9q2gfeV+81kOlCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAx/XibOJeB9YCZkRQVE85OZmO7mcqgy+mp3QHFfEOcuMCIQCDP3fG0CJZhXl6lGt7dDSm7qf2OwRYeIa/v76+wgpkhQ==" + "leafHash": "KNJge+G2reXfxHP/Wbw0ehVTZOh5DSjCLNcoOLlm9VM=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgdgw2Wl46G80nM79iXacKxhtVu9rGZWkRob/Q+nbjej9CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAyEC2VAPgmz8i3NA72rR5OSZpbzbMJQP3Rj8zJcB3RRMCIHYHqWiGGPga4z7VF9dpSDsExmTnLRk5vVdSmkR+Ok1b" }, "inclusion": [ "", @@ -598,12 +598,12 @@ "", "", "", - "uPQ+2iSbPnTNBsTyPM07+uK9cUEfAK5PWOY8ekmPU4I=", + "NhHKCF7m5AOoREryOsD10p4JQt7SLEgoXTgiqmZe7Pg=", "" ] }, "committed": { - "key": "usit6NVskLgLn62e+vLxKw==", + "key": "tmw8EH4T90+YzQ9+C8KEmQ==", "data": "YmFyMTE=" } } @@ -629,32 +629,32 @@ "response": { "latestLogRoot": { "logRoot": { - "keyHint": "coGkrNOybkw=", - "logRoot": "AAEAAAAAAAAACyCH/1qZSlqbuZImKrUV8owFl328PnQOIWVdMG/iEml2uhWvfMrRfM64AAAAAAAAAAsAAA==", - "logRootSignature": "MEYCIQD/RshQJwDyWBfnnTdpfRcDMdbS/2+knHLPE0hi2QD5ygIhAJH83e0RMdQ+c1BOq3NHuLNd+lBrL2YBgFdittlWbfxL" + "keyHint": "ckfQNPSfXIA=", + "logRoot": "AAEAAAAAAAAACyCiSiA2VZxcY+Q44AMA0RjUakml1LwXwA8zWSpJRb7UWRWvpOOWOHPoAAAAAAAAAAsAAA==", + "logRootSignature": "MEUCIQDfTUouJXsRSVCZgFUbGlq4MG5lS+rhFJnNw+nQnWAkMwIgfn/vz+Rk/tKkke8yXXkOgKP3gCiBLtzmSPJ2PfJh+OY=" } }, "mapRevisions": [ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgyqsauW6QkVhv4aFvNrh7h7FNT2JACcyjcxIoA4JH4scVr3zKCW9GqAAAAAAAAAAEADASFgiZu4LVmpnf1xUQscL6w6CZ39cVGAESFgixpbernpnf1xUQsaW3q56Z39cVGAI=", - "signature": "MEQCIAufUNn4ITo7zgK2+LmQeAF3daRmebcOqZpxtpM4J6BxAiAQJnBZPe15dQPaPWfFf0/gSfuYaTyP1JXfj5KBFpWP6w==" + "mapRoot": "AAEgK2O7igqAGW4W6BbaIvper2pr0AMWLr3m1K+50y81nGUVr6Tiz538CAAAAAAAAAAEADASFgiBrZGuqZzp1xUQueuL9qyc6dcVGAESFgjBvdf6qpzp1xUQwb3X+qqc6dcVGAI=", + "signature": "MEQCIGDsXUD5g0qqP5+Ed4Q3mzyLELNjDaf8GRXVYeixYG4SAiBpRdF1d2AV10uPVsagzXy1kMEpbjw77Xcqkrz2DWGNQA==" }, "logInclusion": [ - "d0/3SrZUMPYB7fE7oOOMW84waopyu+x4LX6Fj/KOwuM=", - "vI2xAw1PT/cBkeb/sHbqp7gsRaX0iQSuyOP8QbHXkQo=", - "l+w7CyCUhNETMHgqj21z3ptUnzYnJfnTZP9467AR/DY=", - "aBPh7AsEM/Ms2vggk8J0BQSf27eBYsWHvcs3pET8s5Q=" + "QYsN3H3njm9RSisxXyrNY6bdneLCTpZXJQyMiDnF+O8=", + "KGG1DP7g1ci2BI5/eUWi7+JBIYR0cvTLk7WF9/4VQkY=", + "GiNZP79laZj469F5ZmMAnoUgFaEGTOuldOBfj6z1QjA=", + "CSnuJPwEil33IlZ7Gy82yS4nScZPAb3HCbJKQfiRH3M=" ] }, "mapLeavesByUserId": { "carol": { - "vrfProof": "gaec5ggbhtyv4Z993EfsRKRr9W20NzJRLf3a+lqx+FZz6Ju4uA7CRRvSDpVIxLpV3ahUiJIufpW6IzZDhe9CewSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "TL9EMpoKCVMG0G2P7ZufRc2A4SpfjAFT0sgE9FxlY7++pb8HzBBOxM6YcYNHhyc9TjqXt9udCPh8v5VrMxgvogSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { - "leafHash": "HCv+NDaC19WP3vLmw46YzVjN1D0WSuURTQF4jomzrMY=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgwZJ1v7cJYy7cgPXD0WHcWLjTSZZYzdBqJ5BKmUtvlyVCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAmnb/8dY6FKdq0QNw0dlah7u5V7XoQnW9p5SNFhTXclUCIF9GofjMkx+OaNcasCK2oAAMHt4wVrSsyaJ0bcHxZfv2" + "leafHash": "x5gtiJvuV3LSkgfFI269Y94MmcUbCquiUBubyNr3lmg=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgkotxG28uFmQRzmvl8QFxdTtkIsW17jvYOPDZ2AwmiQlCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiBhwlw5yD+rlgH7TaiVAKUjf+dZVohFu3+UPRPvS6Ux6AIhAJ72E2OFkY9xRVgsmvwKV/fbXDFR6aiy1zrJbAmB4CbB" }, "inclusion": [ "", @@ -910,13 +910,13 @@ "", "", "", - "05lOKICQr7O8XjtbOehMXDDy76pc9TJC2a0ZVMuaxF4=", - "tyjoXRamguXrQbMSI83WnQHbkWh9bskAX/EUkpc88LE=", + "AxZAb3uzGsNlYs2cYxKOb9Si+FYfqdGckqwResqX67o=", + "SBXwS6OKU/rN9ihfHa3ohA/72DlO4fpyPRs5GIhCQ40=", "" ] }, "committed": { - "key": "Ze/9+E/lJ5c6wjfrBK7Vrg==", + "key": "UiYbDfRmiFXq5/kETawnOA==", "data": "YmFyMjE=" } } @@ -925,23 +925,23 @@ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgNtz3wNpn0BOYuznRcZQ3x0UFVFPKa5nPCDmTZwiLwGsVr3zKJtjRKAAAAAAAAAAFADASFgixwvrDoJnf1xUQ0cLerqKZ39cVGAESFgixpbernpnf1xUQsaW3q56Z39cVGAI=", - "signature": "MEUCIAT+1xoT+MRgqjfD8bX0aOpBNaZe5lRl/xbD6RLFkz54AiEA64Et3Bm/dTHmOErhg9U1p4wE9XznnotIpbCssM5Wu1g=" + "mapRoot": "AAEgG8So7QorcDXmhfa1bVSoIBy7yXbAfZ1WmU1YnsJ0u3wVr6Ti72UZ4AAAAAAAAAAFADASFgi564v2rJzp1xUQueuL9qyc6dcVGAESFgjBvdf6qpzp1xUQqdq+9K6c6dcVGAI=", + "signature": "MEQCIQD4+EHp+xn/5vkNxygmdUAatTy8MT+Wrhs6xMaVlX5uDgIfQ93SamCj+06f22qp2xddmf3YP9Xl3EnfqSlAI0bCyw==" }, "logInclusion": [ - "Sv2rD1g+NQO+8tuaALDSFF17oFKlzbzC/xv47weUvCc=", - "vI2xAw1PT/cBkeb/sHbqp7gsRaX0iQSuyOP8QbHXkQo=", - "l+w7CyCUhNETMHgqj21z3ptUnzYnJfnTZP9467AR/DY=", - "aBPh7AsEM/Ms2vggk8J0BQSf27eBYsWHvcs3pET8s5Q=" + "aDg4ETxWcZRCDOVOtr2210vohfF+/zcRJxCky4oxJLA=", + "KGG1DP7g1ci2BI5/eUWi7+JBIYR0cvTLk7WF9/4VQkY=", + "GiNZP79laZj469F5ZmMAnoUgFaEGTOuldOBfj6z1QjA=", + "CSnuJPwEil33IlZ7Gy82yS4nScZPAb3HCbJKQfiRH3M=" ] }, "mapLeavesByUserId": { "carol": { - "vrfProof": "L7QB9spueKOPpe8Xu83dTid3luH+huYAzI7JLyGRpnlAjR8b9N7cYqQEqq2EgoTNosWsSkYS3I8ddM7t0AujygSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "LpUQNXP41qAIzKAhJxBK0048BLQDSMSdWK8slKaRpPoOwYxEfbVhhUCI/9/xWJffAP4Y+3JaTCO2RcFdGtvaiwSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { - "leafHash": "Kdnbe+3AOKEiv5Y4PM6fqkkTIGW8z84eWIC7C5PnPiQ=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgQu/5b3o2T5NI9D9jBuIEUnfgYypGuVROKNJVD9vLRltCINX2DUWAGx3qtIObx+eDuyzvcw9dC477WVU623+i0AzBSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAn+RbyCysTJZ79p+qhXK/lHf6ZJifRwDENtvp712rQOUCIQDZnZQMQ+ET5n+3XPnDXk3vlX5BB6qojqxDYyZG/nhpqA==" + "leafHash": "JeROdmTDzSPHA/B5MoiA6suAmTWAaA4TRRpdoDPIAOg=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgk4mIm8CKS+rTS8Cp9h8YoGX/7hjBNqFp4fn5lMSww4ZCICnEGeyK9XaAK/CdCwJP5m3B3bvNjSvI87BULnesktihSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAtncnieIag38kvMBO0kSf9YikqPZRIWQvRJRkI5QrIG0CIEW8PVuPVXDj/Vwh6KHUAWGfzjY0mxkSI3b5IaycAm3Q" }, "inclusion": [ "", @@ -1197,13 +1197,13 @@ "", "", "", - "05lOKICQr7O8XjtbOehMXDDy76pc9TJC2a0ZVMuaxF4=", - "tyjoXRamguXrQbMSI83WnQHbkWh9bskAX/EUkpc88LE=", + "AxZAb3uzGsNlYs2cYxKOb9Si+FYfqdGckqwResqX67o=", + "SBXwS6OKU/rN9ihfHa3ohA/72DlO4fpyPRs5GIhCQ40=", "" ] }, "committed": { - "key": "gGgl4+Hzwn7fdAeJS5igEg==", + "key": "ufztPUnB/bCnxYZ1AVkgSg==", "data": "YmFyMjI=" } } @@ -1212,23 +1212,23 @@ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEg0Ro1ifuZTtxFWIoUo2UsgSj/qvp0FIznVTzc4V7HLhwVr3zKTFTDqAAAAAAAAAAGADASFgjRwt6uopnf1xUQqbfb2qSZ39cVGAESFgixpbernpnf1xUQsaW3q56Z39cVGAI=", - "signature": "MEQCIDDx6YVSw0bRaQBHeU0a+l3Lp4DJk3yre0avaznp1mhvAiB0+zYI6od0strWkADjAE+JvUiUTKyFiy8aTJqt4nZvDA==" + "mapRoot": "AAEgnjrz3DhNFBB4MusZ49JpSDyvlT8XnZ/qa73wvnLpSPMVr6TjDpBdSAAAAAAAAAAGADASFgi564v2rJzp1xUQueuL9qyc6dcVGAESFgip2r70rpzp1xUQuZPJ7bCc6dcVGAI=", + "signature": "MEUCIQCagmZpr8p+5MVp64ZG67hKY7C+HtrhNbzUoyqM632BaQIgKAKUcv6ty3+GUgNb/Q1fAnkeVxmIwSbv5MlsFp7Cj3s=" }, "logInclusion": [ - "SeEVzg9b55F74UcY/vSdIYmAl/p7EvAvBiyV43je8ZE=", - "ZqqVERrH3SS7AadZiXWeMMt8A3C9zMHr5Rq106E+wfk=", - "l+w7CyCUhNETMHgqj21z3ptUnzYnJfnTZP9467AR/DY=", - "aBPh7AsEM/Ms2vggk8J0BQSf27eBYsWHvcs3pET8s5Q=" + "xOS3nKn1uT7vxhtoYZ2zqBY57N01oxUowtIH3kpkjY8=", + "Ny3F/J7PeGIlTLdTJvnoYzQAOojnmO3nz82k/pkIKV0=", + "GiNZP79laZj469F5ZmMAnoUgFaEGTOuldOBfj6z1QjA=", + "CSnuJPwEil33IlZ7Gy82yS4nScZPAb3HCbJKQfiRH3M=" ] }, "mapLeavesByUserId": { "carol": { - "vrfProof": "S/FTqMPMEw2xLSnY4N/sG7WYPLgKzRnQ0YvxLNUTF8rvdOImy9FwEUFmKGWj7zFUJmQA8WukADiD713uZDcpWwSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "aIhBuQAEXRcZvBogy7t/9o++2z31DtNMju74jTNCorAcooW3334q+NhSZZYIw249irjPw6BIiG1Bo9KtcgjokwSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { - "leafHash": "Kdnbe+3AOKEiv5Y4PM6fqkkTIGW8z84eWIC7C5PnPiQ=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgQu/5b3o2T5NI9D9jBuIEUnfgYypGuVROKNJVD9vLRltCINX2DUWAGx3qtIObx+eDuyzvcw9dC477WVU623+i0AzBSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAn+RbyCysTJZ79p+qhXK/lHf6ZJifRwDENtvp712rQOUCIQDZnZQMQ+ET5n+3XPnDXk3vlX5BB6qojqxDYyZG/nhpqA==" + "leafHash": "JeROdmTDzSPHA/B5MoiA6suAmTWAaA4TRRpdoDPIAOg=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgk4mIm8CKS+rTS8Cp9h8YoGX/7hjBNqFp4fn5lMSww4ZCICnEGeyK9XaAK/CdCwJP5m3B3bvNjSvI87BULnesktihSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAtncnieIag38kvMBO0kSf9YikqPZRIWQvRJRkI5QrIG0CIEW8PVuPVXDj/Vwh6KHUAWGfzjY0mxkSI3b5IaycAm3Q" }, "inclusion": [ "", @@ -1484,13 +1484,13 @@ "", "", "", - "05lOKICQr7O8XjtbOehMXDDy76pc9TJC2a0ZVMuaxF4=", - "CJjxqLmU38xcC4PrPhsZzbQ87rgiUZ9BfXBVyS7vJdM=", + "AxZAb3uzGsNlYs2cYxKOb9Si+FYfqdGckqwResqX67o=", + "frzoxba9zTUoYMyOTVm5KYPRw0keLQbhvG/a5v/Od/o=", "" ] }, "committed": { - "key": "gGgl4+Hzwn7fdAeJS5igEg==", + "key": "ufztPUnB/bCnxYZ1AVkgSg==", "data": "YmFyMjI=" } } @@ -1499,23 +1499,23 @@ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgXQPJu8UwiX6F30qBUhqW6HztGpGbiY8CBeitdJQUeeYVr3zKcLVyiAAAAAAAAAAHADASFgipt9vapJnf1xUQuYSI/qaZ39cVGAESFgixpbernpnf1xUQsaW3q56Z39cVGAI=", - "signature": "MEUCIQD6gLc9TClOPTGYaVrHSpfl5JfPi+plqUPOyAPV4STxawIgA2fEIQaWR1E5PBZTCZftTS8pIOhIAT1yM3GZWcfpXW4=" + "mapRoot": "AAEgViO8t+kq5O1zDWNyXgqSR2NKc8+QodRw+JcistwbGfgVr6TjLmoBUAAAAAAAAAAHADASFgi564v2rJzp1xUQueuL9qyc6dcVGAESFgi5k8ntsJzp1xUQqaWa7LKc6dcVGAI=", + "signature": "MEQCIAFlij0UsUMdBIkfZfBvMXpjfWtWV6S3P1Lurq2ZNw6zAiAzrv8yirpJ8Iizsd3hcnAfbYYnRmfNr2VL2Z5GnhLO+A==" }, "logInclusion": [ - "LMGjVnsyvU4je2DW6Q0yxJcF/ZbSRgMn15Wg78QwWtk=", - "ZqqVERrH3SS7AadZiXWeMMt8A3C9zMHr5Rq106E+wfk=", - "l+w7CyCUhNETMHgqj21z3ptUnzYnJfnTZP9467AR/DY=", - "aBPh7AsEM/Ms2vggk8J0BQSf27eBYsWHvcs3pET8s5Q=" + "dRg3M2aiHDT5cpLcJaQmkkINVN4JTH6Y8AlmnQRkFvs=", + "Ny3F/J7PeGIlTLdTJvnoYzQAOojnmO3nz82k/pkIKV0=", + "GiNZP79laZj469F5ZmMAnoUgFaEGTOuldOBfj6z1QjA=", + "CSnuJPwEil33IlZ7Gy82yS4nScZPAb3HCbJKQfiRH3M=" ] }, "mapLeavesByUserId": { "carol": { - "vrfProof": "x4Nkja+1J0iK90yuYvoL1EVcQe8K6PVY3a12XXiWyyuLxrr0OQKBHY4IPkLKiiX4LFmz0Vz5uCSDOvKQxD9XjASmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "OuM+RcgujbBz72+2xp5qiby2yHVeYV9H7dHTz/cy6e+GPr6Aj/txlpjtDYXJizz+8koHAEu1VebI1GiYuQDFoQSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { - "leafHash": "Kdnbe+3AOKEiv5Y4PM6fqkkTIGW8z84eWIC7C5PnPiQ=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgQu/5b3o2T5NI9D9jBuIEUnfgYypGuVROKNJVD9vLRltCINX2DUWAGx3qtIObx+eDuyzvcw9dC477WVU623+i0AzBSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAn+RbyCysTJZ79p+qhXK/lHf6ZJifRwDENtvp712rQOUCIQDZnZQMQ+ET5n+3XPnDXk3vlX5BB6qojqxDYyZG/nhpqA==" + "leafHash": "JeROdmTDzSPHA/B5MoiA6suAmTWAaA4TRRpdoDPIAOg=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgk4mIm8CKS+rTS8Cp9h8YoGX/7hjBNqFp4fn5lMSww4ZCICnEGeyK9XaAK/CdCwJP5m3B3bvNjSvI87BULnesktihSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAtncnieIag38kvMBO0kSf9YikqPZRIWQvRJRkI5QrIG0CIEW8PVuPVXDj/Vwh6KHUAWGfzjY0mxkSI3b5IaycAm3Q" }, "inclusion": [ "", @@ -1771,13 +1771,13 @@ "", "", "", - "Qlxg2ZXb92IHNOcS26LY6xjR7fE6aGqRHHXLq78lZRE=", - "CJjxqLmU38xcC4PrPhsZzbQ87rgiUZ9BfXBVyS7vJdM=", + "yrFFjlAi8XFYQljwEXxQw5AwLVW+F9qcIF35uYD93O4=", + "frzoxba9zTUoYMyOTVm5KYPRw0keLQbhvG/a5v/Od/o=", "" ] }, "committed": { - "key": "gGgl4+Hzwn7fdAeJS5igEg==", + "key": "ufztPUnB/bCnxYZ1AVkgSg==", "data": "YmFyMjI=" } } @@ -1803,32 +1803,32 @@ "response": { "latestLogRoot": { "logRoot": { - "keyHint": "coGkrNOybkw=", - "logRoot": "AAEAAAAAAAAACyCH/1qZSlqbuZImKrUV8owFl328PnQOIWVdMG/iEml2uhWvfMrRfM64AAAAAAAAAAsAAA==", - "logRootSignature": "MEYCIQD/RshQJwDyWBfnnTdpfRcDMdbS/2+knHLPE0hi2QD5ygIhAJH83e0RMdQ+c1BOq3NHuLNd+lBrL2YBgFdittlWbfxL" + "keyHint": "ckfQNPSfXIA=", + "logRoot": "AAEAAAAAAAAACyCiSiA2VZxcY+Q44AMA0RjUakml1LwXwA8zWSpJRb7UWRWvpOOWOHPoAAAAAAAAAAsAAA==", + "logRootSignature": "MEUCIQDfTUouJXsRSVCZgFUbGlq4MG5lS+rhFJnNw+nQnWAkMwIgfn/vz+Rk/tKkke8yXXkOgKP3gCiBLtzmSPJ2PfJh+OY=" } }, "mapRevisions": [ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgXQPJu8UwiX6F30qBUhqW6HztGpGbiY8CBeitdJQUeeYVr3zKcLVyiAAAAAAAAAAHADASFgipt9vapJnf1xUQuYSI/qaZ39cVGAESFgixpbernpnf1xUQsaW3q56Z39cVGAI=", - "signature": "MEUCIQD6gLc9TClOPTGYaVrHSpfl5JfPi+plqUPOyAPV4STxawIgA2fEIQaWR1E5PBZTCZftTS8pIOhIAT1yM3GZWcfpXW4=" + "mapRoot": "AAEgViO8t+kq5O1zDWNyXgqSR2NKc8+QodRw+JcistwbGfgVr6TjLmoBUAAAAAAAAAAHADASFgi564v2rJzp1xUQueuL9qyc6dcVGAESFgi5k8ntsJzp1xUQqaWa7LKc6dcVGAI=", + "signature": "MEQCIAFlij0UsUMdBIkfZfBvMXpjfWtWV6S3P1Lurq2ZNw6zAiAzrv8yirpJ8Iizsd3hcnAfbYYnRmfNr2VL2Z5GnhLO+A==" }, "logInclusion": [ - "LMGjVnsyvU4je2DW6Q0yxJcF/ZbSRgMn15Wg78QwWtk=", - "ZqqVERrH3SS7AadZiXWeMMt8A3C9zMHr5Rq106E+wfk=", - "l+w7CyCUhNETMHgqj21z3ptUnzYnJfnTZP9467AR/DY=", - "aBPh7AsEM/Ms2vggk8J0BQSf27eBYsWHvcs3pET8s5Q=" + "dRg3M2aiHDT5cpLcJaQmkkINVN4JTH6Y8AlmnQRkFvs=", + "Ny3F/J7PeGIlTLdTJvnoYzQAOojnmO3nz82k/pkIKV0=", + "GiNZP79laZj469F5ZmMAnoUgFaEGTOuldOBfj6z1QjA=", + "CSnuJPwEil33IlZ7Gy82yS4nScZPAb3HCbJKQfiRH3M=" ] }, "mapLeavesByUserId": { "alice": { - "vrfProof": "eYPd0lP+h0WdPgBDT2W47pHiX0WXthTJS+sqZZu9OG1aJ3PWWfs5mtR1blAHDUcRvairMzy0WRiYifARRjaAGgRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "yvrzJtNaC4FyjtaiumBYa6TE8isISAzavDc5vWjO3YUCkSDyGS8TnkY+KX0L1wVjIem6Yk5ap0ETiFrmGfA4VwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { - "leafHash": "iBOt87jBEWz6jFq3eoLXTlLxS1JFHDfKaMOcvQ7L9pk=", - "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgTQd/HJXLO0Kkdn4UWJVcckTUFMqTdmo9+Wfo2GlhllBCIJtID3oYOeKs3i4D/cUMMmEjvtFSf8ZdkRNmt9Jaj66hSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiB0IxkpwO6w8SW+pXb3Qj2kJnlqr2WGKEJlWzb+dCwcUQIhAJIpTdSX9CjpZRtFuBqs4jiFIcN8cpFthj1YGOOhWSfF" + "leafHash": "dbQgR531ILLG5DZDiBdOCDgnUcczJrM+2MoaerA5GX0=", + "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgz1ViuN32xfGciKh7UOUW/OdTou0Ik+02ibPbyJrVeRRCIHbJ+0+I/oeOcfQ+tWzWg/+SuL55Vd58suiwkFq7Ci5XSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAyj6yNJcS8A9OYBYScHpIvLRCh++YTRAehgZY8vn4QpACIHIQEfCPjabHeZ3agfSRh01CMtW6rml+On1dCa5mypwC" }, "inclusion": [ "", @@ -2084,22 +2084,22 @@ "", "", "", - "xwDY0zuaRG5n0PQRIiv735y+YBgZHzARAu3geFB/2nw=", - "CJjxqLmU38xcC4PrPhsZzbQ87rgiUZ9BfXBVyS7vJdM=", + "h48Hd325/RcpAXzS385pkXqnKJ6dZVvpSwTuosBS1Xg=", + "frzoxba9zTUoYMyOTVm5KYPRw0keLQbhvG/a5v/Od/o=", "" ] }, "committed": { - "key": "rHvd+D1eItVp+/pLgKFgkA==", + "key": "Aj7SyDFzBuq2MzLfG7d4XA==", "data": "YmFyMw==" } }, "bob": { - "vrfProof": "pQTOE4PylTBI7yuXcCst2A9g+egraJAf0FH5jtJfIKs0Nw18sRkA/f3xBqHhsqjERB9apYgnxfR4Vc0RKz2G4gSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "muTR+u+J90exmgRFt/2O1zBUEMy+yageqsCUPI2jRPYJuGgUrQfWbhdpA2QEwqiKQsdCXdNxYAwcZfDabKA89gSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { - "leafHash": "7YMn4YezAkolQQt3ndEYdmNVvDgQj3D/dQde+lNbM98=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgJnCvV4OmJe3PfqDKJkk60sR5vLNHUrlmULS6S8TyBrVCIPGSx2ewCi85M32AU4hM3Ig80aIVGTujhqWCFj2jfzxNSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiArJOC/J2L+X07dflr+5MgEedKtoS4svwO1NtfiF+kjAgIhAL9usXTahOsas1ns15J8QfAHFOvmvdC1BoAEdIPJ/lCS" + "leafHash": "3KnfwiDNMaBT/k82sN0ecC/FrxFLFp5uWdl6J+DCAXM=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgWDTYB8OthL2EMcslaVdqk+8k5hT8XL2g33PlvQWxPZNCIA0PGJXKWbPSAAW1UQOUEhZpONOW8oROxOVH+kJAGxsASpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAkA17ful+4XGOUL+pB3IFaqroxcRXXZD18YG3KkEsU/kCIQDwobDDCDDe8Am5lmNTFscDVT0rumgjQ5O7Mf6H/Oj3Mw==" }, "inclusion": [ "", @@ -2356,21 +2356,21 @@ "", "", "", - "dAa6Mr7XZqfescwSsSZJ9T3H3hli/8bP7RavzYKHXsM=", + "pE3Ij8AaMZJGy+lEOK5Ffmz1ckYcOhQ7RcbHQu6Oqd0=", "" ] }, "committed": { - "key": "0CX824csk3LSO+WkveZ0UA==", + "key": "/DT2uEtetKcFrDEhD72eBA==", "data": "YmFyMTI=" } }, "carol": { - "vrfProof": "6ollpZvGlDyzZzYUFO/1thw6IX1LTE30wkQFfFgMu+EgRPtKhS03nffIoR2Ub6PGWo1CR+DHybtIzF/2JpCCwgSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "SPTURMql7Kk2nR0EHTkDpJMNnRgMS88Xbl5q42XOcYU2GW5XRBgJo12ld7RNw4o1rJ/K2ODi+Hn5SP9sHN6NYASmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { - "leafHash": "Kdnbe+3AOKEiv5Y4PM6fqkkTIGW8z84eWIC7C5PnPiQ=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgQu/5b3o2T5NI9D9jBuIEUnfgYypGuVROKNJVD9vLRltCINX2DUWAGx3qtIObx+eDuyzvcw9dC477WVU623+i0AzBSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAn+RbyCysTJZ79p+qhXK/lHf6ZJifRwDENtvp712rQOUCIQDZnZQMQ+ET5n+3XPnDXk3vlX5BB6qojqxDYyZG/nhpqA==" + "leafHash": "JeROdmTDzSPHA/B5MoiA6suAmTWAaA4TRRpdoDPIAOg=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgk4mIm8CKS+rTS8Cp9h8YoGX/7hjBNqFp4fn5lMSww4ZCICnEGeyK9XaAK/CdCwJP5m3B3bvNjSvI87BULnesktihSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAtncnieIag38kvMBO0kSf9YikqPZRIWQvRJRkI5QrIG0CIEW8PVuPVXDj/Vwh6KHUAWGfzjY0mxkSI3b5IaycAm3Q" }, "inclusion": [ "", @@ -2626,13 +2626,13 @@ "", "", "", - "Qlxg2ZXb92IHNOcS26LY6xjR7fE6aGqRHHXLq78lZRE=", - "CJjxqLmU38xcC4PrPhsZzbQ87rgiUZ9BfXBVyS7vJdM=", + "yrFFjlAi8XFYQljwEXxQw5AwLVW+F9qcIF35uYD93O4=", + "frzoxba9zTUoYMyOTVm5KYPRw0keLQbhvG/a5v/Od/o=", "" ] }, "committed": { - "key": "gGgl4+Hzwn7fdAeJS5igEg==", + "key": "ufztPUnB/bCnxYZ1AVkgSg==", "data": "YmFyMjI=" } } @@ -2641,22 +2641,22 @@ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgtG8zSo0BUgaUIqRlHKevu2JJMJzAGPNEZ/B4dikrWk8Vr3zKgHxL2AAAAAAAAAAIADASFgi5hIj+ppnf1xUQuYSI/qaZ39cVGAESFgixpbernpnf1xUQiafS/KeZ39cVGAI=", - "signature": "MEQCIAnrkQAbRWpd62BavH1LUK6SyPi0Nw/jQ036takdCuF/AiBzj8M4iSuYMFZ+25G3dDW+1AHCSkiH1PdYFx/HF2hzsw==" + "mapRoot": "AAEgu4k9F4ZOBkHOBxC+UtjEjRr7PTYhIuJYqutQtTi7TzkVr6TjUeqFeAAAAAAAAAAIADASFgi564v2rJzp1xUQueuL9qyc6dcVGAESFgippZrsspzp1xUQ6b/Ah7Wc6dcVGAI=", + "signature": "MEUCIQDrqjANDwuIgdG9zKmgE2YTG519NWSKSSN9VsC9lGfG7wIgPH0hO0vWheWJS6XgHsQ0DnYflUcflGtnxceVI6xs5X4=" }, "logInclusion": [ - "BUDx7U+743zrAbeGvFXTles6NMStKwJTiKsiS93Rb3k=", - "sQ2D6HIyeMu0tYCsVImmzkw4OpqKjfC1fiAulWeQpcU=", - "VwEa8SUjduVp6+Odcpa8LU5ZQed68yOfR2+4GPFvloI=" + "1w4eUeympikju23PQiffV47gnGHPhSMX70ejybjkJcU=", + "xC2uIDcK4EdEQHHDVaLhiV6SGMGK9cDG9hlSoamwomM=", + "chG6rYUb0M4PWDKlXCaeUf30RHP7CaN8PCfVrHeAa+k=" ] }, "mapLeavesByUserId": { "alice": { - "vrfProof": "ZBXkEHp2TPAA9m32JQIKZMb7ljLWA3hfc8GGZdmnp6tnPyVffE4YPKfEqjk2zIbHOl6WuKix5KueUetITnpmfwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "7jIxzQCNNO4FDVFu9W4qSc8pzrPmg/EFbx1VQVEqE6TIosCIgn0BYpq061Xh89YhnUWaXLLwEHjz+6z50WNgRwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { - "leafHash": "iBOt87jBEWz6jFq3eoLXTlLxS1JFHDfKaMOcvQ7L9pk=", - "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgTQd/HJXLO0Kkdn4UWJVcckTUFMqTdmo9+Wfo2GlhllBCIJtID3oYOeKs3i4D/cUMMmEjvtFSf8ZdkRNmt9Jaj66hSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiB0IxkpwO6w8SW+pXb3Qj2kJnlqr2WGKEJlWzb+dCwcUQIhAJIpTdSX9CjpZRtFuBqs4jiFIcN8cpFthj1YGOOhWSfF" + "leafHash": "dbQgR531ILLG5DZDiBdOCDgnUcczJrM+2MoaerA5GX0=", + "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgz1ViuN32xfGciKh7UOUW/OdTou0Ik+02ibPbyJrVeRRCIHbJ+0+I/oeOcfQ+tWzWg/+SuL55Vd58suiwkFq7Ci5XSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAyj6yNJcS8A9OYBYScHpIvLRCh++YTRAehgZY8vn4QpACIHIQEfCPjabHeZ3agfSRh01CMtW6rml+On1dCa5mypwC" }, "inclusion": [ "", @@ -2912,22 +2912,22 @@ "", "", "", - "xwDY0zuaRG5n0PQRIiv735y+YBgZHzARAu3geFB/2nw=", - "9CTvxXm3TWsNCQf+xOa5Ryr8EmgnzmCS4ns/zDUiapU=", + "h48Hd325/RcpAXzS385pkXqnKJ6dZVvpSwTuosBS1Xg=", + "PD4+fqV34Vx6j9me89nrVnPaQrrqRk33R4CHea+PNZw=", "" ] }, "committed": { - "key": "rHvd+D1eItVp+/pLgKFgkA==", + "key": "Aj7SyDFzBuq2MzLfG7d4XA==", "data": "YmFyMw==" } }, "bob": { - "vrfProof": "fvpWgtoFD8xU09MtIX8MszFNftAhWYy7OOCx8hWHqTOxbilbJj050Y7j0UieMK5OHd8dfwiR5GCOGUUxV1XTiQSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "CTanlxFoa8NjNyRZTTiAb/ivg25o54+iyzi8eivEBU+nqwUOEywA0NYO99VCCmpcmD/m3rCbFZ8gfj90hAkhDASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { - "leafHash": "h1K/qwHwT1fhCBetpVtaCdIxCesLC/oFSlY7o4ZqFU4=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgaiKjTN1SvZ3DAJeLFRi/JCAv5sbFrrkI0dbH5Hw3amxCIMj6lPySOm4sIoHkNb+K5XiWxbrpLWUr7oc2hu4YzjKASpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBgTfCaHp/Z/mvorhBTM/Hy+6lKTE90gFZQ8ZkSRpwaagIgYz1JSib2kpRI+XWawP/avex2YTQ6OWfMJ7A1gpr13GY=" + "leafHash": "12gqnsMMKZhJLyVTh5tlPB5djKzxOlspv/dsB3uJTHw=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgnyVhhL0nFayLr1mDDdNSiATEQxj6US46j3RAP7+bA8RCIPY0A0+JeT6ssOT70GNg19Gh//Axz0nFK6fV5Hzfu6cSSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiA4WcVlJHlWQCg8dgiulsLiVgeWHWoT5meSHR/vOPjGvQIgL0jrxhfsWUZlyYtZ2ZwsNltWIE7h2fNe65GjavMCIL8=" }, "inclusion": [ "", @@ -3184,21 +3184,21 @@ "", "", "", - "dAa6Mr7XZqfescwSsSZJ9T3H3hli/8bP7RavzYKHXsM=", + "pE3Ij8AaMZJGy+lEOK5Ffmz1ckYcOhQ7RcbHQu6Oqd0=", "" ] }, "committed": { - "key": "dnHOXW9gQOkp79PeEU0zeQ==", + "key": "Lt9VIi0YIRLNhRocSz1Jrg==", "data": "YmFyMTM=" } }, "carol": { - "vrfProof": "an3HkvfQHjZi1THGIYIKv7H/+sFCeqN0qu9ezBhc/pQ/FcumvNX+Q5ICmL//DOda5KLc/tKxi9S6ld+2MY6I6ASmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "Za8p2ObpWMcsI0tEV38phkqAmdjn+X24Yi+5K21MqEl4j6i2glRcHLIme9LDJFrKfQZCZBRIKsmCVK+pqS4VZwSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { - "leafHash": "Kdnbe+3AOKEiv5Y4PM6fqkkTIGW8z84eWIC7C5PnPiQ=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgQu/5b3o2T5NI9D9jBuIEUnfgYypGuVROKNJVD9vLRltCINX2DUWAGx3qtIObx+eDuyzvcw9dC477WVU623+i0AzBSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAn+RbyCysTJZ79p+qhXK/lHf6ZJifRwDENtvp712rQOUCIQDZnZQMQ+ET5n+3XPnDXk3vlX5BB6qojqxDYyZG/nhpqA==" + "leafHash": "JeROdmTDzSPHA/B5MoiA6suAmTWAaA4TRRpdoDPIAOg=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgk4mIm8CKS+rTS8Cp9h8YoGX/7hjBNqFp4fn5lMSww4ZCICnEGeyK9XaAK/CdCwJP5m3B3bvNjSvI87BULnesktihSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAtncnieIag38kvMBO0kSf9YikqPZRIWQvRJRkI5QrIG0CIEW8PVuPVXDj/Vwh6KHUAWGfzjY0mxkSI3b5IaycAm3Q" }, "inclusion": [ "", @@ -3454,13 +3454,13 @@ "", "", "", - "Qlxg2ZXb92IHNOcS26LY6xjR7fE6aGqRHHXLq78lZRE=", - "9CTvxXm3TWsNCQf+xOa5Ryr8EmgnzmCS4ns/zDUiapU=", + "yrFFjlAi8XFYQljwEXxQw5AwLVW+F9qcIF35uYD93O4=", + "PD4+fqV34Vx6j9me89nrVnPaQrrqRk33R4CHea+PNZw=", "" ] }, "committed": { - "key": "gGgl4+Hzwn7fdAeJS5igEg==", + "key": "ufztPUnB/bCnxYZ1AVkgSg==", "data": "YmFyMjI=" } } @@ -3469,22 +3469,22 @@ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgFA9VvKeeH2E2ziJKHnbTzyEADMgdM5teUneL9tzZw3oVr3zKoMRZgAAAAAAAAAAJADASFgi5hIj+ppnf1xUQgZHe/qmZ39cVGAESFgiJp9L8p5nf1xUQiafS/KeZ39cVGAI=", - "signature": "MEQCIHiQTdwJuKTSk90tCYdVrD05a6pjOuuTYSZbwk4MBMzyAiB1OXAgGV4wIU5AFMhaV8zgURIH5OHLc240cYv9fom44g==" + "mapRoot": "AAEgHGq+UXtpNIQzkzhhh1lQ631ZK/iglo7xT1L0S5i4WnUVr6TjYSUYoAAAAAAAAAAJADASFgi564v2rJzp1xUQueuL9qyc6dcVGAESFgjpv8CHtZzp1xUQmfKzgbac6dcVGAI=", + "signature": "MEYCIQCJAEaCEf/tV9OmZuV8Sf9FDw+m1mVVHQSx4uxNtXXE2AIhAIph7WUWm8nd3sLonafzOk7NDdYHdFusW95JJIbX/oSN" }, "logInclusion": [ - "9gnHGIAcOLzSD9p7H7QOogsNw+Tuwhpn2HdiQAW68MU=", - "sQ2D6HIyeMu0tYCsVImmzkw4OpqKjfC1fiAulWeQpcU=", - "VwEa8SUjduVp6+Odcpa8LU5ZQed68yOfR2+4GPFvloI=" + "KZqBLx7cNNzTlRK1Qnwl0e8Pf6ncI89gr3awJifngC4=", + "xC2uIDcK4EdEQHHDVaLhiV6SGMGK9cDG9hlSoamwomM=", + "chG6rYUb0M4PWDKlXCaeUf30RHP7CaN8PCfVrHeAa+k=" ] }, "mapLeavesByUserId": { "alice": { - "vrfProof": "Y2NGIcg/NAzsA+Qfgq8lN0YPW8i6dH3ZNUJtgdZqjdvTBnWOg+pphnpfTG/5serPWB5DREdQ0AqDluhu8zxltARTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "Q7+m+/JO+qNsBnPmzO4MDHyR5xU0rpL4IvGW8otuyko1N2++HhZXU5smpchXcB2tL39LnSKLgPjfFHAmodbPdgRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { - "leafHash": "iBOt87jBEWz6jFq3eoLXTlLxS1JFHDfKaMOcvQ7L9pk=", - "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgTQd/HJXLO0Kkdn4UWJVcckTUFMqTdmo9+Wfo2GlhllBCIJtID3oYOeKs3i4D/cUMMmEjvtFSf8ZdkRNmt9Jaj66hSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiB0IxkpwO6w8SW+pXb3Qj2kJnlqr2WGKEJlWzb+dCwcUQIhAJIpTdSX9CjpZRtFuBqs4jiFIcN8cpFthj1YGOOhWSfF" + "leafHash": "dbQgR531ILLG5DZDiBdOCDgnUcczJrM+2MoaerA5GX0=", + "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgz1ViuN32xfGciKh7UOUW/OdTou0Ik+02ibPbyJrVeRRCIHbJ+0+I/oeOcfQ+tWzWg/+SuL55Vd58suiwkFq7Ci5XSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAyj6yNJcS8A9OYBYScHpIvLRCh++YTRAehgZY8vn4QpACIHIQEfCPjabHeZ3agfSRh01CMtW6rml+On1dCa5mypwC" }, "inclusion": [ "", @@ -3740,22 +3740,22 @@ "", "", "", - "ZmRLoGIUZsOOf/eUtXMa4RUubDRd6mVNPqJNhCNy9Z4=", - "9CTvxXm3TWsNCQf+xOa5Ryr8EmgnzmCS4ns/zDUiapU=", + "TKX2aSqGCbfoHVa8oFm4IEIw5QMqak6k/+qolUSxcZQ=", + "PD4+fqV34Vx6j9me89nrVnPaQrrqRk33R4CHea+PNZw=", "" ] }, "committed": { - "key": "rHvd+D1eItVp+/pLgKFgkA==", + "key": "Aj7SyDFzBuq2MzLfG7d4XA==", "data": "YmFyMw==" } }, "bob": { - "vrfProof": "ZB+PAdZu0uN2wpwzbbA5c6yzu2C7qVDaAAOoavU7ppr3GLhAxBdVHa877alrjok5KCuVglUwi19194k8WfxLSwSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "Wzcst1KYkY49b9uHyv93s/PAIrIKSsrLMpBiq5gmpUU2zKkdGDTOrOVDvXalD6FoledqIKQjhbZlk0YEgG4imwSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { - "leafHash": "h1K/qwHwT1fhCBetpVtaCdIxCesLC/oFSlY7o4ZqFU4=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgaiKjTN1SvZ3DAJeLFRi/JCAv5sbFrrkI0dbH5Hw3amxCIMj6lPySOm4sIoHkNb+K5XiWxbrpLWUr7oc2hu4YzjKASpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBgTfCaHp/Z/mvorhBTM/Hy+6lKTE90gFZQ8ZkSRpwaagIgYz1JSib2kpRI+XWawP/avex2YTQ6OWfMJ7A1gpr13GY=" + "leafHash": "12gqnsMMKZhJLyVTh5tlPB5djKzxOlspv/dsB3uJTHw=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgnyVhhL0nFayLr1mDDdNSiATEQxj6US46j3RAP7+bA8RCIPY0A0+JeT6ssOT70GNg19Gh//Axz0nFK6fV5Hzfu6cSSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiA4WcVlJHlWQCg8dgiulsLiVgeWHWoT5meSHR/vOPjGvQIgL0jrxhfsWUZlyYtZ2ZwsNltWIE7h2fNe65GjavMCIL8=" }, "inclusion": [ "", @@ -4012,21 +4012,21 @@ "", "", "", - "OpLF8fjPMEOVBuzqS05BTCGV4GCgV5lSLWf1X5uuw9g=", + "JMGEJxcTrALP+c9I0hQJJs6PBx1InnPfnQMOFFJi9qw=", "" ] }, "committed": { - "key": "dnHOXW9gQOkp79PeEU0zeQ==", + "key": "Lt9VIi0YIRLNhRocSz1Jrg==", "data": "YmFyMTM=" } }, "carol": { - "vrfProof": "NOTekhn9EnO5V6ErKLvuTBZzCqKdUFHqX7+nKnZvzPx/GbyqukDso/ShFILHqDpqf8Aty98euZ6Ai2rJChl5rQSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "tmp+It4qGpebrWBTbBcBTRs3nz9/GrH8wcdpWasZFu14aNMr5j5kCSPs0PwwxLSgrMAKKiACaLtKb/U7mp0CkwSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { - "leafHash": "ueEJxjjXIAQHHpNoGBCd51zW23ekBqt86NMwxdSoUs4=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgt8lQmH6U59eeP82YbUtC1cMxEKUQwnm3lL5V6s4BetxCIPCdaLL6Qpw/Y1yMLrUQEGcv0tjsY6JdwlrNqusDVmcXSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiBa3vHlt33Y3gH6tpTuVTCnIuMfia55kpMEQtj1YmvNTAIhAI566wFIPVy1VUREaIIcNk/61DyrfEG1n85kTWa27X0V" + "leafHash": "9RxCz+3bf9RjamFu9sOGvSZRpuKKpLHmLzVcY6u7t7Y=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgFtnCraB4q2O/ILOvCZGSI3l5d83mpVJ5Pvif4VdTItBCIH+3wV5abpn5hDup3V8wvS4DCFJc6l44e5FIEI0KX7P9SpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiAS2fEEHIvVXV6rSAGrbz20mHhCQruoKePBYH0w/lb6gAIgK5wil1FK/bwSReArsLjBAZVEY15kYuqclA342juoq+c=" }, "inclusion": [ "", @@ -4282,13 +4282,13 @@ "", "", "", - "Qlxg2ZXb92IHNOcS26LY6xjR7fE6aGqRHHXLq78lZRE=", - "9CTvxXm3TWsNCQf+xOa5Ryr8EmgnzmCS4ns/zDUiapU=", + "yrFFjlAi8XFYQljwEXxQw5AwLVW+F9qcIF35uYD93O4=", + "PD4+fqV34Vx6j9me89nrVnPaQrrqRk33R4CHea+PNZw=", "" ] }, "committed": { - "key": "LOn8/Y6f1iqPX4nALTsFhw==", + "key": "Z+yqtA5mAdCZX2/bwHDj/g==", "data": "YmFyMjM=" } } @@ -4297,21 +4297,21 @@ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgMylLjmMeQVpS7Ha+ULNe5b8U8I/GSrnWJU7eA6UXXV8Vr3zKxCfjsAAAAAAAAAAKADASFgiBkd7+qZnf1xUQgZHe/qmZ39cVGAESFgiJp9L8p5nf1xUQ8YCNmqyZ39cVGAI=", - "signature": "MEUCIGGjJ0B6pk5r/b3kUSfhsQ8Ypyirpyxj8aCdQgA2lYfDAiEAktevxvdFyrs84d051lB6QTGQGdnn5MO9+q8EAVzhBS0=" + "mapRoot": "AAEgRb6FiAinXFvV3PClnNieoCZNx/wZf4yE0w0PTN0Ikn0Vr6Tje++9IAAAAAAAAAAKADASFgi564v2rJzp1xUQiYjS2Lec6dcVGAESFgiZ8rOBtpzp1xUQmfKzgbac6dcVGAI=", + "signature": "MEUCIDZ8yopeHnd7b03aCRwrKy4jT1ne/FTq0bBEKpepVuvPAiEAt5gRTARcyVfid1svCqpA/y8rtFoINBcvIOShr9/yA3M=" }, "logInclusion": [ - "iT28kiT6r/pJK9tHGcC2bQOgrBoIxiFiqxV0t+PBd+E=", - "VwEa8SUjduVp6+Odcpa8LU5ZQed68yOfR2+4GPFvloI=" + "01LOIruj5w2Qujr4AHHDHHDPg9rnpuG1boNyTu8OzuI=", + "chG6rYUb0M4PWDKlXCaeUf30RHP7CaN8PCfVrHeAa+k=" ] }, "mapLeavesByUserId": { "alice": { - "vrfProof": "HE6/fNiPhkJCiDJWtC5tjTl79ADFK2lJ4HPFNpI+q7hNPFskgne3cS9RLvHx3ED/bXiqnWO01D3aoytI8zetjgRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "YwlEkOVbePuumo4n91ulOlh7qdN8cDKJQr0hjFZYIFp0L+jU4lY0DsXwM+AvPJmEaAY/6C5er8+EEe7mus+zwARTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { - "leafHash": "iBOt87jBEWz6jFq3eoLXTlLxS1JFHDfKaMOcvQ7L9pk=", - "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgTQd/HJXLO0Kkdn4UWJVcckTUFMqTdmo9+Wfo2GlhllBCIJtID3oYOeKs3i4D/cUMMmEjvtFSf8ZdkRNmt9Jaj66hSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiB0IxkpwO6w8SW+pXb3Qj2kJnlqr2WGKEJlWzb+dCwcUQIhAJIpTdSX9CjpZRtFuBqs4jiFIcN8cpFthj1YGOOhWSfF" + "leafHash": "dbQgR531ILLG5DZDiBdOCDgnUcczJrM+2MoaerA5GX0=", + "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgz1ViuN32xfGciKh7UOUW/OdTou0Ik+02ibPbyJrVeRRCIHbJ+0+I/oeOcfQ+tWzWg/+SuL55Vd58suiwkFq7Ci5XSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAyj6yNJcS8A9OYBYScHpIvLRCh++YTRAehgZY8vn4QpACIHIQEfCPjabHeZ3agfSRh01CMtW6rml+On1dCa5mypwC" }, "inclusion": [ "", @@ -4567,22 +4567,22 @@ "", "", "", - "JJu7AB/xiAMtxSQvwFtWsnP+FC5gWJ1G/+4/i0stYZ4=", - "9CTvxXm3TWsNCQf+xOa5Ryr8EmgnzmCS4ns/zDUiapU=", + "42UmcWXf4qLeKJLkI61FBcUHTgfRTeTrymN2e4UGNWY=", + "PD4+fqV34Vx6j9me89nrVnPaQrrqRk33R4CHea+PNZw=", "" ] }, "committed": { - "key": "rHvd+D1eItVp+/pLgKFgkA==", + "key": "Aj7SyDFzBuq2MzLfG7d4XA==", "data": "YmFyMw==" } }, "bob": { - "vrfProof": "GrQaPPIp0upeXAjbp8CzTArKOGeAWnksdnxcHE7AGRdbQiXqlhsGSpPQfX5PWXP9738pMRSzGceENUOevyNPrgSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "ebQQ76b8p/0iW9Qhj7bXNPBJfD9RbJtakJFjJ5qAcnJLW/E3iQCQ1d/igLXHstk1pt9K5D42a2MycnL/ciWqHASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { - "leafHash": "h1K/qwHwT1fhCBetpVtaCdIxCesLC/oFSlY7o4ZqFU4=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgaiKjTN1SvZ3DAJeLFRi/JCAv5sbFrrkI0dbH5Hw3amxCIMj6lPySOm4sIoHkNb+K5XiWxbrpLWUr7oc2hu4YzjKASpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBgTfCaHp/Z/mvorhBTM/Hy+6lKTE90gFZQ8ZkSRpwaagIgYz1JSib2kpRI+XWawP/avex2YTQ6OWfMJ7A1gpr13GY=" + "leafHash": "12gqnsMMKZhJLyVTh5tlPB5djKzxOlspv/dsB3uJTHw=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgnyVhhL0nFayLr1mDDdNSiATEQxj6US46j3RAP7+bA8RCIPY0A0+JeT6ssOT70GNg19Gh//Axz0nFK6fV5Hzfu6cSSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiA4WcVlJHlWQCg8dgiulsLiVgeWHWoT5meSHR/vOPjGvQIgL0jrxhfsWUZlyYtZ2ZwsNltWIE7h2fNe65GjavMCIL8=" }, "inclusion": [ "", @@ -4839,21 +4839,21 @@ "", "", "", - "36EEPhkTaefxTbewMZWiPsssLbXips1lSeHXxb4dGC0=", + "xANBSKm167QNNks88JooAv7+kdA855sCWt16TEVAwu4=", "" ] }, "committed": { - "key": "dnHOXW9gQOkp79PeEU0zeQ==", + "key": "Lt9VIi0YIRLNhRocSz1Jrg==", "data": "YmFyMTM=" } }, "carol": { - "vrfProof": "qPdPN6gDjCEn9THrEBUZP1Xvd2quIBWMXKxBUfepgOA7+7LN4GUXdJiG31jUCAzIOwh01u2nvLh15PxEYGSMUQSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "jkZI/0n9+rwXizIMAB+JRozqwqEbuCVnMsTbfVkmariJ+6Z3ul+tNvQZHjGRyrxAsNmovI06dm4qYPyudvyoEgSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { - "leafHash": "sOCcVXx8BIKrYG3tj/DsE/EQH0iazWaPSvas+Mkgh8w=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIg41sODkeqLJFmpGEKOn7W73u834pjQF35sxDlNKMO9DZCIMqWBDaInb5gKhavMTYlzcbTnRNHkHXFvnQS2liQoBexSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiA9LL1PrcD0zO1hoOqQoRphVrT+9BMrseBpl9OLxuH1tgIhANt+QX/Q29Xj9ccell5r9fmK6z4IX4hTVOCneNmCW2mB" + "leafHash": "hmDpIrNZrutmN7ZMGwS0kmiRgrrATGIcBUJNus3akdM=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgTErLF2Y3Hd3lwkE8TwL2WKdy13wkfcZOt10xj1/MtJxCICl1NyJcMNcRpk9UY+fmnSqjnr1REq4nvUS4wqG+nbVPSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEA3PJQWZYxkE61tEjdkGPsl5eDd03t1bChS9tf0R4RkX8CIQCN7P9oeTfitERHE3qCVhKGZnwK7VeWSckgnSnj+sBJqQ==" }, "inclusion": [ "", @@ -5109,13 +5109,13 @@ "", "", "", - "Qlxg2ZXb92IHNOcS26LY6xjR7fE6aGqRHHXLq78lZRE=", - "9CTvxXm3TWsNCQf+xOa5Ryr8EmgnzmCS4ns/zDUiapU=", + "yrFFjlAi8XFYQljwEXxQw5AwLVW+F9qcIF35uYD93O4=", + "PD4+fqV34Vx6j9me89nrVnPaQrrqRk33R4CHea+PNZw=", "" ] }, "committed": { - "key": "WrmFaIqaIQOMEGtQw2A8Kw==", + "key": "nAVDBlFPS97NM06EYFKNVg==", "data": "YmFyMjQ=" } } diff --git a/core/testdata/TestBatchUpdate b/core/testdata/TestBatchUpdate.json similarity index 92% rename from core/testdata/TestBatchUpdate rename to core/testdata/TestBatchUpdate.json index 1c07b46b0..477af607d 100644 --- a/core/testdata/TestBatchUpdate +++ b/core/testdata/TestBatchUpdate.json @@ -3,7 +3,7 @@ "directory": { "directoryId": "integration", "log": { - "treeId": "8590110771636397970", + "treeId": "2044804233237106855", "treeType": "PREORDERED_LOG", "hashStrategy": "RFC6962_SHA256", "hashAlgorithm": "SHA256", @@ -13,7 +13,7 @@ } }, "map": { - "treeId": "2565558140128162455", + "treeId": "3030478735049432802", "treeType": "MAP", "hashStrategy": "CONIKS_SHA256", "hashAlgorithm": "SHA256", diff --git a/core/testdata/TestEmptyGetAndUpdate b/core/testdata/TestEmptyGetAndUpdate.json similarity index 77% rename from core/testdata/TestEmptyGetAndUpdate rename to core/testdata/TestEmptyGetAndUpdate.json index 02596c737..a6936f584 100644 --- a/core/testdata/TestEmptyGetAndUpdate +++ b/core/testdata/TestEmptyGetAndUpdate.json @@ -3,7 +3,7 @@ "directory": { "directoryId": "integration", "log": { - "treeId": "3391410098340560941", + "treeId": "2864525161155541230", "treeType": "PREORDERED_LOG", "hashStrategy": "RFC6962_SHA256", "hashAlgorithm": "SHA256", @@ -13,7 +13,7 @@ } }, "map": { - "treeId": "6154528724540799977", + "treeId": "6521713193340621808", "treeType": "MAP", "hashStrategy": "CONIKS_SHA256", "hashAlgorithm": "SHA256", @@ -32,7 +32,7 @@ { "desc": "empty_alice", "lastVerifiedLogRoot": { - "rootHash": "+DcQtk5Rh8OAyD37VW/ab99GT2P086TPm6q4VCFaSlY=", + "rootHash": "Ks4J8ZCmzuH9OJ0P5ld5ZDHZcl/7RPURb1MXqjIBhlk=", "treeSize": "1" }, "getUser": { @@ -43,20 +43,20 @@ "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgLRaNnNWxV1p54haQhhdHskxU7HdaztQg3iU5O6diiR4Vr3zFIHFzWAAAAAAAAAAAAAA=", - "signature": "MEUCIQDOM7kQVHgUa1nPGBMpMOimM1rVkoV4eIT0ftUl18GkiQIgfbNwMX+pkKDa8pbA5k9DsxpL7fHowuF83EFByGQ2/UM=" + "mapRoot": "AAEgL6kA5uUVZXJ/x0m5bNS6+P206OZ19LqutkZPBkKsYsUVr6Tea0MZkAAAAAAAAAAAAAA=", + "signature": "MEUCIAGQFu6N4vPMiooLYOj8u0Uj7d3ko5tToJVEvi/4MXZ0AiEA49TEx9koGlMk9KR+G8ZOycUSpTN1kqbNODI81UTdJlQ=" } }, "latestLogRoot": { "logRoot": { - "keyHint": "LxC1hBdDAC0=", - "logRoot": "AAEAAAAAAAAAASD4NxC2TlGHw4DIPftVb9pv30ZPY/TzpM+bqrhUIVpKVhWvfMU8F0FQAAAAAAAAAAEAAA==", - "logRootSignature": "MEQCIE4q/VjTEHrblmWlUlAV4HtgEbV0XMxfPbiD+ydMKhccAiAsopKI2PO4jS7D108TP1OAfx4BRFJG0h95/K4+AD21xA==" + "keyHint": "J8DWdQjYOO4=", + "logRoot": "AAEAAAAAAAAAASAqzgnxkKbO4f04nQ/mV3lkMdlyX/tE9RFvUxeqMgGGWRWvpN6H+VmgAAAAAAAAAAEAAA==", + "logRootSignature": "MEUCIQD8nUp5dGFehhogbozsBzcPBrwhUvfw9ZMJHTCFl/NHOgIgcERVQ+rBEV6EOFkTz/FypNHgd7BGzM8DStYafI2Kl/s=" } } }, "leaf": { - "vrfProof": "pEpyCHRZjfrQxJtHEu/BWCJFsRemMCdVAXnkDQfRN0y0o8bYWHxE6wDgl85zwHsY1duRTjVQX5UyRZxGIOs1xgRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "bUw5XfnrZP8Siq5JYEDFyBJknIac64cAFUiWcQwzSyGnAYJdcj1/4jU6L7Zad+Prg6u3hVVJRQOh1SpBFSD6zwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { "index": "A9/B/HF0DP6pap5CSp8/Jo05FhoGWECfsTAnRlVdzvM=" @@ -327,7 +327,7 @@ { "desc": "bob0_set", "lastVerifiedLogRoot": { - "rootHash": "+DcQtk5Rh8OAyD37VW/ab99GT2P086TPm6q4VCFaSlY=", + "rootHash": "Ks4J8ZCmzuH9OJ0P5ld5ZDHZcl/7RPURb1MXqjIBhlk=", "treeSize": "1" }, "getUser": { @@ -338,26 +338,26 @@ "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgQ+2D3/17XHH/olGGQC9AB/uiTqTM1zvfJTMVSpWdPUwVr3zFX2ZVOAAAAAAAAAABABISAhgBEgwQqZOl49WY39cVGAI=", - "signature": "MEUCIFM5I8yhrzr8sAY8ClnxzgiBmhrqYk74jgzUFkP5puKQAiEApQ/00CU7AJ4NC3VUTdFEif3OwCPU6NsPB+cImMUWqFY=" + "mapRoot": "AAEgItvC9C/YDsufeNflBOpA+R7j84f5CpRu6SXXBq+4UkwVr6TeqcJxmAAAAAAAAAABABISAhgBEgwQkYHEs+qb6dcVGAI=", + "signature": "MEQCIGgh6N9Wxwmk6/t6SpomUF66fFE18j9vrDfn/bOdtiPJAiBXcCllmacVXuQ4aW42H4gnd+AjcrMsCsj0YfzaxpBLqw==" }, "logInclusion": [ - "+DcQtk5Rh8OAyD37VW/ab99GT2P086TPm6q4VCFaSlY=" + "Ks4J8ZCmzuH9OJ0P5ld5ZDHZcl/7RPURb1MXqjIBhlk=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "LxC1hBdDAC0=", - "logRoot": "AAEAAAAAAAAAAiBD+Yh5X4w0dHk6GetIIE85kMsIN7MBAl0nziWF9TxdGhWvfMV4LW1AAAAAAAAAAAIAAA==", - "logRootSignature": "MEUCIAFbbT8R+/ZVY1fYO72iXJbFCbVJJDl+CgyqKD8AR4LeAiEApzwqItViKJAjfq/ohBP5qfohF+jWnw3tBq03vWVm9kg=" + "keyHint": "J8DWdQjYOO4=", + "logRoot": "AAEAAAAAAAAAAiCDgALGDxkKdYSVD0MqpsjiQ9mQc4DSx63hGog3HlQxARWvpN7DTj0YAAAAAAAAAAIAAA==", + "logRootSignature": "MEQCIH88N48cFNvE7TGuCAxBfjqBkDA/+BCXK8YTgLxpWEZlAiA9j27cug3J8ThH8y3dk4uw4rokSIY9KdndxAl6jfhNaw==" }, "logConsistency": [ - "l/ETx02cDerMl2eFKc//+O8k+qbGHzufTnAnZOZgAGY=" + "RDSfG+jZf9HnqFv3En4fa3Mk0g+fIYMIaSDT/WA3jfU=" ] } }, "leaf": { - "vrfProof": "5etR7jJn5SSV/PKE6AmV/tdlEH19FUR2cDvgJuRL8L55cVBd3LoXkcI8fZNC9lUCUjn990J8ftr3deTbRxSgOwSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "RF85Xbl2a46xeCP9Tb6B6MJM6kL/a0PSTIGZJaLU4r7mfQSqYr9Tzs3Mq+J6EURz1yKuGzoWgBC2WkOUumjCnQSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=" @@ -617,7 +617,7 @@ "", "", "", - "hsgznMuLZLQB21UrDfZaIGKP72Vj3mEACCvmRt7PT1s=", + "rzyBwNZPP2Xl7n+BGZeM2u9YavPaFc/vWlw3HKDXOw0=", "" ] } @@ -628,7 +628,7 @@ { "desc": "set_carol", "lastVerifiedLogRoot": { - "rootHash": "+DcQtk5Rh8OAyD37VW/ab99GT2P086TPm6q4VCFaSlY=", + "rootHash": "Ks4J8ZCmzuH9OJ0P5ld5ZDHZcl/7RPURb1MXqjIBhlk=", "treeSize": "1" }, "getUser": { @@ -639,27 +639,27 @@ "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgWFXHsWF+3SNkAwwbkMxL0QKbDVRfAqiFtkBvq/bDNDQVr3zFg3wzwAAAAAAAAAACABwSAhgBEhYIqZOl49WY39cVEOn/pPTXmN/XFRgC", - "signature": "MEYCIQCFx73gBdWZFDqlU7FSR8G6xRgTX/0rP57IUhXRJU83agIhAP08ZSFXjoVRmRxU0nj5SW1H0ITM0e1IfIVlT0AQuZwt" + "mapRoot": "AAEgd2Ksqq93WVJVd45a/e1MTKSlF9nTBM2/UbWrxJ73lNQVr6TezZEVwAAAAAAAAAACABwSAhgBEhYIkYHEs+qb6dcVEPnyssPsm+nXFRgC", + "signature": "MEUCIQDsxM5bh2xIN787U4fEsIIKR7Dty9y+fqUFlHIwXCTuSgIgY8IRfGvNHMaGBSKJnRoAlQTvff4PpK0tFAEyHDjhtjc=" }, "logInclusion": [ - "Q/mIeV+MNHR5OhnrSCBPOZDLCDezAQJdJ84lhfU8XRo=" + "g4ACxg8ZCnWElQ9DKqbI4kPZkHOA0set4RqINx5UMQE=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "LxC1hBdDAC0=", - "logRoot": "AAEAAAAAAAAAAyA0I96/+PQSCAtZ+nMyyW21YBBGKzb/fsQwtrR+2H67WRWvfMWVu47wAAAAAAAAAAMAAA==", - "logRootSignature": "MEYCIQCrRmViCKkyR0MAZj0V4pAM8TxlV0cxpjrqk04q04g6cgIhAImjtg/yIYEvPwp704+W7HW6wa0RccwinKtL2T5d5jpC" + "keyHint": "J8DWdQjYOO4=", + "logRoot": "AAEAAAAAAAAAAyD9OpBMvnm/laM+O7kpEjaxzYBAJjL1Pj4YBChkUeSdPhWvpN7hFlqIAAAAAAAAAAMAAA==", + "logRootSignature": "MEQCIHMUIjqRM32uERQuqVgWEWMLeeyBrol0SHhOkHV+RZalAiBvQWOoklgFquC+DFFyXvASTa7xTES1muogpEJkZOba2A==" }, "logConsistency": [ - "l/ETx02cDerMl2eFKc//+O8k+qbGHzufTnAnZOZgAGY=", - "KEAiZpwdceai7/LOMwXv5IrQjRwejdXRb1TGwFwxvPI=" + "RDSfG+jZf9HnqFv3En4fa3Mk0g+fIYMIaSDT/WA3jfU=", + "QYsOYW8t/YFDe6/X2xeu0hOdVDP1+HoxJD6ay53YKYU=" ] } }, "leaf": { - "vrfProof": "6+1/jQ79Ie9hj/rEvLdJDe5soXw4fwTq8CMApjCWowTuGnboEyyAt2p7GJwNpYpVZljt2E7zw5l+ELrVJRDx5QSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "BavNfOXsrw4YxbEm+A74uAa4Rr3J5v6qTx/DTh9WDR6KjYvHapQHOV4c/zZRyJ+vMoW/cNDsdjB8i6gxc6IdTwSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { "index": "JYx5mwUZM4rLnxSas5/NC9GiuqMYVWThqNqJdDz6bvw=" @@ -918,8 +918,8 @@ "", "", "", - "Nr80n/7ljXfa9eQGpUhJ9ex3nz6JAb6LV+nVDsEPfoc=", - "df9pc+5gBS4LraBxFafQkTGQV516iyFfXHqimzIviXc=", + "FOl50xg2MZvACc1NqX8eFYO5IpxNbQzbIJLLX/HHLpU=", + "nxSjl3Ebdcfc3coogQ8tDGjXH5efeesNyno7RQ0llsE=", "" ] } @@ -930,7 +930,7 @@ { "desc": "bob1_get", "lastVerifiedLogRoot": { - "rootHash": "+DcQtk5Rh8OAyD37VW/ab99GT2P086TPm6q4VCFaSlY=", + "rootHash": "Ks4J8ZCmzuH9OJ0P5ld5ZDHZcl/7RPURb1MXqjIBhlk=", "treeSize": "1" }, "getUser": { @@ -941,33 +941,33 @@ "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgsrbhkEUgkw8kEAzY73Fy+KVM+10QmbhoMxeAIk6qdIEVr3zFoZ0P8AAAAAAAAAADABwSAhgBEhYI6f+k9NeY39cVEPn+odzZmN/XFRgC", - "signature": "MEUCIC78YQuXVnfhPLFq9MoDQP//D5yKD44mHBYIER9/YAZZAiEAyMkrHxJU6HOm6qeJUkclxCXgeIx0zuRenzbjXNbtwoQ=" + "mapRoot": "AAEgqWDUV5FCksIoUawd0iZ2RffTEPfPzvZySCBpyttyKckVr6Te8PVy4AAAAAAAAAADACYSDBDRncjh7pvp1xUYARIWCPnyssPsm+nXFRD58rLD7Jvp1xUYAg==", + "signature": "MEUCIEhTu5VQQAyvgf1DVdEyVDKBEQpz3778X5LsNz03ktDJAiEAtLCyltPH0+Oq2echBAqbKcElsDscXbPvIVpf16OmYvY=" }, "logInclusion": [ - "KEAiZpwdceai7/LOMwXv5IrQjRwejdXRb1TGwFwxvPI=", - "Q/mIeV+MNHR5OhnrSCBPOZDLCDezAQJdJ84lhfU8XRo=" + "QYsOYW8t/YFDe6/X2xeu0hOdVDP1+HoxJD6ay53YKYU=", + "g4ACxg8ZCnWElQ9DKqbI4kPZkHOA0set4RqINx5UMQE=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "LxC1hBdDAC0=", - "logRoot": "AAEAAAAAAAAABCBvb5k/tVtS+5+y9fl2U/T4Kbi2VNGK5Sgdc3+EpW7aIBWvfMWz+dpIAAAAAAAAAAQAAA==", - "logRootSignature": "MEUCIG7gEGZku2b+Vb3KFoB/gtSQ3Yw9hkkvHwozaBGw6cZWAiEAhVzftLZfTp+AstzizOZ5QqCU/gm+B08DXMz1PZpcxDU=" + "keyHint": "J8DWdQjYOO4=", + "logRoot": "AAEAAAAAAAAABCDG5lDtHBLU5Nbydy/t1LS1zx4Uf+/6AKuER8p1L0aY8BWvpN7/B+VwAAAAAAAAAAQAAA==", + "logRootSignature": "MEUCIQDeJLACD/w6DixPuciuimj7si4nApqgSG+tSptbEYQSRQIgDXp7sNc6zrsehTTngoZObB3YeisvDqSUC6grkooUeXQ=" }, "logConsistency": [ - "l/ETx02cDerMl2eFKc//+O8k+qbGHzufTnAnZOZgAGY=", - "2rOFF1kt6JEd5YxZFM3/WYFJ8HRo/smKhIQMi9b8Z08=" + "RDSfG+jZf9HnqFv3En4fa3Mk0g+fIYMIaSDT/WA3jfU=", + "HhYKTXn4IlLx/BUeKNn5EBE4Jnqvob7oHLtwcL7J/KA=" ] } }, "leaf": { - "vrfProof": "nVl5wauLeUZIAyTT3ETTK4lboUsSLxR0kK6U/dGPZGQ5zh+qGDtdjLjN+2wBgNqMMz95acUePW2NQEUMXxB+uASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "tdz3OA47YSe0HNpiPP+hatCrW7Qz3FC0NRwplmrpYw72FQ0yQ5etKQvVIh0nKoiDrZUTen+jeGge2C+rB2jajgSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leafHash": "wMposc6RMHQe2JDCoCtAWiVwq2FM6q3OIHEsKDa0hrU=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIggR4lwf/y8A6J8sXPoeCmudG0p8mnKDHIU2Rxt5vHz5FCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiADNs6+vAaWnRfeVEEXmkAB+1rRTFTghYEb+7UXBVU00wIgMztK+/+5nlMyG891Oea4svLUWTbTR/m+Su8poKP+M50=" + "leafHash": "qVHxUtcLRRsajR8CQ+ZQlMh0F44jnaBta+bsPteSChw=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgKW2OTtnUy6U0oTzblNLx2phW7c4sJzoQIZYQcGwh/LhCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiBIUYg7xFbYKcYqXm3zc63tmoGmN2EeEcEh5UZMvG0zsQIhAJzHZnb96osYOT8ZILEIi14bxhqBN0J4bHmNA53R6ZmA" }, "inclusion": [ "", @@ -1224,12 +1224,12 @@ "", "", "", - "vxjJL/PQNPjkZr5XHsqy66B92lELqeFYFayoXl7f30s=", + "yAkRL4YDIyYDy2jFP9Cr2Y/l8wZQHD+PVK6EvR6e/yM=", "" ] }, "committed": { - "key": "S61ZXOeNyV++Hmf/dPro0w==", + "key": "fqnyKk0OgxrTnDOjxifqsQ==", "data": "Ym9iLWtleTE=" } } @@ -1239,7 +1239,7 @@ { "desc": "bob1_set", "lastVerifiedLogRoot": { - "rootHash": "+DcQtk5Rh8OAyD37VW/ab99GT2P086TPm6q4VCFaSlY=", + "rootHash": "Ks4J8ZCmzuH9OJ0P5ld5ZDHZcl/7RPURb1MXqjIBhlk=", "treeSize": "1" }, "getUser": { @@ -1250,33 +1250,33 @@ "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgsrbhkEUgkw8kEAzY73Fy+KVM+10QmbhoMxeAIk6qdIEVr3zFoZ0P8AAAAAAAAAADABwSAhgBEhYI6f+k9NeY39cVEPn+odzZmN/XFRgC", - "signature": "MEUCIC78YQuXVnfhPLFq9MoDQP//D5yKD44mHBYIER9/YAZZAiEAyMkrHxJU6HOm6qeJUkclxCXgeIx0zuRenzbjXNbtwoQ=" + "mapRoot": "AAEgqWDUV5FCksIoUawd0iZ2RffTEPfPzvZySCBpyttyKckVr6Te8PVy4AAAAAAAAAADACYSDBDRncjh7pvp1xUYARIWCPnyssPsm+nXFRD58rLD7Jvp1xUYAg==", + "signature": "MEUCIEhTu5VQQAyvgf1DVdEyVDKBEQpz3778X5LsNz03ktDJAiEAtLCyltPH0+Oq2echBAqbKcElsDscXbPvIVpf16OmYvY=" }, "logInclusion": [ - "KEAiZpwdceai7/LOMwXv5IrQjRwejdXRb1TGwFwxvPI=", - "Q/mIeV+MNHR5OhnrSCBPOZDLCDezAQJdJ84lhfU8XRo=" + "QYsOYW8t/YFDe6/X2xeu0hOdVDP1+HoxJD6ay53YKYU=", + "g4ACxg8ZCnWElQ9DKqbI4kPZkHOA0set4RqINx5UMQE=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "LxC1hBdDAC0=", - "logRoot": "AAEAAAAAAAAABCBvb5k/tVtS+5+y9fl2U/T4Kbi2VNGK5Sgdc3+EpW7aIBWvfMWz+dpIAAAAAAAAAAQAAA==", - "logRootSignature": "MEUCIG7gEGZku2b+Vb3KFoB/gtSQ3Yw9hkkvHwozaBGw6cZWAiEAhVzftLZfTp+AstzizOZ5QqCU/gm+B08DXMz1PZpcxDU=" + "keyHint": "J8DWdQjYOO4=", + "logRoot": "AAEAAAAAAAAABCDG5lDtHBLU5Nbydy/t1LS1zx4Uf+/6AKuER8p1L0aY8BWvpN7/B+VwAAAAAAAAAAQAAA==", + "logRootSignature": "MEUCIQDeJLACD/w6DixPuciuimj7si4nApqgSG+tSptbEYQSRQIgDXp7sNc6zrsehTTngoZObB3YeisvDqSUC6grkooUeXQ=" }, "logConsistency": [ - "l/ETx02cDerMl2eFKc//+O8k+qbGHzufTnAnZOZgAGY=", - "2rOFF1kt6JEd5YxZFM3/WYFJ8HRo/smKhIQMi9b8Z08=" + "RDSfG+jZf9HnqFv3En4fa3Mk0g+fIYMIaSDT/WA3jfU=", + "HhYKTXn4IlLx/BUeKNn5EBE4Jnqvob7oHLtwcL7J/KA=" ] } }, "leaf": { - "vrfProof": "xgyVgLUoiLp4wkUCDuLZClVXPilf/OXD/mdHrm+hvqmCX51tGKrV+ZAPrcQxD9HRJHg+WUgEuOpG9ePldlysIQSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "g5orY8RAhFISq9Javnk0YxjzMd5zPXBZ7dXnHW6eOhBw/f4t4Opx5QPWB/55oNw8Z2OPSRVTBWVsD7p4MBUvkwSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leafHash": "wMposc6RMHQe2JDCoCtAWiVwq2FM6q3OIHEsKDa0hrU=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIggR4lwf/y8A6J8sXPoeCmudG0p8mnKDHIU2Rxt5vHz5FCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiADNs6+vAaWnRfeVEEXmkAB+1rRTFTghYEb+7UXBVU00wIgMztK+/+5nlMyG891Oea4svLUWTbTR/m+Su8poKP+M50=" + "leafHash": "qVHxUtcLRRsajR8CQ+ZQlMh0F44jnaBta+bsPteSChw=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgKW2OTtnUy6U0oTzblNLx2phW7c4sJzoQIZYQcGwh/LhCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiBIUYg7xFbYKcYqXm3zc63tmoGmN2EeEcEh5UZMvG0zsQIhAJzHZnb96osYOT8ZILEIi14bxhqBN0J4bHmNA53R6ZmA" }, "inclusion": [ "", @@ -1533,12 +1533,12 @@ "", "", "", - "vxjJL/PQNPjkZr5XHsqy66B92lELqeFYFayoXl7f30s=", + "yAkRL4YDIyYDy2jFP9Cr2Y/l8wZQHD+PVK6EvR6e/yM=", "" ] }, "committed": { - "key": "S61ZXOeNyV++Hmf/dPro0w==", + "key": "fqnyKk0OgxrTnDOjxifqsQ==", "data": "Ym9iLWtleTE=" } } @@ -1548,7 +1548,7 @@ { "desc": "bob2_setkeys", "lastVerifiedLogRoot": { - "rootHash": "+DcQtk5Rh8OAyD37VW/ab99GT2P086TPm6q4VCFaSlY=", + "rootHash": "Ks4J8ZCmzuH9OJ0P5ld5ZDHZcl/7RPURb1MXqjIBhlk=", "treeSize": "1" }, "getUser": { @@ -1559,33 +1559,33 @@ "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgdsLr0Cc0kQzCcfW0jnnn+Mo8MVDcVZauMODsdJDGYBIVr3zFxQGjwAAAAAAAAAAEACYSDBCZpMP025jf1xUYARIWCPn+odzZmN/XFRD5/qHc2Zjf1xUYAg==", - "signature": "MEUCIQCN2CD1je9nGHrZVZ36vWiV2uLaqv1JWXEuTyPlQg5zsQIgTVCKRmIaESkDGdKhXEFZQQZDZ4IF8Q8Irb49kjpP4bE=" + "mapRoot": "AAEgVYmcn+F7WjIpYyYDPWBq5Y1PPFi+NhQ44U0dhqAXqVAVr6TfCMzIAAAAAAAAAAAEADASFgjRncjh7pvp1xUQqeygvPCb6dcVGAESFgj58rLD7Jvp1xUQ+fKyw+yb6dcVGAI=", + "signature": "MEYCIQDMQt0RoKk6QsfDtr64Tk3bM4VF5Gv7j/tw4fiw8m2oGgIhAJhVuP3LTCiZZiGPrwa/esEFib6SkdNb8g9hC5TG91yJ" }, "logInclusion": [ - "b2+ZP7VbUvufsvX5dlP0+Cm4tlTRiuUoHXN/hKVu2iA=" + "xuZQ7RwS1OTW8ncv7dS0tc8eFH/v+gCrhEfKdS9GmPA=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "LxC1hBdDAC0=", - "logRoot": "AAEAAAAAAAAABSCGtltDV8+CSnbRs2nenzIyZ+dTHuSZJNrjtZf66yOTuxWvfMXR8JFoAAAAAAAAAAUAAA==", - "logRootSignature": "MEYCIQCZ5F8LP3yIYzGWaEzBS8a6cD8FJuVrY3ANfsiWQjzYHAIhAImufabAGpnTMLWlCclvL6mcanG/PAREhXT+uob4fe7a" + "keyHint": "J8DWdQjYOO4=", + "logRoot": "AAEAAAAAAAAABSBpw8wqdACqhAERc5vjcrcbfjjmHwW4m6Fww3lWtBHyEBWvpN8dRBHQAAAAAAAAAAUAAA==", + "logRootSignature": "MEYCIQCE3uxwx57ULJlKG8CgwQuRxDb38EaQgUi3E5/rHxuupwIhAIgXvKW15ifeI+Zoh9RL83DMtgyd0MLCTfpJCxknV788" }, "logConsistency": [ - "l/ETx02cDerMl2eFKc//+O8k+qbGHzufTnAnZOZgAGY=", - "2rOFF1kt6JEd5YxZFM3/WYFJ8HRo/smKhIQMi9b8Z08=", - "1jACMs+u3cE8TcGKcT18F8b3rx3ZcbgUckIGqmiGKDk=" + "RDSfG+jZf9HnqFv3En4fa3Mk0g+fIYMIaSDT/WA3jfU=", + "HhYKTXn4IlLx/BUeKNn5EBE4Jnqvob7oHLtwcL7J/KA=", + "4wVi/WOBqiYYP+gu7WRYTOIHRwLHTazHqjguSWkCwO4=" ] } }, "leaf": { - "vrfProof": "xNGAUMZ4Js9iJKX7TIVMxFsY4Obr1+nHqJbrM/IhDOZDaGpsqNU+b1Gz1L/rfUoK1W7XNqXgQmsl7Do5uabteQSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "sDSAH7PLe+i9uKRmQAh8ve/n2Q4y9V5BdQf8rMp9h5hxPRAbRIt88D7dRhPneW7WeiTHSYZRB0TbKkOcijZlFASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leafHash": "XJ+yk23Llem0cNmwZK6OiJ88/yRlO9JGNaazhxBC4bw=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgAjXPUsueRk+hFkQ4pi3UBuqYsQ/CNmsMn69zsqO9CwNCICLKnon2JC2Araq31doLevMP/zftWGNKgFZCz7HJRjFTSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiB0wFJe0sn+v00HGBRfPifvJA+V5FvnoZE7hTzW4KsvlQIhAL9g3E3EZaQBrCL7WAq4SmjCwQ2aPon62slpLhcnpmpp" + "leafHash": "HsA2JRB1oPm1zt0kpVCcwu49i38HFU8pph9Tq4X43w8=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIg1BmR0jeDJ/bWnhm5PMh8FGRVltqlJJAxrwGFocc9oV9CIEQGJmZ6fliV6KAbH868bsGdNqye1hKB1flUSp+fof48SpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiAs6OSqXvNVRJyrMEM/8MnrtSqSFENdpjF9UfXt+HbCggIgLukvM4mYvlhFPcBUTWNQ+ptXJQ8bVtXgkSH5rZbi1Q8=" }, "inclusion": [ "", @@ -1842,12 +1842,12 @@ "", "", "", - "vxjJL/PQNPjkZr5XHsqy66B92lELqeFYFayoXl7f30s=", + "yAkRL4YDIyYDy2jFP9Cr2Y/l8wZQHD+PVK6EvR6e/yM=", "" ] }, "committed": { - "key": "K2yaI0C+/XoFxwHM3hYGyA==", + "key": "x2kzX2lRbD0Ek03Z7NbQJg==", "data": "Ym9iLWtleTI=" } } @@ -1857,7 +1857,7 @@ { "desc": "bob3_setnewkeys", "lastVerifiedLogRoot": { - "rootHash": "fbpuTEp/X0FB+F0fBdRuo82K0bbz97QCSEScklDZhvo=", + "rootHash": "7rw6iay2PA6N4EGydcFBROvmCcWvXMosjiw60zd5npA=", "treeSize": "6" }, "getUser": { @@ -1868,34 +1868,34 @@ "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgJ1aJz3fJabigMxLN84lRPsZeaQ2WhGco614sdtbS+jYVr3zF3Q6XcAAAAAAAAAAFADASFgiZpMP025jf1xUQmaTD9NuY39cVGAESFgj5/qHc2Zjf1xUQ+YDOz92Y39cVGAI=", - "signature": "MEUCIQDe6FfyY7odk78l6foJQffKUJX9P6piaOnolx5JzsgT+gIgUaYFMHcvYLr/wyerN8/VJfVyUPCuPG0mVi1Xaj4//Z8=" + "mapRoot": "AAEghqszbRFR4hhA0qXtzxqLmTdRe7i038AT8VxejwaXTEkVr6TfJrbsYAAAAAAAAAAFADASFgip7KC88Jvp1xUQmYndpPKb6dcVGAESFgj58rLD7Jvp1xUQ+fKyw+yb6dcVGAI=", + "signature": "MEUCIFAiE/YR/r6NXti7XIm7rPJOz1rzJM6bs6cB7efYSoY0AiEA5NqBy0YWApwvsEBGcMzaIbFWQ2s5fBqhx6ZQWapsIO8=" }, "logInclusion": [ - "1jACMs+u3cE8TcGKcT18F8b3rx3ZcbgUckIGqmiGKDk=", - "b2+ZP7VbUvufsvX5dlP0+Cm4tlTRiuUoHXN/hKVu2iA=" + "4wVi/WOBqiYYP+gu7WRYTOIHRwLHTazHqjguSWkCwO4=", + "xuZQ7RwS1OTW8ncv7dS0tc8eFH/v+gCrhEfKdS9GmPA=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "LxC1hBdDAC0=", - "logRoot": "AAEAAAAAAAAABiB9um5MSn9fQUH4XR8F1G6jzYrRtvP3tAJIRJySUNmG+hWvfMXv3w8QAAAAAAAAAAYAAA==", - "logRootSignature": "MEUCIQCHDVedZsNH2kzwLoL3fXOZY6UFWz1Gb9BRH8ChwonkbwIgbah8FhsU7q+XmBazJa6gflanVS0QCrf3iU6ULs5H2l0=" + "keyHint": "J8DWdQjYOO4=", + "logRoot": "AAEAAAAAAAAABiDuvDqJrLY8Do3gQbJ1wUFE6+YJxa9cyiyOLDrTN3mekBWvpN87KVQwAAAAAAAAAAYAAA==", + "logRootSignature": "MEYCIQCwcGakva2mm37KAl7FnUCPEXhrB3idOrxHm5AGaBNRQwIhAJbUyK/9UtvbADYqOKnxC21NbeGhsqYr02YvWlx58fGp" }, "logConsistency": [ - "l/ETx02cDerMl2eFKc//+O8k+qbGHzufTnAnZOZgAGY=", - "2rOFF1kt6JEd5YxZFM3/WYFJ8HRo/smKhIQMi9b8Z08=", - "3awmh05sd6iE18AjPUOgvZCDPNdQm4SoyTkRcPLPvyI=" + "RDSfG+jZf9HnqFv3En4fa3Mk0g+fIYMIaSDT/WA3jfU=", + "HhYKTXn4IlLx/BUeKNn5EBE4Jnqvob7oHLtwcL7J/KA=", + "o24NQPzye7qeiP4jpe3BEDaKeFqgRscwkZCYJ2QQYWY=" ] } }, "leaf": { - "vrfProof": "heMXaI/CSHpX3i6I9iWPl7bwA7vQMe1lVIu5k9xi4XHpgkmE5T9947NdKnpaQHAdQbX7tsTSUYEYs+Hm6MjOzwSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "jL2yBYgIkxTfUvxKS2YkNpM5OqZy9Qw5JrcrkWGytJm3myf++Uy1vY4Tg04rQEQFr/Van1EZrDT+FKU01igZ9QSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leafHash": "RmPIJBFqqYEX5zFGXku68OP3hFWCz7jiKYqmY3YXlnE=", - "leafValue": "CpEDGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgrAk8p8DdRXPqv64lqV15jhBEiEP80NC3J0o3x3qEYYZCIAGMvEd4GAsFb/KeYa/P/iLHq+kmRbhpf45A8K2yoSu1SqgCCAISkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhogJKDbR4uyhSMXW80x02NtYRUFlMQbLOA+tLe/MbwZ69QiIJF0bpHH3Z/21sLp3PtRWzIju8iNL73rWwQsDoV5H3WUGAMQARgCIAMSRjBEAiA1nxdvXzCQa7gfxR2OT3JIho8PUcaGD6d/mDZMN7ElywIgQMPQLoi6R/SIHAz77kQpvpbf3srMor1EHiPPabV1t3YSRzBFAiBBEbriuJK2BekiJBS3A9LjwGDK5C7vBCK6cAdHMVANTQIhAMDWlzzZxmGJGHPjHj+L9oKmj2nuI0A8sbARiYXvhyQG" + "leafHash": "KDRlZrPrDQ6Pwahg3U60QeJqCLR+KSnrZTfq8cRMYdk=", + "leafValue": "CpEDGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgeNpySkSV0gyxsQFqJbzFPO8U1bpB9O3tkdKllL2POLtCIPMzYM/oAozH2Io6Fy9N1DNni2K0EQzi8xskqBgQDYxNSqgCCAISkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhogJKDbR4uyhSMXW80x02NtYRUFlMQbLOA+tLe/MbwZ69QiIJF0bpHH3Z/21sLp3PtRWzIju8iNL73rWwQsDoV5H3WUGAMQARgCIAMSRjBEAiA88CDrSOscSwD8WmN5pKnkTx+eIPE9f1yBwYn8GYSuVQIgbek9k7gSeV3aeg/Adwc8wwlTezAhoJofzb2XuFRwSpcSRzBFAiAwGXqzWunBUXgXEERcx+lq+e5snedMw+u3p7DEc1msUAIhANi7NJ2TPwj7MGfsYSK5lWRNz7xqSRksdx99gzWR1Lt+" }, "inclusion": [ "", @@ -2152,12 +2152,12 @@ "", "", "", - "vxjJL/PQNPjkZr5XHsqy66B92lELqeFYFayoXl7f30s=", + "yAkRL4YDIyYDy2jFP9Cr2Y/l8wZQHD+PVK6EvR6e/yM=", "" ] }, "committed": { - "key": "QKQ46Y/nGw0PAl3aLTdABA==", + "key": "UWIwnMd7ye+GtczdDVhJIQ==", "data": "Ym9iLWtleTM=" } } diff --git a/core/testdata/TestListHistory b/core/testdata/TestListHistory.json similarity index 92% rename from core/testdata/TestListHistory rename to core/testdata/TestListHistory.json index 66e5f6d26..608fed920 100644 --- a/core/testdata/TestListHistory +++ b/core/testdata/TestListHistory.json @@ -3,7 +3,7 @@ "directory": { "directoryId": "integration", "log": { - "treeId": "487237151447803649", + "treeId": "6534604914782495160", "treeType": "PREORDERED_LOG", "hashStrategy": "RFC6962_SHA256", "hashAlgorithm": "SHA256", @@ -13,7 +13,7 @@ } }, "map": { - "treeId": "4984222440885572471", + "treeId": "8777614977422763593", "treeType": "MAP", "hashStrategy": "CONIKS_SHA256", "hashAlgorithm": "SHA256", diff --git a/core/testdata/TestMonitor b/core/testdata/TestMonitor.json similarity index 92% rename from core/testdata/TestMonitor rename to core/testdata/TestMonitor.json index 3a75f241d..37bbcbb13 100644 --- a/core/testdata/TestMonitor +++ b/core/testdata/TestMonitor.json @@ -3,7 +3,7 @@ "directory": { "directoryId": "integration", "log": { - "treeId": "6509326580909477417", + "treeId": "8231259227500546628", "treeType": "PREORDERED_LOG", "hashStrategy": "RFC6962_SHA256", "hashAlgorithm": "SHA256", @@ -13,7 +13,7 @@ } }, "map": { - "treeId": "3866883288346374210", + "treeId": "8823458083207558853", "treeType": "MAP", "hashStrategy": "CONIKS_SHA256", "hashAlgorithm": "SHA256", diff --git a/impl/integration/main_test.go b/impl/integration/main_test.go index d66d2bffb..11f1b9d70 100644 --- a/impl/integration/main_test.go +++ b/impl/integration/main_test.go @@ -74,7 +74,7 @@ func SaveTestVectors(testDataDir, testName string, env *integration.Env, rpcs [] marshaler := &jsonpb.Marshaler{Indent: "\t"} // Output all key material needed to verify the test vectors. - testFile := path.Join(testDataDir, testName) + testFile := path.Join(testDataDir, fmt.Sprintf("%v.json", testName)) f, err := os.Create(testFile) if err != nil { return err From 763db3e4c9917c0d5054ea1bb602f4d475353d94 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Tue, 9 Jul 2019 07:07:23 +0100 Subject: [PATCH 09/16] rm testdata/types.go --- core/testdata/types.go | 33 --------------------------------- 1 file changed, 33 deletions(-) delete mode 100644 core/testdata/types.go diff --git a/core/testdata/types.go b/core/testdata/types.go deleted file mode 100644 index db177e7c7..000000000 --- a/core/testdata/types.go +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2018 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Package testdata contains data and data types for interoperability testing. -package testdata - -import ( - pb "github.com/google/keytransparency/core/api/v1/keytransparency_go_proto" -) - -// ResponseVector is a captured response that should verify without errors. -type ResponseVector struct { - Desc string - Method string - - GetUserReq *pb.GetUserRequest - GetUserResp *pb.GetUserResponse - LogRootRequest *pb.LogRootRequest - UserIDs []string - BatchListUserRevisionsResp *pb.BatchListUserRevisionsResponse - BatchGetUserResp *pb.BatchGetUserResponse -} From 7a5ce0af190878d4c51a662510f80801484b83d9 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Tue, 9 Jul 2019 07:08:20 +0100 Subject: [PATCH 10/16] Use testdata local read and write functions --- core/client/verifier/verifier_test.go | 48 ++++++---------- core/testdata/io.go | 83 +++++++++++++++++++++++++++ impl/integration/main_test.go | 40 +++---------- 3 files changed, 108 insertions(+), 63 deletions(-) create mode 100644 core/testdata/io.go diff --git a/core/client/verifier/verifier_test.go b/core/client/verifier/verifier_test.go index ff1716d31..396e8bef9 100644 --- a/core/client/verifier/verifier_test.go +++ b/core/client/verifier/verifier_test.go @@ -15,54 +15,40 @@ package verifier import ( - "encoding/json" - "io/ioutil" - "os" "testing" - "github.com/golang/protobuf/jsonpb" "github.com/google/keytransparency/core/testdata" "github.com/google/trillian/types" - pb "github.com/google/keytransparency/core/api/v1/keytransparency_go_proto" + tpb "github.com/google/keytransparency/core/api/transcript_go_proto" ) // Test vectors in core/testdata are generated by running // go generate ./core/testdata func TestVerifyGetUserResponse(t *testing.T) { - directoryFile := "../../testdata/directory_get_and_update.json" - f, err := os.Open(directoryFile) - if err != nil { - t.Fatalf("ReadFile(%v): %v", directoryFile, err) - } - defer f.Close() - var directoryPB pb.Directory - if err := jsonpb.Unmarshal(f, &directoryPB); err != nil { - t.Fatalf("jsonpb.Unmarshal(): %v", err) - } - v, err := NewFromDirectory(&directoryPB) + transcript, err := testdata.ReadTranscript("TestEmptyGetAndUpdate") if err != nil { t.Fatal(err) } - - respFile := "../../testdata/get_and_update.json" - b, err := ioutil.ReadFile(respFile) + v, err := NewFromDirectory(transcript.Directory) if err != nil { - t.Fatalf("ReadFile(%v): %v", respFile, err) - } - var getUserResponses []testdata.ResponseVector - if err := json.Unmarshal(b, &getUserResponses); err != nil { - t.Fatalf("Unmarshal(): %v", err) + t.Fatal(err) } - for _, tc := range getUserResponses { - t.Run(tc.Desc, func(t *testing.T) { - trusted := &types.LogRootV1{ - TreeSize: uint64(tc.LogRootRequest.GetTreeSize()), - RootHash: tc.LogRootRequest.GetRootHash(), + for _, rpc := range transcript.Rpcs { + t.Run(rpc.Desc, func(t *testing.T) { + trusted := types.LogRootV1{ + TreeSize: uint64(rpc.LastVerifiedLogRoot.GetTreeSize()), + RootHash: rpc.LastVerifiedLogRoot.GetRootHash(), } - if err := v.VerifyGetUser(trusted, tc.GetUserReq, tc.GetUserResp); err != nil { - t.Errorf("VerifyGetUser(): %v)", err) + switch pair := rpc.ReqRespPair.(type) { + case *tpb.Unary_GetUser: + if err := v.VerifyGetUser(trusted, pair.GetUser.Request, pair.GetUser.Response); err != nil { + t.Errorf("VerifyGetUser(): %v)", err) + } + + default: + t.Errorf("Unknown ReqRespPair: %T", pair) } }) } diff --git a/core/testdata/io.go b/core/testdata/io.go new file mode 100644 index 000000000..4aec21e1b --- /dev/null +++ b/core/testdata/io.go @@ -0,0 +1,83 @@ +// Copyright 2018 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package testdata + +import ( + "fmt" + "go/build" + "os" + "path" + "path/filepath" + + "github.com/golang/protobuf/jsonpb" + + tpb "github.com/google/keytransparency/core/api/transcript_go_proto" +) + +func packagePath() (string, error) { + basePkg := "github.com/google/keytransparency/core/testdata" + p, err := build.Default.Import(basePkg, "", build.FindOnly) + if err != nil { + return "", err + } + return p.Dir, nil +} + +// ReadTranscript returns the test vectors for the requested test name. +func ReadTranscript(testName string) (*tpb.Transcript, error) { + selfPath, err := packagePath() + if err != nil { + return nil, err + } + relPath := path.Join(selfPath, fmt.Sprintf("%v.json", testName)) + absPath, err := filepath.Abs(relPath) + if err != nil { + return nil, err + } + transcriptFile := absPath + + f, err := os.Open(transcriptFile) + if err != nil { + return nil, err + } + defer f.Close() + + var transcript tpb.Transcript + if err := jsonpb.Unmarshal(f, &transcript); err != nil { + return nil, fmt.Errorf("jsonpb.Unmarshal(): %v", err) + } + return &transcript, nil +} + +// WriteTranscript saves the transcript to the files in this package. +func WriteTranscript(testName string, t *tpb.Transcript) error { + marshaler := &jsonpb.Marshaler{Indent: "\t"} + + selfPath, err := packagePath() + if err != nil { + return err + } + // Output all key material needed to verify the test vectors. + testFile := path.Join(selfPath, fmt.Sprintf("%v.json", testName)) + f, err := os.Create(testFile) + if err != nil { + return err + } + defer f.Close() + if err := marshaler.Marshal(f, t); err != nil { + return fmt.Errorf("jsonpb.Marshal(): %v", err) + } + return nil +} diff --git a/impl/integration/main_test.go b/impl/integration/main_test.go index 11f1b9d70..b62347c73 100644 --- a/impl/integration/main_test.go +++ b/impl/integration/main_test.go @@ -17,22 +17,16 @@ package integration import ( "context" "flag" - "fmt" - "os" - "path" "testing" - "github.com/golang/protobuf/jsonpb" "github.com/google/keytransparency/core/integration" + "github.com/google/keytransparency/core/testdata" "github.com/google/trillian/storage/testdb" tpb "github.com/google/keytransparency/core/api/transcript_go_proto" ) -var ( - generate = flag.Bool("generate", false, "Defines if test vectors should be generated") - testdataDir = flag.String("testdata", "../../core/testdata", "The directory in which to place the generated test data") -) +var generate = flag.Bool("generate", false, "Defines if test vectors should be generated") // TestIntegration runs all KeyTransparency integration tests. func TestIntegration(t *testing.T) { @@ -56,32 +50,14 @@ func TestIntegration(t *testing.T) { cancel() if *generate { - if err = SaveTestVectors(*testdataDir, test.Name, env.Env, resps); err != nil { - t.Fatalf("saveTestVectors() failed: %v", err) + if testdata.WriteTranscript(test.Name, &tpb.Transcript{ + Description: test.Name, + Directory: env.Env.Directory, + Rpcs: resps, + }); err != nil { + t.Fatalf("WriteTranscript() failed: %v", err) } } }) } } - -// SaveTestVectors generates test vectors for interoprability testing. -func SaveTestVectors(testDataDir, testName string, env *integration.Env, rpcs []*tpb.Unary) error { - t := &tpb.Transcript{ - Description: testName, - Directory: env.Directory, - Rpcs: rpcs, - } - marshaler := &jsonpb.Marshaler{Indent: "\t"} - - // Output all key material needed to verify the test vectors. - testFile := path.Join(testDataDir, fmt.Sprintf("%v.json", testName)) - f, err := os.Create(testFile) - if err != nil { - return err - } - defer f.Close() - if err := marshaler.Marshal(f, t); err != nil { - return fmt.Errorf("jsonpb.Marshal(): %v", err) - } - return nil -} From 4fbd4580b7af2d0c18146ac6fcd18b21d0c0dc47 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Tue, 9 Jul 2019 07:21:31 +0100 Subject: [PATCH 11/16] Fix SLR in request test vectors --- core/integration/client_tests.go | 9 +- core/testdata/TestBatchCreate.json | 4 +- core/testdata/TestBatchGetUser.json | 136 ++++---- core/testdata/TestBatchListUserRevisions.json | 326 +++++++++--------- core/testdata/TestBatchUpdate.json | 4 +- core/testdata/TestEmptyGetAndUpdate.json | 212 ++++++------ core/testdata/TestListHistory.json | 4 +- core/testdata/TestMonitor.json | 4 +- 8 files changed, 357 insertions(+), 342 deletions(-) diff --git a/core/integration/client_tests.go b/core/integration/client_tests.go index 34e724eb3..284754bf2 100644 --- a/core/integration/client_tests.go +++ b/core/integration/client_tests.go @@ -260,6 +260,7 @@ func TestEmptyGetAndUpdate(ctx context.Context, env *Env, t *testing.T) []*tpb.U } { t.Run(tc.desc, func(t *testing.T) { // Check profile. + reqSLR := *slr e, newslr, err := CheckProfile(ctx, env, tc.userID, tc.wantProfile, slr) if err != nil { t.Fatalf("%v", err) @@ -274,12 +275,14 @@ func TestEmptyGetAndUpdate(ctx context.Context, env *Env, t *testing.T) []*tpb.U transcript = append(transcript, &tpb.Unary{ Desc: tc.desc, LastVerifiedLogRoot: &pb.LogRootRequest{ - TreeSize: int64(slr.TreeSize), - RootHash: slr.RootHash, + TreeSize: int64(reqSLR.TreeSize), + RootHash: reqSLR.RootHash, }, ReqRespPair: &tpb.Unary_GetUser{GetUser: &tpb.GetUser{ Request: &pb.GetUserRequest{ - UserId: tc.userID, + DirectoryId: env.Directory.DirectoryId, + UserId: tc.userID, + LastVerifiedTreeSize: int64(reqSLR.TreeSize), }, Response: e, }}, diff --git a/core/testdata/TestBatchCreate.json b/core/testdata/TestBatchCreate.json index a82f247ce..171bdfab4 100644 --- a/core/testdata/TestBatchCreate.json +++ b/core/testdata/TestBatchCreate.json @@ -3,7 +3,7 @@ "directory": { "directoryId": "integration", "log": { - "treeId": "349604261197378701", + "treeId": "4821318422028900880", "treeType": "PREORDERED_LOG", "hashStrategy": "RFC6962_SHA256", "hashAlgorithm": "SHA256", @@ -13,7 +13,7 @@ } }, "map": { - "treeId": "7842245384601735155", + "treeId": "5892011389996388160", "treeType": "MAP", "hashStrategy": "CONIKS_SHA256", "hashAlgorithm": "SHA256", diff --git a/core/testdata/TestBatchGetUser.json b/core/testdata/TestBatchGetUser.json index d0e416716..bc96da5c1 100644 --- a/core/testdata/TestBatchGetUser.json +++ b/core/testdata/TestBatchGetUser.json @@ -3,7 +3,7 @@ "directory": { "directoryId": "integration", "log": { - "treeId": "274915599592077923", + "treeId": "1283056646755542265", "treeType": "PREORDERED_LOG", "hashStrategy": "RFC6962_SHA256", "hashAlgorithm": "SHA256", @@ -13,7 +13,7 @@ } }, "map": { - "treeId": "2658973437142183928", + "treeId": "2062628227332804898", "treeType": "MAP", "hashStrategy": "CONIKS_SHA256", "hashAlgorithm": "SHA256", @@ -44,24 +44,24 @@ "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEg69bvF7o0g0ovLHbke0e+0U7gOPIRpqOSm/+u5pbUMVsVr6TfoU8veAAAAAAAAAABABISAhgBEgwQidWQ3fmb6dcVGAI=", - "signature": "MEUCIQD6jaYTYrFmWEYSapUNQhiKyXOTuyX9tWBTi47WDAixgQIgZPgJqMNxBR5OnRLvYHp5subWDfkdQ9ZI6gOJpMtN1Oo=" + "mapRoot": "AAEgwlMPr4XLj7jtTRwk2JNcJIW+QEIA1+G7AXl/7a5kTR8Vr6jJLjuY0AAAAAAAAAABABISAhgBEgwQ+bG/w5KZ6tcVGAI=", + "signature": "MEUCIQD2YZgaEsWs6kyB5tsa6ZVAesfalXPdHUvKWCKRa+8mdgIgIrZ3ce1dJAHpUcWkgx7XYEeHbqd7fs7H4iCgZztQ4Z8=" }, "logInclusion": [ - "EVeKiePomS5jp4+NFhjwtRmUkDJOD9lOLQ8AUY0Mfos=" + "Qp3RT4fw04wyqs9icst1tJ2NJ8Bj1tk2zjfG3VnvnRQ=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "A9CySADmOmM=", - "logRoot": "AAEAAAAAAAAAAiAFNQJyYBg1CKF2KDcnTGW6Iv2qDwSthHRhsvILFk2jUhWvpN+wERgAAAAAAAAAAAIAAA==", - "logRootSignature": "MEUCIE5rW+BWj8SbxngHsZv2vdlvrGxqbySoplai+uLnq0YZAiEApaatomDzusXgovzASU/qCzIslwBbP+liaMdvSiux9zQ=" + "keyHint": "Ec5VOOiRZPk=", + "logRoot": "AAEAAAAAAAAAAiBqLcr2nVfnVVhl+RLEf6Ac/AEF2MCUmwjB7AE1nU0pQBWvqMk8iYnYAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIDTr3ykrPAD1w6YlZCp1LUiyCkAedhFYWdG3anmbnCWiAiEA1es887SsA1IU8TvYx0xfv8FsOBkRmoPpyiC4XbRWHdQ=" } } }, "mapLeavesByUserId": { "alice": { - "vrfProof": "ysnExVIpZCdJtIO05WqTYdrnHW2zHduYrmuNjY5W476JMPXk2/KxN5NaFupPZ1u39DxTcqX5QGoAg08P9N1YhARTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "PKFlR5o7s++xQfxzGrz1fmfLS+TD4Cs3157kslE1aPoRIwUCDet4TN5NU8B3mT1TdDyiF9TB3CkIOISTAG0JLARTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { "index": "A9/B/HF0DP6pap5CSp8/Jo05FhoGWECfsTAnRlVdzvM=" @@ -320,8 +320,8 @@ "", "", "", - "MbHYVoxwjBw0+Dm4fYfJLzTIhJEvO+OHn25LQMjKPbQ=", - "Xywb6o00xmsagWxwsvxkWsjMMk4so6HwNNQJBuudRsM=", + "vH6SqM1b2mz6CHCcQkm6/okqHkH6yR6tUzVixd0GVf4=", + "PGtA1G8D3pAEQ70/EpYWfjI7dr6GOX7YmjB3Y3CB2HM=", "" ] } @@ -338,32 +338,32 @@ "batchGetUser": { "request": { "userIds": [ - "alice", - "zelda" + "zelda", + "alice" ] }, "response": { "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEg69bvF7o0g0ovLHbke0e+0U7gOPIRpqOSm/+u5pbUMVsVr6TfoU8veAAAAAAAAAABABISAhgBEgwQidWQ3fmb6dcVGAI=", - "signature": "MEUCIQD6jaYTYrFmWEYSapUNQhiKyXOTuyX9tWBTi47WDAixgQIgZPgJqMNxBR5OnRLvYHp5subWDfkdQ9ZI6gOJpMtN1Oo=" + "mapRoot": "AAEgwlMPr4XLj7jtTRwk2JNcJIW+QEIA1+G7AXl/7a5kTR8Vr6jJLjuY0AAAAAAAAAABABISAhgBEgwQ+bG/w5KZ6tcVGAI=", + "signature": "MEUCIQD2YZgaEsWs6kyB5tsa6ZVAesfalXPdHUvKWCKRa+8mdgIgIrZ3ce1dJAHpUcWkgx7XYEeHbqd7fs7H4iCgZztQ4Z8=" }, "logInclusion": [ - "EVeKiePomS5jp4+NFhjwtRmUkDJOD9lOLQ8AUY0Mfos=" + "Qp3RT4fw04wyqs9icst1tJ2NJ8Bj1tk2zjfG3VnvnRQ=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "A9CySADmOmM=", - "logRoot": "AAEAAAAAAAAAAiAFNQJyYBg1CKF2KDcnTGW6Iv2qDwSthHRhsvILFk2jUhWvpN+wERgAAAAAAAAAAAIAAA==", - "logRootSignature": "MEUCIE5rW+BWj8SbxngHsZv2vdlvrGxqbySoplai+uLnq0YZAiEApaatomDzusXgovzASU/qCzIslwBbP+liaMdvSiux9zQ=" + "keyHint": "Ec5VOOiRZPk=", + "logRoot": "AAEAAAAAAAAAAiBqLcr2nVfnVVhl+RLEf6Ac/AEF2MCUmwjB7AE1nU0pQBWvqMk8iYnYAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIDTr3ykrPAD1w6YlZCp1LUiyCkAedhFYWdG3anmbnCWiAiEA1es887SsA1IU8TvYx0xfv8FsOBkRmoPpyiC4XbRWHdQ=" } } }, "mapLeavesByUserId": { "alice": { - "vrfProof": "9pS2LAzQpnQH+SWIJbkgObG5gdBhgLv414haiAJdSrmq9nlu9F6HkVzHm0QScRo/+rl5HSFIRiOtzlaXFcRh/gRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "LLbvvN/w3Bo+ia/ydJ6JzPIhcX5rHNwsx90wVCtdov/SMpyGWgM43ybzW348bjG8M+UdkhpxOkRAK/q7dRiHFARTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { "index": "A9/B/HF0DP6pap5CSp8/Jo05FhoGWECfsTAnRlVdzvM=" @@ -622,14 +622,14 @@ "", "", "", - "MbHYVoxwjBw0+Dm4fYfJLzTIhJEvO+OHn25LQMjKPbQ=", - "Xywb6o00xmsagWxwsvxkWsjMMk4so6HwNNQJBuudRsM=", + "vH6SqM1b2mz6CHCcQkm6/okqHkH6yR6tUzVixd0GVf4=", + "PGtA1G8D3pAEQ70/EpYWfjI7dr6GOX7YmjB3Y3CB2HM=", "" ] } }, "zelda": { - "vrfProof": "D+lM9XmqHxGmKybhEMahGfAE0894L3VKObD6PSAQjsAUsZXOux3y/mrHp5zqqJ0Bx0WxAHbzJEnQaJ9raXopIwQtrUX0DufLX9SITX79ae9LqiYFNaU8XDMHSZ44UUb2kMU6/IycyPbQiVogsuIIrgNYXImVlFvuCSyjC6Kg03hK", + "vrfProof": "2VyqW4/RldQQWuN85hYZiSBT6QRgXFa4LQCbqKNN7GqtomxJZl0qJIGJzOKxUcgll9+tncB92KfSAhje15m5YwQtrUX0DufLX9SITX79ae9LqiYFNaU8XDMHSZ44UUb2kMU6/IycyPbQiVogsuIIrgNYXImVlFvuCSyjC6Kg03hK", "mapInclusion": { "leaf": { "index": "L+Kt2w2EizRLIRMNTQu0J9o4c37Jhf2MT+xy8XZ/QVo=" @@ -886,10 +886,10 @@ "", "", "", - "hAGHSelXM0gOCMU/wfT1YLYo8Ls/XGGKLP6gIf1/2P4=", + "g6kWnF0rW7xxNLoMji6vxWx5yo3uc2Z+WnMFdeCQv+s=", "", "", - "Xywb6o00xmsagWxwsvxkWsjMMk4so6HwNNQJBuudRsM=", + "PGtA1G8D3pAEQ70/EpYWfjI7dr6GOX7YmjB3Y3CB2HM=", "" ] } @@ -913,29 +913,29 @@ "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEg69bvF7o0g0ovLHbke0e+0U7gOPIRpqOSm/+u5pbUMVsVr6TfoU8veAAAAAAAAAABABISAhgBEgwQidWQ3fmb6dcVGAI=", - "signature": "MEUCIQD6jaYTYrFmWEYSapUNQhiKyXOTuyX9tWBTi47WDAixgQIgZPgJqMNxBR5OnRLvYHp5subWDfkdQ9ZI6gOJpMtN1Oo=" + "mapRoot": "AAEgwlMPr4XLj7jtTRwk2JNcJIW+QEIA1+G7AXl/7a5kTR8Vr6jJLjuY0AAAAAAAAAABABISAhgBEgwQ+bG/w5KZ6tcVGAI=", + "signature": "MEUCIQD2YZgaEsWs6kyB5tsa6ZVAesfalXPdHUvKWCKRa+8mdgIgIrZ3ce1dJAHpUcWkgx7XYEeHbqd7fs7H4iCgZztQ4Z8=" }, "logInclusion": [ - "EVeKiePomS5jp4+NFhjwtRmUkDJOD9lOLQ8AUY0Mfos=" + "Qp3RT4fw04wyqs9icst1tJ2NJ8Bj1tk2zjfG3VnvnRQ=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "A9CySADmOmM=", - "logRoot": "AAEAAAAAAAAAAiAFNQJyYBg1CKF2KDcnTGW6Iv2qDwSthHRhsvILFk2jUhWvpN+wERgAAAAAAAAAAAIAAA==", - "logRootSignature": "MEUCIE5rW+BWj8SbxngHsZv2vdlvrGxqbySoplai+uLnq0YZAiEApaatomDzusXgovzASU/qCzIslwBbP+liaMdvSiux9zQ=" + "keyHint": "Ec5VOOiRZPk=", + "logRoot": "AAEAAAAAAAAAAiBqLcr2nVfnVVhl+RLEf6Ac/AEF2MCUmwjB7AE1nU0pQBWvqMk8iYnYAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIDTr3ykrPAD1w6YlZCp1LUiyCkAedhFYWdG3anmbnCWiAiEA1es887SsA1IU8TvYx0xfv8FsOBkRmoPpyiC4XbRWHdQ=" } } }, "mapLeavesByUserId": { "bob": { - "vrfProof": "I2ltfQzNEEa10Y9+TZZ2dZmy9o2nWEHxshivbUhalk2wKI6fCrWZynRIROs9evChOVW7SYwWvEl7yBpkkpyH7ASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "+1c0mXZmSWIMSBBctDz5wTGcbVTowxRIoz095kI8KF0XLgOc0WEw6t8HCV1k3soTRVRfv3hvzHdPRhdKgpXhDQSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leafHash": "y1yYDFLp1wPaHA05vbtiRs6b5nMCDmVJrBHiKWhVejk=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgF1HOwUH2+Dl028mmqMXOqtO/WdY09cU4jkOfZ1HnQF1CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBZ8Luuq5X301J3HOJ/M2Vy4SSAaDQqskBt5bUXm09mGAIgYv8abJQFZdlaphC1dqNkvjQnsqysthfWTfWDgYzun/Q=" + "leafHash": "FWe23DE9CnefBSVqywlR7eFff1hlO5WzKwz97y9c2LE=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIg/xYaCmaSj8A4GrHJBR3uHzkOVHT+RzCzVrxmsVi+x4JCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAj4oouCEk6eye0x0gJ+OvCfyT4f8u3R2oR9xzb9I0CYoCIG93EO52yudSEEkUuLoKj77dHxTLO6tlen/Xq3X+JItC" }, "inclusion": [ "", @@ -1192,12 +1192,12 @@ "", "", "", - "HSHwv8Tg4DUNKEO/CLWRXr2R9XriRMAEGhz5yODnDEs=", + "AL1oZUt2p1JF5D/kMoi5QAeXDMfJAOKRVOYYm4xhkWI=", "" ] }, "committed": { - "key": "7gLkH9XUOtu8M0CsrpX1kg==", + "key": "U1sA4snyDBsTzjHt2HZPCw==", "data": "Ym9iLWtleQ==" } } @@ -1221,29 +1221,29 @@ "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEg69bvF7o0g0ovLHbke0e+0U7gOPIRpqOSm/+u5pbUMVsVr6TfoU8veAAAAAAAAAABABISAhgBEgwQidWQ3fmb6dcVGAI=", - "signature": "MEUCIQD6jaYTYrFmWEYSapUNQhiKyXOTuyX9tWBTi47WDAixgQIgZPgJqMNxBR5OnRLvYHp5subWDfkdQ9ZI6gOJpMtN1Oo=" + "mapRoot": "AAEgwlMPr4XLj7jtTRwk2JNcJIW+QEIA1+G7AXl/7a5kTR8Vr6jJLjuY0AAAAAAAAAABABISAhgBEgwQ+bG/w5KZ6tcVGAI=", + "signature": "MEUCIQD2YZgaEsWs6kyB5tsa6ZVAesfalXPdHUvKWCKRa+8mdgIgIrZ3ce1dJAHpUcWkgx7XYEeHbqd7fs7H4iCgZztQ4Z8=" }, "logInclusion": [ - "EVeKiePomS5jp4+NFhjwtRmUkDJOD9lOLQ8AUY0Mfos=" + "Qp3RT4fw04wyqs9icst1tJ2NJ8Bj1tk2zjfG3VnvnRQ=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "A9CySADmOmM=", - "logRoot": "AAEAAAAAAAAAAiAFNQJyYBg1CKF2KDcnTGW6Iv2qDwSthHRhsvILFk2jUhWvpN+wERgAAAAAAAAAAAIAAA==", - "logRootSignature": "MEUCIE5rW+BWj8SbxngHsZv2vdlvrGxqbySoplai+uLnq0YZAiEApaatomDzusXgovzASU/qCzIslwBbP+liaMdvSiux9zQ=" + "keyHint": "Ec5VOOiRZPk=", + "logRoot": "AAEAAAAAAAAAAiBqLcr2nVfnVVhl+RLEf6Ac/AEF2MCUmwjB7AE1nU0pQBWvqMk8iYnYAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIDTr3ykrPAD1w6YlZCp1LUiyCkAedhFYWdG3anmbnCWiAiEA1es887SsA1IU8TvYx0xfv8FsOBkRmoPpyiC4XbRWHdQ=" } } }, "mapLeavesByUserId": { "bob": { - "vrfProof": "d6ENxoSkRW+JT9uX6wcq1jzOPvhSJW/zEhPTbB6dTZuRuTsGSGZjYm/lQvaB8X3RagewSBfKFszGNGIyKCWaywSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "PsksYijl0f+pxnBAWE5K+kF3+lVisg59JZ6lqf3O8/u6z6rBYvu4UPKS6nLFIrZrZO0OuqwyDWVteDYn9n4cRgSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leafHash": "y1yYDFLp1wPaHA05vbtiRs6b5nMCDmVJrBHiKWhVejk=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgF1HOwUH2+Dl028mmqMXOqtO/WdY09cU4jkOfZ1HnQF1CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBZ8Luuq5X301J3HOJ/M2Vy4SSAaDQqskBt5bUXm09mGAIgYv8abJQFZdlaphC1dqNkvjQnsqysthfWTfWDgYzun/Q=" + "leafHash": "FWe23DE9CnefBSVqywlR7eFff1hlO5WzKwz97y9c2LE=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIg/xYaCmaSj8A4GrHJBR3uHzkOVHT+RzCzVrxmsVi+x4JCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAj4oouCEk6eye0x0gJ+OvCfyT4f8u3R2oR9xzb9I0CYoCIG93EO52yudSEEkUuLoKj77dHxTLO6tlen/Xq3X+JItC" }, "inclusion": [ "", @@ -1500,22 +1500,22 @@ "", "", "", - "HSHwv8Tg4DUNKEO/CLWRXr2R9XriRMAEGhz5yODnDEs=", + "AL1oZUt2p1JF5D/kMoi5QAeXDMfJAOKRVOYYm4xhkWI=", "" ] }, "committed": { - "key": "7gLkH9XUOtu8M0CsrpX1kg==", + "key": "U1sA4snyDBsTzjHt2HZPCw==", "data": "Ym9iLWtleQ==" } }, "carol": { - "vrfProof": "Hvf3JpAE5OTwjYP07Zd4SAXN5rxyAYl/ogi6Ovsv4L6yo4YZdGJjz45zcM2k6cqB+r5JBvC2xsXuhcpBUikaYQSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "Hp706xZGIi05bigFM3BVMq72/LzKi7469qI77N6VtHLSzuRuZyGsXm9V4rvKyD2zfhHV5gRUFfQksXEB3q5PnwSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { "index": "JYx5mwUZM4rLnxSas5/NC9GiuqMYVWThqNqJdDz6bvw=", - "leafHash": "OP4DlKd6oGJt39ZGV9SCMgQiXS0S77By+2mxwJiwIZY=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgGIL/CYoJ5CVVWsBKsVHZEGa7kxPIr16cq5lns4QozrdCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiAj3qa7XiAf5Y81BIaJE16OsMqY5qRkwhl+jSdjF5PfZQIhAKZNvJ4sWNkNn6ceLk1KXe+i4dJs0WFdvV3G/x+3AqW8" + "leafHash": "WyNJSMn2BbouZok1taEO2PNi59PX/oETjLL28XEmc9A=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgnMpJwNoyyHHq9OHoS0GADqscQItnWwXwYHowTBE0wXBCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBXtv7+VtINTE3bPeFBhlfITwoeXdoekz7VZBwQ5b0CxwIgLfxtsKnuTmKlg5HXlSr2pjvITTVMDNok02ylSOQTWFM=" }, "inclusion": [ "", @@ -1772,12 +1772,12 @@ "", "", "", - "Xywb6o00xmsagWxwsvxkWsjMMk4so6HwNNQJBuudRsM=", + "PGtA1G8D3pAEQ70/EpYWfjI7dr6GOX7YmjB3Y3CB2HM=", "" ] }, "committed": { - "key": "IglSjYWJ4VsOziWvSxe3cA==", + "key": "5AnHrMDTAod5XXQgyDFYog==", "data": "Y2Fyb2wta2V5" } } @@ -1793,32 +1793,32 @@ "batchGetUser": { "request": { "userIds": [ - "bob", - "alice" + "alice", + "bob" ] }, "response": { "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEg69bvF7o0g0ovLHbke0e+0U7gOPIRpqOSm/+u5pbUMVsVr6TfoU8veAAAAAAAAAABABISAhgBEgwQidWQ3fmb6dcVGAI=", - "signature": "MEUCIQD6jaYTYrFmWEYSapUNQhiKyXOTuyX9tWBTi47WDAixgQIgZPgJqMNxBR5OnRLvYHp5subWDfkdQ9ZI6gOJpMtN1Oo=" + "mapRoot": "AAEgwlMPr4XLj7jtTRwk2JNcJIW+QEIA1+G7AXl/7a5kTR8Vr6jJLjuY0AAAAAAAAAABABISAhgBEgwQ+bG/w5KZ6tcVGAI=", + "signature": "MEUCIQD2YZgaEsWs6kyB5tsa6ZVAesfalXPdHUvKWCKRa+8mdgIgIrZ3ce1dJAHpUcWkgx7XYEeHbqd7fs7H4iCgZztQ4Z8=" }, "logInclusion": [ - "EVeKiePomS5jp4+NFhjwtRmUkDJOD9lOLQ8AUY0Mfos=" + "Qp3RT4fw04wyqs9icst1tJ2NJ8Bj1tk2zjfG3VnvnRQ=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "A9CySADmOmM=", - "logRoot": "AAEAAAAAAAAAAiAFNQJyYBg1CKF2KDcnTGW6Iv2qDwSthHRhsvILFk2jUhWvpN+wERgAAAAAAAAAAAIAAA==", - "logRootSignature": "MEUCIE5rW+BWj8SbxngHsZv2vdlvrGxqbySoplai+uLnq0YZAiEApaatomDzusXgovzASU/qCzIslwBbP+liaMdvSiux9zQ=" + "keyHint": "Ec5VOOiRZPk=", + "logRoot": "AAEAAAAAAAAAAiBqLcr2nVfnVVhl+RLEf6Ac/AEF2MCUmwjB7AE1nU0pQBWvqMk8iYnYAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIDTr3ykrPAD1w6YlZCp1LUiyCkAedhFYWdG3anmbnCWiAiEA1es887SsA1IU8TvYx0xfv8FsOBkRmoPpyiC4XbRWHdQ=" } } }, "mapLeavesByUserId": { "alice": { - "vrfProof": "rMwh4bnolLuHIkGOsBtvBeWXtuPmURnlEoiV7peIiosM4iSbTENViYFBH9nACvoLdbHhrGWPgaOvpz0GRb6xlgRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "EKsciMDdKXH4oMoiSmAlSTJyRmXcSGJgGO33E/w6eeoXj7zO1Gztc0HLl/ZfM8cc/DTSBqH5k7hshTXdnM7C0gRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { "index": "A9/B/HF0DP6pap5CSp8/Jo05FhoGWECfsTAnRlVdzvM=" @@ -2077,19 +2077,19 @@ "", "", "", - "MbHYVoxwjBw0+Dm4fYfJLzTIhJEvO+OHn25LQMjKPbQ=", - "Xywb6o00xmsagWxwsvxkWsjMMk4so6HwNNQJBuudRsM=", + "vH6SqM1b2mz6CHCcQkm6/okqHkH6yR6tUzVixd0GVf4=", + "PGtA1G8D3pAEQ70/EpYWfjI7dr6GOX7YmjB3Y3CB2HM=", "" ] } }, "bob": { - "vrfProof": "xRCapg8vGHVgcFgIz5XoblX4jwO05mbuQNrchaTAi0m7mhHAlqx9gKSprifpGBewOLKMH8SA+ZsVVNvh6XzaPASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "t59+Eh2ulY+VH765BAUoIDTVajUfUw1E4pdMB0ugNo5mUs5PyEz+xjAgsteTr3dP77AG93lcHP9yHqxkGNmw8gSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leafHash": "y1yYDFLp1wPaHA05vbtiRs6b5nMCDmVJrBHiKWhVejk=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgF1HOwUH2+Dl028mmqMXOqtO/WdY09cU4jkOfZ1HnQF1CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBZ8Luuq5X301J3HOJ/M2Vy4SSAaDQqskBt5bUXm09mGAIgYv8abJQFZdlaphC1dqNkvjQnsqysthfWTfWDgYzun/Q=" + "leafHash": "FWe23DE9CnefBSVqywlR7eFff1hlO5WzKwz97y9c2LE=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIg/xYaCmaSj8A4GrHJBR3uHzkOVHT+RzCzVrxmsVi+x4JCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAj4oouCEk6eye0x0gJ+OvCfyT4f8u3R2oR9xzb9I0CYoCIG93EO52yudSEEkUuLoKj77dHxTLO6tlen/Xq3X+JItC" }, "inclusion": [ "", @@ -2346,12 +2346,12 @@ "", "", "", - "HSHwv8Tg4DUNKEO/CLWRXr2R9XriRMAEGhz5yODnDEs=", + "AL1oZUt2p1JF5D/kMoi5QAeXDMfJAOKRVOYYm4xhkWI=", "" ] }, "committed": { - "key": "7gLkH9XUOtu8M0CsrpX1kg==", + "key": "U1sA4snyDBsTzjHt2HZPCw==", "data": "Ym9iLWtleQ==" } } diff --git a/core/testdata/TestBatchListUserRevisions.json b/core/testdata/TestBatchListUserRevisions.json index 0f8e103cd..854ff578c 100644 --- a/core/testdata/TestBatchListUserRevisions.json +++ b/core/testdata/TestBatchListUserRevisions.json @@ -3,7 +3,7 @@ "directory": { "directoryId": "integration", "log": { - "treeId": "8234779369531202688", + "treeId": "7166363604494653072", "treeType": "PREORDERED_LOG", "hashStrategy": "RFC6962_SHA256", "hashAlgorithm": "SHA256", @@ -13,7 +13,7 @@ } }, "map": { - "treeId": "6717152226853265780", + "treeId": "2254048446176788384", "treeType": "MAP", "hashStrategy": "CONIKS_SHA256", "hashAlgorithm": "SHA256", @@ -45,32 +45,32 @@ "response": { "latestLogRoot": { "logRoot": { - "keyHint": "ckfQNPSfXIA=", - "logRoot": "AAEAAAAAAAAACyCiSiA2VZxcY+Q44AMA0RjUakml1LwXwA8zWSpJRb7UWRWvpOOWOHPoAAAAAAAAAAsAAA==", - "logRootSignature": "MEUCIQDfTUouJXsRSVCZgFUbGlq4MG5lS+rhFJnNw+nQnWAkMwIgfn/vz+Rk/tKkke8yXXkOgKP3gCiBLtzmSPJ2PfJh+OY=" + "keyHint": "Y3QJurExFpA=", + "logRoot": "AAEAAAAAAAAACyC5Z0R8Ej236U42mngvWb3+cdA0HhKEj6AkuMTfJMUmohWvqM2AoObQAAAAAAAAAAsAAA==", + "logRootSignature": "MEUCIQD8O+kDxjXHFNEtkLQkIRb24iEdto3Qe/rsrN81BboNFQIgQoZfo28S5xyWvMvmq2HuD5O7ZHP0oLBfITM1b2PoZHA=" } }, "mapRevisions": [ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgClLa03n2RHhMO/szdszZGlhvWdXM9yDPq14oyZ7kN5EVr6TisFC9aAAAAAAAAAADADASFgiBrZGuqZzp1xUQga2Rrqmc6dcVGAESFgiZucOsqJzp1xUQwb3X+qqc6dcVGAI=", - "signature": "MEUCIQCI8JZapeWvSNbiGkP/easRDWzk71hoMzqb0Rp5ftq9tAIgAc5gj7YyFfepbuu2XrI5mT2T2KhMAQbcnWM8RBP8e5Q=" + "mapRoot": "AAEg6S1M18dISZuZIUA06VRXkvmOkqa/NxyuW4Yn7mjo98UVr6jMgbUbAAAAAAAAAAADABwSFgjJ79GLxpnq1xUQqd2ghsiZ6tcVGAESAhgC", + "signature": "MEUCIQDZjvy0V2HaU5jBwlDsbXSD3dAQo+VU+F1RIOcTJ/NHYAIgWVEX6wxmERbNTPz5oPaiXlsF9udzNPYXRNGQWviZotQ=" }, "logInclusion": [ - "hGSbrjr6LnWAoXburt90DMFffz6zhYAwcN4rZ/BVr9k=", - "x/sd4hh2d02gD0bDei51J4sNkDrm7hR5dWXmP+SJchw=", - "DdLnFYJYunC2yrV0KZ3Y9aRjoFbl+zHgLn2gZxi7Az8=", - "CSnuJPwEil33IlZ7Gy82yS4nScZPAb3HCbJKQfiRH3M=" + "NClgzw9WRJJhxyf5iy484GNjm8p8q9lxyDDOKAFElwU=", + "DqgDOhHODMl6J9h5b9N++8hXVKwzXIaTgwHwAYD9Sk8=", + "XrFTKTJlYDz8l4LSk8vhy5YINX22DUh7cgx6mXSswu4=", + "19gCYUgFiHJeEOnGXuIeJ8sNnaEcAbX1ql+JWVQSoCo=" ] }, "mapLeavesByUserId": { "alice": { - "vrfProof": "eOCUeEBZC9a8JADDzhOliCfwdqCTZ8YsUftECO9sHMiFTcapTI7cTFM3+UWW96OemHFRibHr6DpxBQ8ffDylmgRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "JkihVjISxMrZbhb6HjFHicgemZK+/DZ6RT3Ic79i83kyQP5qU7ykKlwVCvRWCa3eHPqYH9HCNw4d0wodOruFrwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { - "leafHash": "EL85baUTdWwWv17t56IPi2aM4sb1110EG257xVxdM48=", - "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgs3knO5ggwcfViBUbJ4YhVeH60Tjb3cmzIgFYLNHHUTxCIL15peO/RCqpsj9YQwciomuWGkJtt+EQ576NiR29WTJ3SpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEA2RB7tszrNUOIiyWTptcWoK3GDvwaEH/0Ov4mQCiwV3UCIQC+RMZeOW5OfrDwFcVDvYSExSh2JyYmNV0/3etVi1Pxhg==" + "leafHash": "G1PGyQmKlIPsr0YZ226Q5xrelQtT5lwuC79uMDNBD1o=", + "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIg8kU8KaZp0e4Pg5h3VUCobpgnwTgfXJNHYxGuGOkI3sRCINXSAcfWXdzCHoF/IARw1fm5RGFSJju6Pb9i9Z8HWhadSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiBZxA3/hh19I5e73V246ZApX9yBysmmXG4nH7eDCLIijQIhAPSirnDwhfjYtlozH4VdCxTdjyxDD08dW2GVDoF+lclU" }, "inclusion": [ "", @@ -327,21 +327,21 @@ "", "", "", - "SBXwS6OKU/rN9ihfHa3ohA/72DlO4fpyPRs5GIhCQ40=", + "vjmfgpct2sPL7E4+8S9DJQ3SsJi6VRZuha3yFS5iVJc=", "" ] }, "committed": { - "key": "EolBl/8uu4Q7SKP8OvYYNA==", + "key": "8DAmlmzC0n/Kw8GXjvS4gw==", "data": "YmFyMg==" } }, "bob": { - "vrfProof": "zVftFjdBO5LvitIi1tqqm6AoE6Wbpi4T+8Wfg0X/pF4cJ2GTesLOIdedMlfK47BzydaSbnL7KztgXxBTOvMxYgSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "/ADfJIvnIQ5qgKcU0vk1AXEYUJl9q80GERLj3fo2I9E61dVggHd8zjTVX1lnHFll6BY9kvI83zUBhVS0gbe45gSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { - "leafHash": "KNJge+G2reXfxHP/Wbw0ehVTZOh5DSjCLNcoOLlm9VM=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgdgw2Wl46G80nM79iXacKxhtVu9rGZWkRob/Q+nbjej9CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAyEC2VAPgmz8i3NA72rR5OSZpbzbMJQP3Rj8zJcB3RRMCIHYHqWiGGPga4z7VF9dpSDsExmTnLRk5vVdSmkR+Ok1b" + "leafHash": "xYHsZU6km7C8DluGzdT2SuTuAmMH04HU3dbBcx0n7po=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgl1QOoX0onWSefcbiX+l8Dz1PSj093Pwu9RH0dk8ch9JCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiBK5x+GXyDm1CskzE/NtSA+Q7hcRpvLI5CFd4sBIbOtVgIhAP5aELr99/pYmMGQqFnH2rTe1fxEa9cg3brgP3IFDgZw" }, "inclusion": [ "", @@ -598,12 +598,12 @@ "", "", "", - "NhHKCF7m5AOoREryOsD10p4JQt7SLEgoXTgiqmZe7Pg=", + "pvMjdSazuMOmaOt64vkG5F/vyveXXz9/ZJYcgeFJ59Q=", "" ] }, "committed": { - "key": "tmw8EH4T90+YzQ9+C8KEmQ==", + "key": "bqu/a+Dx8zt9ZRS8yoHFyg==", "data": "YmFyMTE=" } } @@ -629,32 +629,32 @@ "response": { "latestLogRoot": { "logRoot": { - "keyHint": "ckfQNPSfXIA=", - "logRoot": "AAEAAAAAAAAACyCiSiA2VZxcY+Q44AMA0RjUakml1LwXwA8zWSpJRb7UWRWvpOOWOHPoAAAAAAAAAAsAAA==", - "logRootSignature": "MEUCIQDfTUouJXsRSVCZgFUbGlq4MG5lS+rhFJnNw+nQnWAkMwIgfn/vz+Rk/tKkke8yXXkOgKP3gCiBLtzmSPJ2PfJh+OY=" + "keyHint": "Y3QJurExFpA=", + "logRoot": "AAEAAAAAAAAACyC5Z0R8Ej236U42mngvWb3+cdA0HhKEj6AkuMTfJMUmohWvqM2AoObQAAAAAAAAAAsAAA==", + "logRootSignature": "MEUCIQD8O+kDxjXHFNEtkLQkIRb24iEdto3Qe/rsrN81BboNFQIgQoZfo28S5xyWvMvmq2HuD5O7ZHP0oLBfITM1b2PoZHA=" } }, "mapRevisions": [ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgK2O7igqAGW4W6BbaIvper2pr0AMWLr3m1K+50y81nGUVr6Tiz538CAAAAAAAAAAEADASFgiBrZGuqZzp1xUQueuL9qyc6dcVGAESFgjBvdf6qpzp1xUQwb3X+qqc6dcVGAI=", - "signature": "MEQCIGDsXUD5g0qqP5+Ed4Q3mzyLELNjDaf8GRXVYeixYG4SAiBpRdF1d2AV10uPVsagzXy1kMEpbjw77Xcqkrz2DWGNQA==" + "mapRoot": "AAEgvskiTSQCBJdpunasD8k5OdpNRyz2EWcYSqbwAmktw9MVr6jMotBLcAAAAAAAAAAEABwSFgip3aCGyJnq1xUQ+Yu9j8qZ6tcVGAESAhgC", + "signature": "MEUCIQDS8MHHn1OFefpASF7s7yKu5ebt4p8FnnUv4HoAGOCCawIgClMmA37N2ZGqIdRVrGPaHxl4H9Q16STpcplgWdwqhGM=" }, "logInclusion": [ - "QYsN3H3njm9RSisxXyrNY6bdneLCTpZXJQyMiDnF+O8=", - "KGG1DP7g1ci2BI5/eUWi7+JBIYR0cvTLk7WF9/4VQkY=", - "GiNZP79laZj469F5ZmMAnoUgFaEGTOuldOBfj6z1QjA=", - "CSnuJPwEil33IlZ7Gy82yS4nScZPAb3HCbJKQfiRH3M=" + "H3iHh8IwPkaLFR2LkEmCExEj/9ugnsk5D39KbkEXbzI=", + "KDGZlKoHioXxD8aCtoc/PBuCcuO2bqqcVh2m394SCNE=", + "fIM8vK7FdNCcIudgq87V4KsM+ZerLv8Xyq6nUvZysT8=", + "19gCYUgFiHJeEOnGXuIeJ8sNnaEcAbX1ql+JWVQSoCo=" ] }, "mapLeavesByUserId": { "carol": { - "vrfProof": "TL9EMpoKCVMG0G2P7ZufRc2A4SpfjAFT0sgE9FxlY7++pb8HzBBOxM6YcYNHhyc9TjqXt9udCPh8v5VrMxgvogSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "14j1vtSLzLiSHQNmPWAmtmeL75OvM7J8KzYcCIFxZD+YKOD4AHQgqbxaGYkS3kep0k8tlONSz0OWccpDupOO0QSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { - "leafHash": "x5gtiJvuV3LSkgfFI269Y94MmcUbCquiUBubyNr3lmg=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgkotxG28uFmQRzmvl8QFxdTtkIsW17jvYOPDZ2AwmiQlCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiBhwlw5yD+rlgH7TaiVAKUjf+dZVohFu3+UPRPvS6Ux6AIhAJ72E2OFkY9xRVgsmvwKV/fbXDFR6aiy1zrJbAmB4CbB" + "leafHash": "M0G0YU8wkQ96x9ElI8HF/Fx0CbhSC2LkQO6cgXDOrlo=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgr66S9xllU7ql0I07gd19DGJv5GkTaG2eMKRC+RxitStCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAoTVKvWjdy7w9KtTIp2wDPpIjsQvtYGdM4CuS5hfPmbUCIAIZ5h2Ni3mHLD8aQqv/EglzHAJzDIKtDhWcmWMrnOeN" }, "inclusion": [ "", @@ -910,13 +910,13 @@ "", "", "", - "AxZAb3uzGsNlYs2cYxKOb9Si+FYfqdGckqwResqX67o=", - "SBXwS6OKU/rN9ihfHa3ohA/72DlO4fpyPRs5GIhCQ40=", + "9jMJXxrdQIM2pnbOMYTYkadkIzW7QyAd6cYWbB4M/3w=", + "vjmfgpct2sPL7E4+8S9DJQ3SsJi6VRZuha3yFS5iVJc=", "" ] }, "committed": { - "key": "UiYbDfRmiFXq5/kETawnOA==", + "key": "G1jC1xOh2V3r6zJ2mlxm3A==", "data": "YmFyMjE=" } } @@ -925,23 +925,23 @@ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgG8So7QorcDXmhfa1bVSoIBy7yXbAfZ1WmU1YnsJ0u3wVr6Ti72UZ4AAAAAAAAAAFADASFgi564v2rJzp1xUQueuL9qyc6dcVGAESFgjBvdf6qpzp1xUQqdq+9K6c6dcVGAI=", - "signature": "MEQCIQD4+EHp+xn/5vkNxygmdUAatTy8MT+Wrhs6xMaVlX5uDgIfQ93SamCj+06f22qp2xddmf3YP9Xl3EnfqSlAI0bCyw==" + "mapRoot": "AAEg9aYr9fUbcD8kubIYIFucHfTkD4oo/2uJ4szeYR1SGO0Vr6jMwNp68AAAAAAAAAAFABwSFgj5i72Pypnq1xUQmdjM/8uZ6tcVGAESAhgC", + "signature": "MEQCIElqhfkvon0nl5h4/8bTnEJdEm/7EE/sUJP6C3vcDvDqAiB7nbo9JzryxMnofmfj04MWCKHSe9UlbRR+ONYWFs4aRg==" }, "logInclusion": [ - "aDg4ETxWcZRCDOVOtr2210vohfF+/zcRJxCky4oxJLA=", - "KGG1DP7g1ci2BI5/eUWi7+JBIYR0cvTLk7WF9/4VQkY=", - "GiNZP79laZj469F5ZmMAnoUgFaEGTOuldOBfj6z1QjA=", - "CSnuJPwEil33IlZ7Gy82yS4nScZPAb3HCbJKQfiRH3M=" + "S6fyZyFfZJOioSwrnb/xIqjDxqnRJHP+ocEB1VBT19E=", + "KDGZlKoHioXxD8aCtoc/PBuCcuO2bqqcVh2m394SCNE=", + "fIM8vK7FdNCcIudgq87V4KsM+ZerLv8Xyq6nUvZysT8=", + "19gCYUgFiHJeEOnGXuIeJ8sNnaEcAbX1ql+JWVQSoCo=" ] }, "mapLeavesByUserId": { "carol": { - "vrfProof": "LpUQNXP41qAIzKAhJxBK0048BLQDSMSdWK8slKaRpPoOwYxEfbVhhUCI/9/xWJffAP4Y+3JaTCO2RcFdGtvaiwSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "CwITa8kVEYLJSwP9si2FqlrYU37l/TtFJIxvFav0y34iUvBCDbXKVLWqCGyCUgv0gAcneBXCfdpjvgEDnBecSASmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { - "leafHash": "JeROdmTDzSPHA/B5MoiA6suAmTWAaA4TRRpdoDPIAOg=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgk4mIm8CKS+rTS8Cp9h8YoGX/7hjBNqFp4fn5lMSww4ZCICnEGeyK9XaAK/CdCwJP5m3B3bvNjSvI87BULnesktihSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAtncnieIag38kvMBO0kSf9YikqPZRIWQvRJRkI5QrIG0CIEW8PVuPVXDj/Vwh6KHUAWGfzjY0mxkSI3b5IaycAm3Q" + "leafHash": "pyEQPyzO8mW9FQnNk1FYSG5UESZq/baj30s1h2uudC8=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgVHwy5kyjQAujnjBbfdBPoLgdY1ykHEI1f2WEXhLXIhlCIBrS/3b7EhhtnAQpk/tlHUnl6r5/Gafs6VwPUZiNsFCYSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiBUsEEVZtFLQMEZ+TvbP5kmZVrZmffDGa2Cw96YSgmYSwIhANRHi9+P3Ee2Qp1CozWf87nd8h3u/X9nKLTDUfd8OzIK" }, "inclusion": [ "", @@ -1197,13 +1197,13 @@ "", "", "", - "AxZAb3uzGsNlYs2cYxKOb9Si+FYfqdGckqwResqX67o=", - "SBXwS6OKU/rN9ihfHa3ohA/72DlO4fpyPRs5GIhCQ40=", + "9jMJXxrdQIM2pnbOMYTYkadkIzW7QyAd6cYWbB4M/3w=", + "vjmfgpct2sPL7E4+8S9DJQ3SsJi6VRZuha3yFS5iVJc=", "" ] }, "committed": { - "key": "ufztPUnB/bCnxYZ1AVkgSg==", + "key": "w3ksr+CR6Uy6zMdyIdQ6tQ==", "data": "YmFyMjI=" } } @@ -1212,23 +1212,23 @@ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgnjrz3DhNFBB4MusZ49JpSDyvlT8XnZ/qa73wvnLpSPMVr6TjDpBdSAAAAAAAAAAGADASFgi564v2rJzp1xUQueuL9qyc6dcVGAESFgip2r70rpzp1xUQuZPJ7bCc6dcVGAI=", - "signature": "MEUCIQCagmZpr8p+5MVp64ZG67hKY7C+HtrhNbzUoyqM632BaQIgKAKUcv6ty3+GUgNb/Q1fAnkeVxmIwSbv5MlsFp7Cj3s=" + "mapRoot": "AAEgnUGp6acNA92AiAEdgu1/Yljcbg4WSjYFO9r4+kAdmPkVr6jM36ewOAAAAAAAAAAGABwSFgiZ2Mz/y5nq1xUQmdmu9c2Z6tcVGAESAhgC", + "signature": "MEYCIQCFIt5UBTf/072/2G9E2A56ulE7hNx699Ot3LEoYPp9TwIhAJhvFjQoHPWIdCGnLEcM2j6kDk9fM27m0gQA+UiBG4li" }, "logInclusion": [ - "xOS3nKn1uT7vxhtoYZ2zqBY57N01oxUowtIH3kpkjY8=", - "Ny3F/J7PeGIlTLdTJvnoYzQAOojnmO3nz82k/pkIKV0=", - "GiNZP79laZj469F5ZmMAnoUgFaEGTOuldOBfj6z1QjA=", - "CSnuJPwEil33IlZ7Gy82yS4nScZPAb3HCbJKQfiRH3M=" + "VIRPV53kTxgS+G7aMjzf8znodRxVOTZ5o8r1NX0y0jo=", + "AhZ35RRm9cneTGOfppdxCmj6tGyZ7Sl958R6RyB0rc0=", + "fIM8vK7FdNCcIudgq87V4KsM+ZerLv8Xyq6nUvZysT8=", + "19gCYUgFiHJeEOnGXuIeJ8sNnaEcAbX1ql+JWVQSoCo=" ] }, "mapLeavesByUserId": { "carol": { - "vrfProof": "aIhBuQAEXRcZvBogy7t/9o++2z31DtNMju74jTNCorAcooW3334q+NhSZZYIw249irjPw6BIiG1Bo9KtcgjokwSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "I75hOKzf+ClocGbMFR58YHfLJbs4s1DfgS5waD/MN0MP2cJs4NBDzjlOiiwfjrGtpAd4IzgbvqomnXWAv+baFASmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { - "leafHash": "JeROdmTDzSPHA/B5MoiA6suAmTWAaA4TRRpdoDPIAOg=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgk4mIm8CKS+rTS8Cp9h8YoGX/7hjBNqFp4fn5lMSww4ZCICnEGeyK9XaAK/CdCwJP5m3B3bvNjSvI87BULnesktihSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAtncnieIag38kvMBO0kSf9YikqPZRIWQvRJRkI5QrIG0CIEW8PVuPVXDj/Vwh6KHUAWGfzjY0mxkSI3b5IaycAm3Q" + "leafHash": "pyEQPyzO8mW9FQnNk1FYSG5UESZq/baj30s1h2uudC8=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgVHwy5kyjQAujnjBbfdBPoLgdY1ykHEI1f2WEXhLXIhlCIBrS/3b7EhhtnAQpk/tlHUnl6r5/Gafs6VwPUZiNsFCYSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiBUsEEVZtFLQMEZ+TvbP5kmZVrZmffDGa2Cw96YSgmYSwIhANRHi9+P3Ee2Qp1CozWf87nd8h3u/X9nKLTDUfd8OzIK" }, "inclusion": [ "", @@ -1484,13 +1484,13 @@ "", "", "", - "AxZAb3uzGsNlYs2cYxKOb9Si+FYfqdGckqwResqX67o=", - "frzoxba9zTUoYMyOTVm5KYPRw0keLQbhvG/a5v/Od/o=", + "9jMJXxrdQIM2pnbOMYTYkadkIzW7QyAd6cYWbB4M/3w=", + "Ufb6dTrjubt4EQWE0C91a83Yh1ijgsvBhjvczGMEOg0=", "" ] }, "committed": { - "key": "ufztPUnB/bCnxYZ1AVkgSg==", + "key": "w3ksr+CR6Uy6zMdyIdQ6tQ==", "data": "YmFyMjI=" } } @@ -1499,23 +1499,23 @@ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgViO8t+kq5O1zDWNyXgqSR2NKc8+QodRw+JcistwbGfgVr6TjLmoBUAAAAAAAAAAHADASFgi564v2rJzp1xUQueuL9qyc6dcVGAESFgi5k8ntsJzp1xUQqaWa7LKc6dcVGAI=", - "signature": "MEQCIAFlij0UsUMdBIkfZfBvMXpjfWtWV6S3P1Lurq2ZNw6zAiAzrv8yirpJ8Iizsd3hcnAfbYYnRmfNr2VL2Z5GnhLO+A==" + "mapRoot": "AAEg98DFdpFzqhRhdKmZvr5uP0MfzW8oF54QXPt2JoLWCREVr6jNAn7koAAAAAAAAAAHACYSFgiZ2a71zZnq1xUQmdmu9c2Z6tcVGAESDBCpwsyM0Jnq1xUYAg==", + "signature": "MEYCIQCqN0DCf7XWqk0U7gKrht/6jjcVFZH+BmPLsmLgjC7JRwIhAI8LZL2xd29IdN+FX/oEn72XWJh2dWdC2dgbgRITi1Hc" }, "logInclusion": [ - "dRg3M2aiHDT5cpLcJaQmkkINVN4JTH6Y8AlmnQRkFvs=", - "Ny3F/J7PeGIlTLdTJvnoYzQAOojnmO3nz82k/pkIKV0=", - "GiNZP79laZj469F5ZmMAnoUgFaEGTOuldOBfj6z1QjA=", - "CSnuJPwEil33IlZ7Gy82yS4nScZPAb3HCbJKQfiRH3M=" + "269ZZbOtb6KDil4j5WG/XnmJxIRll3ITEj/xwvCCqi8=", + "AhZ35RRm9cneTGOfppdxCmj6tGyZ7Sl958R6RyB0rc0=", + "fIM8vK7FdNCcIudgq87V4KsM+ZerLv8Xyq6nUvZysT8=", + "19gCYUgFiHJeEOnGXuIeJ8sNnaEcAbX1ql+JWVQSoCo=" ] }, "mapLeavesByUserId": { "carol": { - "vrfProof": "OuM+RcgujbBz72+2xp5qiby2yHVeYV9H7dHTz/cy6e+GPr6Aj/txlpjtDYXJizz+8koHAEu1VebI1GiYuQDFoQSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "J3pANTPJn0Mzqf0jsbpZLl1LzrJNOOrmc4oRsKG4+29cY0T2e77tM6CccGiVchpEswIJy9yTP3jCpzPlk/QS7wSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { - "leafHash": "JeROdmTDzSPHA/B5MoiA6suAmTWAaA4TRRpdoDPIAOg=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgk4mIm8CKS+rTS8Cp9h8YoGX/7hjBNqFp4fn5lMSww4ZCICnEGeyK9XaAK/CdCwJP5m3B3bvNjSvI87BULnesktihSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAtncnieIag38kvMBO0kSf9YikqPZRIWQvRJRkI5QrIG0CIEW8PVuPVXDj/Vwh6KHUAWGfzjY0mxkSI3b5IaycAm3Q" + "leafHash": "pyEQPyzO8mW9FQnNk1FYSG5UESZq/baj30s1h2uudC8=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgVHwy5kyjQAujnjBbfdBPoLgdY1ykHEI1f2WEXhLXIhlCIBrS/3b7EhhtnAQpk/tlHUnl6r5/Gafs6VwPUZiNsFCYSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiBUsEEVZtFLQMEZ+TvbP5kmZVrZmffDGa2Cw96YSgmYSwIhANRHi9+P3Ee2Qp1CozWf87nd8h3u/X9nKLTDUfd8OzIK" }, "inclusion": [ "", @@ -1771,13 +1771,13 @@ "", "", "", - "yrFFjlAi8XFYQljwEXxQw5AwLVW+F9qcIF35uYD93O4=", - "frzoxba9zTUoYMyOTVm5KYPRw0keLQbhvG/a5v/Od/o=", + "gw7oE4UyJJLThpC06/udree1BCaSUmGtxeyfCsOnjz8=", + "Ufb6dTrjubt4EQWE0C91a83Yh1ijgsvBhjvczGMEOg0=", "" ] }, "committed": { - "key": "ufztPUnB/bCnxYZ1AVkgSg==", + "key": "w3ksr+CR6Uy6zMdyIdQ6tQ==", "data": "YmFyMjI=" } } @@ -1803,32 +1803,32 @@ "response": { "latestLogRoot": { "logRoot": { - "keyHint": "ckfQNPSfXIA=", - "logRoot": "AAEAAAAAAAAACyCiSiA2VZxcY+Q44AMA0RjUakml1LwXwA8zWSpJRb7UWRWvpOOWOHPoAAAAAAAAAAsAAA==", - "logRootSignature": "MEUCIQDfTUouJXsRSVCZgFUbGlq4MG5lS+rhFJnNw+nQnWAkMwIgfn/vz+Rk/tKkke8yXXkOgKP3gCiBLtzmSPJ2PfJh+OY=" + "keyHint": "Y3QJurExFpA=", + "logRoot": "AAEAAAAAAAAACyC5Z0R8Ej236U42mngvWb3+cdA0HhKEj6AkuMTfJMUmohWvqM2AoObQAAAAAAAAAAsAAA==", + "logRootSignature": "MEUCIQD8O+kDxjXHFNEtkLQkIRb24iEdto3Qe/rsrN81BboNFQIgQoZfo28S5xyWvMvmq2HuD5O7ZHP0oLBfITM1b2PoZHA=" } }, "mapRevisions": [ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgViO8t+kq5O1zDWNyXgqSR2NKc8+QodRw+JcistwbGfgVr6TjLmoBUAAAAAAAAAAHADASFgi564v2rJzp1xUQueuL9qyc6dcVGAESFgi5k8ntsJzp1xUQqaWa7LKc6dcVGAI=", - "signature": "MEQCIAFlij0UsUMdBIkfZfBvMXpjfWtWV6S3P1Lurq2ZNw6zAiAzrv8yirpJ8Iizsd3hcnAfbYYnRmfNr2VL2Z5GnhLO+A==" + "mapRoot": "AAEg98DFdpFzqhRhdKmZvr5uP0MfzW8oF54QXPt2JoLWCREVr6jNAn7koAAAAAAAAAAHACYSFgiZ2a71zZnq1xUQmdmu9c2Z6tcVGAESDBCpwsyM0Jnq1xUYAg==", + "signature": "MEYCIQCqN0DCf7XWqk0U7gKrht/6jjcVFZH+BmPLsmLgjC7JRwIhAI8LZL2xd29IdN+FX/oEn72XWJh2dWdC2dgbgRITi1Hc" }, "logInclusion": [ - "dRg3M2aiHDT5cpLcJaQmkkINVN4JTH6Y8AlmnQRkFvs=", - "Ny3F/J7PeGIlTLdTJvnoYzQAOojnmO3nz82k/pkIKV0=", - "GiNZP79laZj469F5ZmMAnoUgFaEGTOuldOBfj6z1QjA=", - "CSnuJPwEil33IlZ7Gy82yS4nScZPAb3HCbJKQfiRH3M=" + "269ZZbOtb6KDil4j5WG/XnmJxIRll3ITEj/xwvCCqi8=", + "AhZ35RRm9cneTGOfppdxCmj6tGyZ7Sl958R6RyB0rc0=", + "fIM8vK7FdNCcIudgq87V4KsM+ZerLv8Xyq6nUvZysT8=", + "19gCYUgFiHJeEOnGXuIeJ8sNnaEcAbX1ql+JWVQSoCo=" ] }, "mapLeavesByUserId": { "alice": { - "vrfProof": "yvrzJtNaC4FyjtaiumBYa6TE8isISAzavDc5vWjO3YUCkSDyGS8TnkY+KX0L1wVjIem6Yk5ap0ETiFrmGfA4VwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "jZZXQypyh3EbB1PQl8bJraSlh3OkgQMhO8KGs7xa/3qF4d9OJC7rlos18O749eDcpZbkLdu/tjB3WrzLyIuKXQRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { - "leafHash": "dbQgR531ILLG5DZDiBdOCDgnUcczJrM+2MoaerA5GX0=", - "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgz1ViuN32xfGciKh7UOUW/OdTou0Ik+02ibPbyJrVeRRCIHbJ+0+I/oeOcfQ+tWzWg/+SuL55Vd58suiwkFq7Ci5XSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAyj6yNJcS8A9OYBYScHpIvLRCh++YTRAehgZY8vn4QpACIHIQEfCPjabHeZ3agfSRh01CMtW6rml+On1dCa5mypwC" + "leafHash": "CWHh/WxWO7yC6JEEC4HIVJ3mypGXarZXeTaV86LV8Qs=", + "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgLi12F5xJYnS+wc/SBRiqDOjmS5D3u5Mp1tAqOk/R8zZCICopC/kKCgKnjPJtoV/nWCHXAF0B2SLK9D5AOHMaeyZHSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAjenNPxqGo1GigqL3F+IfPU0w9N+RuybPF4lbzrp8BckCIC2ZlNBqI3bPTFnKaq5eiMWwuZNoM/0WLauXh3+lq4XR" }, "inclusion": [ "", @@ -2084,22 +2084,22 @@ "", "", "", - "h48Hd325/RcpAXzS385pkXqnKJ6dZVvpSwTuosBS1Xg=", - "frzoxba9zTUoYMyOTVm5KYPRw0keLQbhvG/a5v/Od/o=", + "18Pv3OBds0lrkg+DalxandkWa3mpd6/FXzgS1KXRfEE=", + "Ufb6dTrjubt4EQWE0C91a83Yh1ijgsvBhjvczGMEOg0=", "" ] }, "committed": { - "key": "Aj7SyDFzBuq2MzLfG7d4XA==", + "key": "RXR2D20jyWa9Kd4bXH7NIw==", "data": "YmFyMw==" } }, "bob": { - "vrfProof": "muTR+u+J90exmgRFt/2O1zBUEMy+yageqsCUPI2jRPYJuGgUrQfWbhdpA2QEwqiKQsdCXdNxYAwcZfDabKA89gSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "eRBFn6yu7SQkyDLVMWPqEIpLaOsJq8g8bxg17u/MCkm/7tMkM5SzdpY5li3kdeVFMMtNNKBM4BQR+df3kp3cUASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { - "leafHash": "3KnfwiDNMaBT/k82sN0ecC/FrxFLFp5uWdl6J+DCAXM=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgWDTYB8OthL2EMcslaVdqk+8k5hT8XL2g33PlvQWxPZNCIA0PGJXKWbPSAAW1UQOUEhZpONOW8oROxOVH+kJAGxsASpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAkA17ful+4XGOUL+pB3IFaqroxcRXXZD18YG3KkEsU/kCIQDwobDDCDDe8Am5lmNTFscDVT0rumgjQ5O7Mf6H/Oj3Mw==" + "leafHash": "GSTfhCqJahzBl/fQ/lJp93UJ098qE0CTeTZ2WsyOzcQ=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgPEtbLU7133vhn9M9m6ICFR57rLWb37cv8H13pIxTZ1ZCIP0T5Qw+/i6I69+BQoVqGci9o5E0lbYIVsTE45f8xOtmSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiBeS3dwCBvtWVW0T3ESRppVvi1Kf7HlItsj9BhYWK0ZugIgCe/LqI93IhajHlPKMXArvC1SmUSFl0+6wZLKws7E8Qg=" }, "inclusion": [ "", @@ -2356,21 +2356,21 @@ "", "", "", - "pE3Ij8AaMZJGy+lEOK5Ffmz1ckYcOhQ7RcbHQu6Oqd0=", + "K4Q4pIuVzPKVmRmHk1PhQKuNyDscBGrlhhRyTlkGQXk=", "" ] }, "committed": { - "key": "/DT2uEtetKcFrDEhD72eBA==", + "key": "mEh41k1KI+ejbIOW88C9CA==", "data": "YmFyMTI=" } }, "carol": { - "vrfProof": "SPTURMql7Kk2nR0EHTkDpJMNnRgMS88Xbl5q42XOcYU2GW5XRBgJo12ld7RNw4o1rJ/K2ODi+Hn5SP9sHN6NYASmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "Un2JJgv0txWap5EcjsO/zFYnM8rBOKwok9H4lXkRKOIBI39Yc3wgKWGlflSJ62gihcZLZp6zhydNdHyGgmLncgSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { - "leafHash": "JeROdmTDzSPHA/B5MoiA6suAmTWAaA4TRRpdoDPIAOg=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgk4mIm8CKS+rTS8Cp9h8YoGX/7hjBNqFp4fn5lMSww4ZCICnEGeyK9XaAK/CdCwJP5m3B3bvNjSvI87BULnesktihSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAtncnieIag38kvMBO0kSf9YikqPZRIWQvRJRkI5QrIG0CIEW8PVuPVXDj/Vwh6KHUAWGfzjY0mxkSI3b5IaycAm3Q" + "leafHash": "pyEQPyzO8mW9FQnNk1FYSG5UESZq/baj30s1h2uudC8=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgVHwy5kyjQAujnjBbfdBPoLgdY1ykHEI1f2WEXhLXIhlCIBrS/3b7EhhtnAQpk/tlHUnl6r5/Gafs6VwPUZiNsFCYSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiBUsEEVZtFLQMEZ+TvbP5kmZVrZmffDGa2Cw96YSgmYSwIhANRHi9+P3Ee2Qp1CozWf87nd8h3u/X9nKLTDUfd8OzIK" }, "inclusion": [ "", @@ -2626,13 +2626,13 @@ "", "", "", - "yrFFjlAi8XFYQljwEXxQw5AwLVW+F9qcIF35uYD93O4=", - "frzoxba9zTUoYMyOTVm5KYPRw0keLQbhvG/a5v/Od/o=", + "gw7oE4UyJJLThpC06/udree1BCaSUmGtxeyfCsOnjz8=", + "Ufb6dTrjubt4EQWE0C91a83Yh1ijgsvBhjvczGMEOg0=", "" ] }, "committed": { - "key": "ufztPUnB/bCnxYZ1AVkgSg==", + "key": "w3ksr+CR6Uy6zMdyIdQ6tQ==", "data": "YmFyMjI=" } } @@ -2641,22 +2641,22 @@ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgu4k9F4ZOBkHOBxC+UtjEjRr7PTYhIuJYqutQtTi7TzkVr6TjUeqFeAAAAAAAAAAIADASFgi564v2rJzp1xUQueuL9qyc6dcVGAESFgippZrsspzp1xUQ6b/Ah7Wc6dcVGAI=", - "signature": "MEUCIQDrqjANDwuIgdG9zKmgE2YTG519NWSKSSN9VsC9lGfG7wIgPH0hO0vWheWJS6XgHsQ0DnYflUcflGtnxceVI6xs5X4=" + "mapRoot": "AAEgyFY5xbYY2TSwxaKcb7k/t6sKdVA+jRPSDRhS3IeKmqAVr6jNDSn0+AAAAAAAAAAIADASFgiZ2a71zZnq1xUQydLM4dCZ6tcVGAESFgipwsyM0Jnq1xUQqcLMjNCZ6tcVGAI=", + "signature": "MEUCIQDvgWeIx1HvJ70Y8JrOth9/SH3PQsf7lL5AmOh+sRd9bwIgIe3NUALkfYb7QmaCYloC8aUEOsGxXlH++yMD35ebt28=" }, "logInclusion": [ - "1w4eUeympikju23PQiffV47gnGHPhSMX70ejybjkJcU=", - "xC2uIDcK4EdEQHHDVaLhiV6SGMGK9cDG9hlSoamwomM=", - "chG6rYUb0M4PWDKlXCaeUf30RHP7CaN8PCfVrHeAa+k=" + "Nw5RAbCQnHz+gf+PFR6AbmSKXSS5/r5FVphOrk98sMs=", + "gmmYPuQz6Hsm7LaN2gnf6u8edMC8qNw74VfSQTUR7Qo=", + "fOTiHTs/fpwQCX/S0FV3FFBLGDcBbC8N2uFuQ5Rya0M=" ] }, "mapLeavesByUserId": { "alice": { - "vrfProof": "7jIxzQCNNO4FDVFu9W4qSc8pzrPmg/EFbx1VQVEqE6TIosCIgn0BYpq061Xh89YhnUWaXLLwEHjz+6z50WNgRwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "mKf7mjkP40wdJTY41RPH18pO9hQm4anL/2yiKznD5uirsETI9UoK1GC23FMwQdaPWpj8CrM7qfqCfigbBj8srgRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { - "leafHash": "dbQgR531ILLG5DZDiBdOCDgnUcczJrM+2MoaerA5GX0=", - "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgz1ViuN32xfGciKh7UOUW/OdTou0Ik+02ibPbyJrVeRRCIHbJ+0+I/oeOcfQ+tWzWg/+SuL55Vd58suiwkFq7Ci5XSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAyj6yNJcS8A9OYBYScHpIvLRCh++YTRAehgZY8vn4QpACIHIQEfCPjabHeZ3agfSRh01CMtW6rml+On1dCa5mypwC" + "leafHash": "CWHh/WxWO7yC6JEEC4HIVJ3mypGXarZXeTaV86LV8Qs=", + "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgLi12F5xJYnS+wc/SBRiqDOjmS5D3u5Mp1tAqOk/R8zZCICopC/kKCgKnjPJtoV/nWCHXAF0B2SLK9D5AOHMaeyZHSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAjenNPxqGo1GigqL3F+IfPU0w9N+RuybPF4lbzrp8BckCIC2ZlNBqI3bPTFnKaq5eiMWwuZNoM/0WLauXh3+lq4XR" }, "inclusion": [ "", @@ -2912,22 +2912,22 @@ "", "", "", - "h48Hd325/RcpAXzS385pkXqnKJ6dZVvpSwTuosBS1Xg=", - "PD4+fqV34Vx6j9me89nrVnPaQrrqRk33R4CHea+PNZw=", + "18Pv3OBds0lrkg+DalxandkWa3mpd6/FXzgS1KXRfEE=", + "CQk/CayXNGE/Cxw6hNy3xWC1plmPcP1UDW3bUiN8x24=", "" ] }, "committed": { - "key": "Aj7SyDFzBuq2MzLfG7d4XA==", + "key": "RXR2D20jyWa9Kd4bXH7NIw==", "data": "YmFyMw==" } }, "bob": { - "vrfProof": "CTanlxFoa8NjNyRZTTiAb/ivg25o54+iyzi8eivEBU+nqwUOEywA0NYO99VCCmpcmD/m3rCbFZ8gfj90hAkhDASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "fBs+hMbHZTMe8cyKl4SXdkukwnVfGn8GmkMlhfH3H5w5U9yAQtm5204nk7MnRGvNjUSSvQOBW+DgsmOgdfTCywSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { - "leafHash": "12gqnsMMKZhJLyVTh5tlPB5djKzxOlspv/dsB3uJTHw=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgnyVhhL0nFayLr1mDDdNSiATEQxj6US46j3RAP7+bA8RCIPY0A0+JeT6ssOT70GNg19Gh//Axz0nFK6fV5Hzfu6cSSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiA4WcVlJHlWQCg8dgiulsLiVgeWHWoT5meSHR/vOPjGvQIgL0jrxhfsWUZlyYtZ2ZwsNltWIE7h2fNe65GjavMCIL8=" + "leafHash": "LJB9n/vSrBEKJr2c22qFcMBtCkQvD+5rtpwnaIqVuj8=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgXMZ3mAC8SGBbxoTcuXfW0MgGoWOLeAR98Li1zgTG3nRCIBQAeB5CZzNAxpJWso36BgBj35CSAhbsqBOcEHeN2youSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAoxL5Mg7lmyKKrVdp1KmzmzIDCyjvXyzSX/sKIF94qAECIQDLI6TQXnrRkVmdrngwJNvMqXy51BRMsF4eYVjzdNzDfA==" }, "inclusion": [ "", @@ -3184,21 +3184,21 @@ "", "", "", - "pE3Ij8AaMZJGy+lEOK5Ffmz1ckYcOhQ7RcbHQu6Oqd0=", + "K4Q4pIuVzPKVmRmHk1PhQKuNyDscBGrlhhRyTlkGQXk=", "" ] }, "committed": { - "key": "Lt9VIi0YIRLNhRocSz1Jrg==", + "key": "OTNXp7uDQsHx5fRLMHrs3g==", "data": "YmFyMTM=" } }, "carol": { - "vrfProof": "Za8p2ObpWMcsI0tEV38phkqAmdjn+X24Yi+5K21MqEl4j6i2glRcHLIme9LDJFrKfQZCZBRIKsmCVK+pqS4VZwSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "GfexYxLkem6k03aZQ1i/75f7VCCRveQzGsIJk3ACBEyLlv6TCLNebXl4WO0bcvXRxycX2JsixMUDFhKOE0dRvASmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { - "leafHash": "JeROdmTDzSPHA/B5MoiA6suAmTWAaA4TRRpdoDPIAOg=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgk4mIm8CKS+rTS8Cp9h8YoGX/7hjBNqFp4fn5lMSww4ZCICnEGeyK9XaAK/CdCwJP5m3B3bvNjSvI87BULnesktihSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAtncnieIag38kvMBO0kSf9YikqPZRIWQvRJRkI5QrIG0CIEW8PVuPVXDj/Vwh6KHUAWGfzjY0mxkSI3b5IaycAm3Q" + "leafHash": "pyEQPyzO8mW9FQnNk1FYSG5UESZq/baj30s1h2uudC8=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgVHwy5kyjQAujnjBbfdBPoLgdY1ykHEI1f2WEXhLXIhlCIBrS/3b7EhhtnAQpk/tlHUnl6r5/Gafs6VwPUZiNsFCYSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiBUsEEVZtFLQMEZ+TvbP5kmZVrZmffDGa2Cw96YSgmYSwIhANRHi9+P3Ee2Qp1CozWf87nd8h3u/X9nKLTDUfd8OzIK" }, "inclusion": [ "", @@ -3454,13 +3454,13 @@ "", "", "", - "yrFFjlAi8XFYQljwEXxQw5AwLVW+F9qcIF35uYD93O4=", - "PD4+fqV34Vx6j9me89nrVnPaQrrqRk33R4CHea+PNZw=", + "gw7oE4UyJJLThpC06/udree1BCaSUmGtxeyfCsOnjz8=", + "CQk/CayXNGE/Cxw6hNy3xWC1plmPcP1UDW3bUiN8x24=", "" ] }, "committed": { - "key": "ufztPUnB/bCnxYZ1AVkgSg==", + "key": "w3ksr+CR6Uy6zMdyIdQ6tQ==", "data": "YmFyMjI=" } } @@ -3469,22 +3469,22 @@ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgHGq+UXtpNIQzkzhhh1lQ631ZK/iglo7xT1L0S5i4WnUVr6TjYSUYoAAAAAAAAAAJADASFgi564v2rJzp1xUQueuL9qyc6dcVGAESFgjpv8CHtZzp1xUQmfKzgbac6dcVGAI=", - "signature": "MEYCIQCJAEaCEf/tV9OmZuV8Sf9FDw+m1mVVHQSx4uxNtXXE2AIhAIph7WUWm8nd3sLonafzOk7NDdYHdFusW95JJIbX/oSN" + "mapRoot": "AAEgZEm4TE3wImqQqk7+IPOMK37yXtcN7m9FGhnWs7Nn4FcVr6jNLXf5+AAAAAAAAAAJADASFgjJ0szh0Jnq1xUQydLM4dCZ6tcVGAESFgipwsyM0Jnq1xUQwa6w5NKZ6tcVGAI=", + "signature": "MEUCIAyd7IedkRgbPDDDVYl5eNCfUiijpyFqAWbxvbW1PH7fAiEA/Z9ZUYuJTYEoB5VKKdIW/iLkNTC4DGc9ga61BJ+s8Iw=" }, "logInclusion": [ - "KZqBLx7cNNzTlRK1Qnwl0e8Pf6ncI89gr3awJifngC4=", - "xC2uIDcK4EdEQHHDVaLhiV6SGMGK9cDG9hlSoamwomM=", - "chG6rYUb0M4PWDKlXCaeUf30RHP7CaN8PCfVrHeAa+k=" + "N7gTBVGfUtzS6W+XcxDsQ7qKj7bttvZt6HwFpyQ+Wa4=", + "gmmYPuQz6Hsm7LaN2gnf6u8edMC8qNw74VfSQTUR7Qo=", + "fOTiHTs/fpwQCX/S0FV3FFBLGDcBbC8N2uFuQ5Rya0M=" ] }, "mapLeavesByUserId": { "alice": { - "vrfProof": "Q7+m+/JO+qNsBnPmzO4MDHyR5xU0rpL4IvGW8otuyko1N2++HhZXU5smpchXcB2tL39LnSKLgPjfFHAmodbPdgRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "Xkqrw09++aCnjPjtcSb+bBE3xQcQ209EzyLkRi2DKAmW53M5gCtjqWd1qYo9PzvQ+ipDP2U3ckBGtC7WO1hapgRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { - "leafHash": "dbQgR531ILLG5DZDiBdOCDgnUcczJrM+2MoaerA5GX0=", - "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgz1ViuN32xfGciKh7UOUW/OdTou0Ik+02ibPbyJrVeRRCIHbJ+0+I/oeOcfQ+tWzWg/+SuL55Vd58suiwkFq7Ci5XSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAyj6yNJcS8A9OYBYScHpIvLRCh++YTRAehgZY8vn4QpACIHIQEfCPjabHeZ3agfSRh01CMtW6rml+On1dCa5mypwC" + "leafHash": "CWHh/WxWO7yC6JEEC4HIVJ3mypGXarZXeTaV86LV8Qs=", + "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgLi12F5xJYnS+wc/SBRiqDOjmS5D3u5Mp1tAqOk/R8zZCICopC/kKCgKnjPJtoV/nWCHXAF0B2SLK9D5AOHMaeyZHSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAjenNPxqGo1GigqL3F+IfPU0w9N+RuybPF4lbzrp8BckCIC2ZlNBqI3bPTFnKaq5eiMWwuZNoM/0WLauXh3+lq4XR" }, "inclusion": [ "", @@ -3740,22 +3740,22 @@ "", "", "", - "TKX2aSqGCbfoHVa8oFm4IEIw5QMqak6k/+qolUSxcZQ=", - "PD4+fqV34Vx6j9me89nrVnPaQrrqRk33R4CHea+PNZw=", + "aDcB5azUaaFrQIoGSmUAJ+SgRqSy5LJA/nR9igOjctw=", + "CQk/CayXNGE/Cxw6hNy3xWC1plmPcP1UDW3bUiN8x24=", "" ] }, "committed": { - "key": "Aj7SyDFzBuq2MzLfG7d4XA==", + "key": "RXR2D20jyWa9Kd4bXH7NIw==", "data": "YmFyMw==" } }, "bob": { - "vrfProof": "Wzcst1KYkY49b9uHyv93s/PAIrIKSsrLMpBiq5gmpUU2zKkdGDTOrOVDvXalD6FoledqIKQjhbZlk0YEgG4imwSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "AQZ0W5IcdyZoDLhzqNhvmFf1RDmA+vCdQmxu9Jzo5Yo7LupdEFL/shFTYaDMmyYMOEYffm5mtdws5g2swWxW6gSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { - "leafHash": "12gqnsMMKZhJLyVTh5tlPB5djKzxOlspv/dsB3uJTHw=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgnyVhhL0nFayLr1mDDdNSiATEQxj6US46j3RAP7+bA8RCIPY0A0+JeT6ssOT70GNg19Gh//Axz0nFK6fV5Hzfu6cSSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiA4WcVlJHlWQCg8dgiulsLiVgeWHWoT5meSHR/vOPjGvQIgL0jrxhfsWUZlyYtZ2ZwsNltWIE7h2fNe65GjavMCIL8=" + "leafHash": "LJB9n/vSrBEKJr2c22qFcMBtCkQvD+5rtpwnaIqVuj8=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgXMZ3mAC8SGBbxoTcuXfW0MgGoWOLeAR98Li1zgTG3nRCIBQAeB5CZzNAxpJWso36BgBj35CSAhbsqBOcEHeN2youSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAoxL5Mg7lmyKKrVdp1KmzmzIDCyjvXyzSX/sKIF94qAECIQDLI6TQXnrRkVmdrngwJNvMqXy51BRMsF4eYVjzdNzDfA==" }, "inclusion": [ "", @@ -4012,21 +4012,21 @@ "", "", "", - "JMGEJxcTrALP+c9I0hQJJs6PBx1InnPfnQMOFFJi9qw=", + "43PuvVmZFzkcVEKfwZYRgMt+WuQxxsAfGzbRY5mq0c4=", "" ] }, "committed": { - "key": "Lt9VIi0YIRLNhRocSz1Jrg==", + "key": "OTNXp7uDQsHx5fRLMHrs3g==", "data": "YmFyMTM=" } }, "carol": { - "vrfProof": "tmp+It4qGpebrWBTbBcBTRs3nz9/GrH8wcdpWasZFu14aNMr5j5kCSPs0PwwxLSgrMAKKiACaLtKb/U7mp0CkwSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "sC0+yhNP2iVujRf2qplPFwEOcUwVumNdqY3ZHpnALU/+SB6pRuO6AAJ4xJZpNpWPhJIDTVftp985RxoTYB9XyASmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { - "leafHash": "9RxCz+3bf9RjamFu9sOGvSZRpuKKpLHmLzVcY6u7t7Y=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgFtnCraB4q2O/ILOvCZGSI3l5d83mpVJ5Pvif4VdTItBCIH+3wV5abpn5hDup3V8wvS4DCFJc6l44e5FIEI0KX7P9SpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiAS2fEEHIvVXV6rSAGrbz20mHhCQruoKePBYH0w/lb6gAIgK5wil1FK/bwSReArsLjBAZVEY15kYuqclA342juoq+c=" + "leafHash": "Avshcj7ULBqV09Y7rCn2cUWlMN9OUgf0YCJyK6MTQdo=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgwkKS6ZSEG8ao8xUxsZH0sEWlP59kLFpU65oiCl5VBjRCIHU0X2mNzU2lC6piS5htUbEWC/aS+YrIKOBq9daTCrR3SpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAqNvSDBtHPlAc2naJ30Pe4K9PAXcnmgSHTi6Jj1uYP6kCIGOwqGWzyeo51M+BKXI6MI+zKo7u04UXpgveHpX20l0x" }, "inclusion": [ "", @@ -4282,13 +4282,13 @@ "", "", "", - "yrFFjlAi8XFYQljwEXxQw5AwLVW+F9qcIF35uYD93O4=", - "PD4+fqV34Vx6j9me89nrVnPaQrrqRk33R4CHea+PNZw=", + "gw7oE4UyJJLThpC06/udree1BCaSUmGtxeyfCsOnjz8=", + "CQk/CayXNGE/Cxw6hNy3xWC1plmPcP1UDW3bUiN8x24=", "" ] }, "committed": { - "key": "Z+yqtA5mAdCZX2/bwHDj/g==", + "key": "w86CYu8sB5beeBzMd18NJA==", "data": "YmFyMjM=" } } @@ -4297,21 +4297,21 @@ { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgRb6FiAinXFvV3PClnNieoCZNx/wZf4yE0w0PTN0Ikn0Vr6Tje++9IAAAAAAAAAAKADASFgi564v2rJzp1xUQiYjS2Lec6dcVGAESFgiZ8rOBtpzp1xUQmfKzgbac6dcVGAI=", - "signature": "MEUCIDZ8yopeHnd7b03aCRwrKy4jT1ne/FTq0bBEKpepVuvPAiEAt5gRTARcyVfid1svCqpA/y8rtFoINBcvIOShr9/yA3M=" + "mapRoot": "AAEgMtkp85eJbF9BEZmZmo5ZYTAB+HvmA2htushv2knbC/sVr6jNak9ySAAAAAAAAAAKADASFgjJ0szh0Jnq1xUQ0c3AytaZ6tcVGAESFgjBrrDk0pnq1xUQwa6w5NKZ6tcVGAI=", + "signature": "MEQCIFeh6tXz6VHvW2qTppofcaS33wltV83yh54X1aQoDA2bAiBJbUfYjk3JbDioS21a52kfk/0F4vMa/1Pis3pwVKCLNw==" }, "logInclusion": [ - "01LOIruj5w2Qujr4AHHDHHDPg9rnpuG1boNyTu8OzuI=", - "chG6rYUb0M4PWDKlXCaeUf30RHP7CaN8PCfVrHeAa+k=" + "CejQKE0jo8Q0iqgFxYUf2OgrDrFeETD2eFtz5JGVeYc=", + "fOTiHTs/fpwQCX/S0FV3FFBLGDcBbC8N2uFuQ5Rya0M=" ] }, "mapLeavesByUserId": { "alice": { - "vrfProof": "YwlEkOVbePuumo4n91ulOlh7qdN8cDKJQr0hjFZYIFp0L+jU4lY0DsXwM+AvPJmEaAY/6C5er8+EEe7mus+zwARTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "qQQqRIWFnLfH02Q2wxArbbdXo3/z7KR6anKu92DaHITY6b4709mzb34ayRlWxI2fNPsZ0QtYkAFCDCHN6dPH4ARTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { - "leafHash": "dbQgR531ILLG5DZDiBdOCDgnUcczJrM+2MoaerA5GX0=", - "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgz1ViuN32xfGciKh7UOUW/OdTou0Ik+02ibPbyJrVeRRCIHbJ+0+I/oeOcfQ+tWzWg/+SuL55Vd58suiwkFq7Ci5XSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAyj6yNJcS8A9OYBYScHpIvLRCh++YTRAehgZY8vn4QpACIHIQEfCPjabHeZ3agfSRh01CMtW6rml+On1dCa5mypwC" + "leafHash": "CWHh/WxWO7yC6JEEC4HIVJ3mypGXarZXeTaV86LV8Qs=", + "leafValue": "Cv4BGiAD38H8cXQM/qlqnkJKnz8mjTkWGgZYQJ+xMCdGVV3O8zIgLi12F5xJYnS+wc/SBRiqDOjmS5D3u5Mp1tAqOk/R8zZCICopC/kKCgKnjPJtoV/nWCHXAF0B2SLK9D5AOHMaeyZHSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEAjenNPxqGo1GigqL3F+IfPU0w9N+RuybPF4lbzrp8BckCIC2ZlNBqI3bPTFnKaq5eiMWwuZNoM/0WLauXh3+lq4XR" }, "inclusion": [ "", @@ -4567,22 +4567,22 @@ "", "", "", - "42UmcWXf4qLeKJLkI61FBcUHTgfRTeTrymN2e4UGNWY=", - "PD4+fqV34Vx6j9me89nrVnPaQrrqRk33R4CHea+PNZw=", + "0abBMq20W4Eh8+SBRJWQeUOm0O3euiBwzijqUO+T+xM=", + "CQk/CayXNGE/Cxw6hNy3xWC1plmPcP1UDW3bUiN8x24=", "" ] }, "committed": { - "key": "Aj7SyDFzBuq2MzLfG7d4XA==", + "key": "RXR2D20jyWa9Kd4bXH7NIw==", "data": "YmFyMw==" } }, "bob": { - "vrfProof": "ebQQ76b8p/0iW9Qhj7bXNPBJfD9RbJtakJFjJ5qAcnJLW/E3iQCQ1d/igLXHstk1pt9K5D42a2MycnL/ciWqHASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "vy4u6asClkDpaIawJF8k+zL314INe//Xpo6hHtck1oQ8H0A4wno5guIRqLJ9F5jXB+5/bHRtuSx0K2xc4ah/iASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { - "leafHash": "12gqnsMMKZhJLyVTh5tlPB5djKzxOlspv/dsB3uJTHw=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgnyVhhL0nFayLr1mDDdNSiATEQxj6US46j3RAP7+bA8RCIPY0A0+JeT6ssOT70GNg19Gh//Axz0nFK6fV5Hzfu6cSSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiA4WcVlJHlWQCg8dgiulsLiVgeWHWoT5meSHR/vOPjGvQIgL0jrxhfsWUZlyYtZ2ZwsNltWIE7h2fNe65GjavMCIL8=" + "leafHash": "LJB9n/vSrBEKJr2c22qFcMBtCkQvD+5rtpwnaIqVuj8=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgXMZ3mAC8SGBbxoTcuXfW0MgGoWOLeAR98Li1zgTG3nRCIBQAeB5CZzNAxpJWso36BgBj35CSAhbsqBOcEHeN2youSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEAoxL5Mg7lmyKKrVdp1KmzmzIDCyjvXyzSX/sKIF94qAECIQDLI6TQXnrRkVmdrngwJNvMqXy51BRMsF4eYVjzdNzDfA==" }, "inclusion": [ "", @@ -4839,21 +4839,21 @@ "", "", "", - "xANBSKm167QNNks88JooAv7+kdA855sCWt16TEVAwu4=", + "o24rU07fnwVPWZs8fQO8BdO7/JjmEVpdEONjy3zhsmU=", "" ] }, "committed": { - "key": "Lt9VIi0YIRLNhRocSz1Jrg==", + "key": "OTNXp7uDQsHx5fRLMHrs3g==", "data": "YmFyMTM=" } }, "carol": { - "vrfProof": "jkZI/0n9+rwXizIMAB+JRozqwqEbuCVnMsTbfVkmariJ+6Z3ul+tNvQZHjGRyrxAsNmovI06dm4qYPyudvyoEgSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "aD1EKovHq5wBjY/iXoYQkm+AWZGNTrocNDj/ooW0ZsFlG0oG1+oKRBOTfc1fJWEpnRZlrrKTFA3ncrQJSspx8wSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { - "leafHash": "hmDpIrNZrutmN7ZMGwS0kmiRgrrATGIcBUJNus3akdM=", - "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgTErLF2Y3Hd3lwkE8TwL2WKdy13wkfcZOt10xj1/MtJxCICl1NyJcMNcRpk9UY+fmnSqjnr1REq4nvUS4wqG+nbVPSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEA3PJQWZYxkE61tEjdkGPsl5eDd03t1bChS9tf0R4RkX8CIQCN7P9oeTfitERHE3qCVhKGZnwK7VeWSckgnSnj+sBJqQ==" + "leafHash": "0b4MEMUD7AkhW2Ulzz5NrRlKMpjAfOJERoxTOdrPnNc=", + "leafValue": "Cv4BGiAljHmbBRkzisufFJqzn80L0aK6oxhVZOGo2ol0PPpu/DIgJw5L2wdsBXLexmPAI2h65kT+dgErPxxjg4vRIjSQkdVCIEUkaJw9ooZkWxyGXUSWFDaPChHZsg0olwvAyhqMru2eSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSSDBGAiEApH6/TU74c7Ms0IHmGc2SjXQPWV9NLRtJ5fMSgjMYeZwCIQCOOb7mhARS6igY+R6pnjP68h2nAtShZWC+GwyUvJjqtQ==" }, "inclusion": [ "", @@ -5109,13 +5109,13 @@ "", "", "", - "yrFFjlAi8XFYQljwEXxQw5AwLVW+F9qcIF35uYD93O4=", - "PD4+fqV34Vx6j9me89nrVnPaQrrqRk33R4CHea+PNZw=", + "gw7oE4UyJJLThpC06/udree1BCaSUmGtxeyfCsOnjz8=", + "CQk/CayXNGE/Cxw6hNy3xWC1plmPcP1UDW3bUiN8x24=", "" ] }, "committed": { - "key": "nAVDBlFPS97NM06EYFKNVg==", + "key": "y50z37qM+fzuEMb4zugJtg==", "data": "YmFyMjQ=" } } diff --git a/core/testdata/TestBatchUpdate.json b/core/testdata/TestBatchUpdate.json index 477af607d..36df95444 100644 --- a/core/testdata/TestBatchUpdate.json +++ b/core/testdata/TestBatchUpdate.json @@ -3,7 +3,7 @@ "directory": { "directoryId": "integration", "log": { - "treeId": "2044804233237106855", + "treeId": "532508971529424315", "treeType": "PREORDERED_LOG", "hashStrategy": "RFC6962_SHA256", "hashAlgorithm": "SHA256", @@ -13,7 +13,7 @@ } }, "map": { - "treeId": "3030478735049432802", + "treeId": "2567834446019030304", "treeType": "MAP", "hashStrategy": "CONIKS_SHA256", "hashAlgorithm": "SHA256", diff --git a/core/testdata/TestEmptyGetAndUpdate.json b/core/testdata/TestEmptyGetAndUpdate.json index a6936f584..fa04b9dfa 100644 --- a/core/testdata/TestEmptyGetAndUpdate.json +++ b/core/testdata/TestEmptyGetAndUpdate.json @@ -3,7 +3,7 @@ "directory": { "directoryId": "integration", "log": { - "treeId": "2864525161155541230", + "treeId": "4652464534098148926", "treeType": "PREORDERED_LOG", "hashStrategy": "RFC6962_SHA256", "hashAlgorithm": "SHA256", @@ -13,7 +13,7 @@ } }, "map": { - "treeId": "6521713193340621808", + "treeId": "2982758428897235112", "treeType": "MAP", "hashStrategy": "CONIKS_SHA256", "hashAlgorithm": "SHA256", @@ -32,31 +32,31 @@ { "desc": "empty_alice", "lastVerifiedLogRoot": { - "rootHash": "Ks4J8ZCmzuH9OJ0P5ld5ZDHZcl/7RPURb1MXqjIBhlk=", - "treeSize": "1" + }, "getUser": { "request": { + "directoryId": "integration", "userId": "alice" }, "response": { "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgL6kA5uUVZXJ/x0m5bNS6+P206OZ19LqutkZPBkKsYsUVr6Tea0MZkAAAAAAAAAAAAAA=", - "signature": "MEUCIAGQFu6N4vPMiooLYOj8u0Uj7d3ko5tToJVEvi/4MXZ0AiEA49TEx9koGlMk9KR+G8ZOycUSpTN1kqbNODI81UTdJlQ=" + "mapRoot": "AAEgpFhAue92brGIkyHgozYWeTucuVGN8uy0eD5AobIyz1kVr6jH+Tip0AAAAAAAAAAAAAA=", + "signature": "MEQCIHlRXbOFygtknni3xHGFxU2XBKUfdt8jQctajwa6AfcpAiAj/gh0Xf69zvWDK7ocKNdwH13mrritbPGD4mJRbGmOng==" } }, "latestLogRoot": { "logRoot": { - "keyHint": "J8DWdQjYOO4=", - "logRoot": "AAEAAAAAAAAAASAqzgnxkKbO4f04nQ/mV3lkMdlyX/tE9RFvUxeqMgGGWRWvpN6H+VmgAAAAAAAAAAEAAA==", - "logRootSignature": "MEUCIQD8nUp5dGFehhogbozsBzcPBrwhUvfw9ZMJHTCFl/NHOgIgcERVQ+rBEV6EOFkTz/FypNHgd7BGzM8DStYafI2Kl/s=" + "keyHint": "QJDf2A0F/j4=", + "logRoot": "AAEAAAAAAAAAASABFOrjZKP3UIzO/LD+eiBCuaH479VOEbZ+4SLpUaQq5xWvqMgVKbloAAAAAAAAAAEAAA==", + "logRootSignature": "MEQCIBC9a+IIH7BbFIMRl3iQ//rIH7SqT9SkmUPl4MHRoZrpAiBdyzkJ4oHWpGrdJ8vizoKdDm6WpIBgkY3iqAfz8dZc+g==" } } }, "leaf": { - "vrfProof": "bUw5XfnrZP8Siq5JYEDFyBJknIac64cAFUiWcQwzSyGnAYJdcj1/4jU6L7Zad+Prg6u3hVVJRQOh1SpBFSD6zwRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", + "vrfProof": "ML5Vn7hFjfoiqoimOzUp3CAnuFLZGMbr6BXpKlyAcnMk3ij6Rf3PsGciEeWgoAUJppMuQboLlN40vdcmef1u0gRTJUYW21qW/fCBqGRPufN2+S2CHVyVSP1EWLTIn1M0zJgw+OQcAgHUdSP1DkqoE5X9Le+VWO+nuJtc4eJODJCo", "mapInclusion": { "leaf": { "index": "A9/B/HF0DP6pap5CSp8/Jo05FhoGWECfsTAnRlVdzvM=" @@ -327,37 +327,39 @@ { "desc": "bob0_set", "lastVerifiedLogRoot": { - "rootHash": "Ks4J8ZCmzuH9OJ0P5ld5ZDHZcl/7RPURb1MXqjIBhlk=", + "rootHash": "ARTq42Sj91CMzvyw/nogQrmh+O/VThG2fuEi6VGkKuc=", "treeSize": "1" }, "getUser": { "request": { - "userId": "bob" + "directoryId": "integration", + "userId": "bob", + "lastVerifiedTreeSize": "1" }, "response": { "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgItvC9C/YDsufeNflBOpA+R7j84f5CpRu6SXXBq+4UkwVr6TeqcJxmAAAAAAAAAABABISAhgBEgwQkYHEs+qb6dcVGAI=", - "signature": "MEQCIGgh6N9Wxwmk6/t6SpomUF66fFE18j9vrDfn/bOdtiPJAiBXcCllmacVXuQ4aW42H4gnd+AjcrMsCsj0YfzaxpBLqw==" + "mapRoot": "AAEgxczHSh5YruwDiIXb7cqAtDRkBcyjvVY6phmxh9RIPv8Vr6jIN8yu0AAAAAAAAAABABISAhgBEgwQ6fWcpoOZ6tcVGAI=", + "signature": "MEUCIH/tcVzbUElVSmeyqMJeCxgjJvsbEeZEJyN94OVx7p70AiEArEDwsWoaPtNVrZ2scvlBZgRhtoZSu11eDZBBrwxgG6Y=" }, "logInclusion": [ - "Ks4J8ZCmzuH9OJ0P5ld5ZDHZcl/7RPURb1MXqjIBhlk=" + "ARTq42Sj91CMzvyw/nogQrmh+O/VThG2fuEi6VGkKuc=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "J8DWdQjYOO4=", - "logRoot": "AAEAAAAAAAAAAiCDgALGDxkKdYSVD0MqpsjiQ9mQc4DSx63hGog3HlQxARWvpN7DTj0YAAAAAAAAAAIAAA==", - "logRootSignature": "MEQCIH88N48cFNvE7TGuCAxBfjqBkDA/+BCXK8YTgLxpWEZlAiA9j27cug3J8ThH8y3dk4uw4rokSIY9KdndxAl6jfhNaw==" + "keyHint": "QJDf2A0F/j4=", + "logRoot": "AAEAAAAAAAAAAiBAD/qSNEHq7/VBI3yBJa5FhXaRGvYIjI7+HFkkkdLVIBWvqMhQ+iXgAAAAAAAAAAIAAA==", + "logRootSignature": "MEUCIQCSsindXTr8Xca24UOBnuFxuCOkVixn4BUr5xsfDMIVtAIgRTXrwx5Amko/lSsEFrW4QzPUK6vRo8LRQ60jOCf+nSk=" }, "logConsistency": [ - "RDSfG+jZf9HnqFv3En4fa3Mk0g+fIYMIaSDT/WA3jfU=" + "A4nHcLk60Ha3XznrfeBt8Zb7ZAEQWHqe1AZyS8GgTV4=" ] } }, "leaf": { - "vrfProof": "RF85Xbl2a46xeCP9Tb6B6MJM6kL/a0PSTIGZJaLU4r7mfQSqYr9Tzs3Mq+J6EURz1yKuGzoWgBC2WkOUumjCnQSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "45MwM9G0ggkamqrfNHCn2O8nETpkpd5T7isONhKNx4nDFzL7Hb6x7W7AQrMzadLzk1LJPbN+YgIcw9Dq9237XQSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=" @@ -617,7 +619,7 @@ "", "", "", - "rzyBwNZPP2Xl7n+BGZeM2u9YavPaFc/vWlw3HKDXOw0=", + "mOn7l4rtjVZTD++VIttfbR65a3HAISvK5roSfqdHyD4=", "" ] } @@ -628,38 +630,40 @@ { "desc": "set_carol", "lastVerifiedLogRoot": { - "rootHash": "Ks4J8ZCmzuH9OJ0P5ld5ZDHZcl/7RPURb1MXqjIBhlk=", + "rootHash": "ARTq42Sj91CMzvyw/nogQrmh+O/VThG2fuEi6VGkKuc=", "treeSize": "1" }, "getUser": { "request": { - "userId": "carol" + "directoryId": "integration", + "userId": "carol", + "lastVerifiedTreeSize": "1" }, "response": { "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgd2Ksqq93WVJVd45a/e1MTKSlF9nTBM2/UbWrxJ73lNQVr6TezZEVwAAAAAAAAAACABwSAhgBEhYIkYHEs+qb6dcVEPnyssPsm+nXFRgC", - "signature": "MEUCIQDsxM5bh2xIN787U4fEsIIKR7Dty9y+fqUFlHIwXCTuSgIgY8IRfGvNHMaGBSKJnRoAlQTvff4PpK0tFAEyHDjhtjc=" + "mapRoot": "AAEgJ4gGRn8cmJXILVp8NhL5x7xlPi7KJs47z5hgPhloLYQVr6jIXAiP0AAAAAAAAAACABwSAhgBEhYI6fWcpoOZ6tcVEPGk+biFmerXFRgC", + "signature": "MEQCIDoH2pkXEKB36GU1k6aDKC9XIhkhp1Chw/wmw36voJ9HAiA8aBkj9cM+Iat1AJBAq0HW2cVxDQ+HA8PdBd+ccJc0IA==" }, "logInclusion": [ - "g4ACxg8ZCnWElQ9DKqbI4kPZkHOA0set4RqINx5UMQE=" + "QA/6kjRB6u/1QSN8gSWuRYV2kRr2CIyO/hxZJJHS1SA=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "J8DWdQjYOO4=", - "logRoot": "AAEAAAAAAAAAAyD9OpBMvnm/laM+O7kpEjaxzYBAJjL1Pj4YBChkUeSdPhWvpN7hFlqIAAAAAAAAAAMAAA==", - "logRootSignature": "MEQCIHMUIjqRM32uERQuqVgWEWMLeeyBrol0SHhOkHV+RZalAiBvQWOoklgFquC+DFFyXvASTa7xTES1muogpEJkZOba2A==" + "keyHint": "QJDf2A0F/j4=", + "logRoot": "AAEAAAAAAAAAAyBv008DnWpxPOb5tS4Ih8IKkgjXIxPOzbpLlvoKD7cBBxWvqMhuz6UYAAAAAAAAAAMAAA==", + "logRootSignature": "MEUCIQDDDXOQ2b12T+X/oqGIStQ+57/B89cjRw98hEwcsc9wVAIgKdOIj4Vi4rBrKZ98EaL7HfUL75w16oVgY0RNbwoBOLM=" }, "logConsistency": [ - "RDSfG+jZf9HnqFv3En4fa3Mk0g+fIYMIaSDT/WA3jfU=", - "QYsOYW8t/YFDe6/X2xeu0hOdVDP1+HoxJD6ay53YKYU=" + "A4nHcLk60Ha3XznrfeBt8Zb7ZAEQWHqe1AZyS8GgTV4=", + "6eO/eSZDzRuPwXRN53MfPOdt/eJ9oHFfVc2vltWHkdg=" ] } }, "leaf": { - "vrfProof": "BavNfOXsrw4YxbEm+A74uAa4Rr3J5v6qTx/DTh9WDR6KjYvHapQHOV4c/zZRyJ+vMoW/cNDsdjB8i6gxc6IdTwSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", + "vrfProof": "xK8ZigdCRTXNVgJfOAT3e55h38JnOhGZDl1v4E81Y2oUx7DIlAe9vfjD6YE9LbxCK7YsmL6zENr9bVYRsLPNigSmXjmxq3oAt/q89fwRZiF4eoAGepK4YcyzKtBD4mfS6gB7/AQ7PNRUocMVfUQnZCienTNXyrdtaOTCtzwaDIjc", "mapInclusion": { "leaf": { "index": "JYx5mwUZM4rLnxSas5/NC9GiuqMYVWThqNqJdDz6bvw=" @@ -918,8 +922,8 @@ "", "", "", - "FOl50xg2MZvACc1NqX8eFYO5IpxNbQzbIJLLX/HHLpU=", - "nxSjl3Ebdcfc3coogQ8tDGjXH5efeesNyno7RQ0llsE=", + "NjmXG16cfVZTwt2DvgynfNuny7AUEQbfYkfAiqvgiWw=", + "K1QpNYKTVuNWwOO7rmAdkSgJEcoRkQbZbUFQpbvT9pE=", "" ] } @@ -930,44 +934,46 @@ { "desc": "bob1_get", "lastVerifiedLogRoot": { - "rootHash": "Ks4J8ZCmzuH9OJ0P5ld5ZDHZcl/7RPURb1MXqjIBhlk=", + "rootHash": "ARTq42Sj91CMzvyw/nogQrmh+O/VThG2fuEi6VGkKuc=", "treeSize": "1" }, "getUser": { "request": { - "userId": "bob" + "directoryId": "integration", + "userId": "bob", + "lastVerifiedTreeSize": "1" }, "response": { "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgqWDUV5FCksIoUawd0iZ2RffTEPfPzvZySCBpyttyKckVr6Te8PVy4AAAAAAAAAADACYSDBDRncjh7pvp1xUYARIWCPnyssPsm+nXFRD58rLD7Jvp1xUYAg==", - "signature": "MEUCIEhTu5VQQAyvgf1DVdEyVDKBEQpz3778X5LsNz03ktDJAiEAtLCyltPH0+Oq2echBAqbKcElsDscXbPvIVpf16OmYvY=" + "mapRoot": "AAEgo6GbVxP1NS/asAMSs6Q0Bpgtye6g09V/bL21VmnRa6IVr6jIeUPmMAAAAAAAAAADABwSAhgBEhYI8aT5uIWZ6tcVELnS3LSHmerXFRgC", + "signature": "MEUCIQCO/WuAKJn1d6IzphlOLSK/lGrtWOjCMYAiZ8U51F1eTgIgbBb3tHzOekpl18QmmDPvxuG9M8D1/X0YdUMlsZ19aS0=" }, "logInclusion": [ - "QYsOYW8t/YFDe6/X2xeu0hOdVDP1+HoxJD6ay53YKYU=", - "g4ACxg8ZCnWElQ9DKqbI4kPZkHOA0set4RqINx5UMQE=" + "6eO/eSZDzRuPwXRN53MfPOdt/eJ9oHFfVc2vltWHkdg=", + "QA/6kjRB6u/1QSN8gSWuRYV2kRr2CIyO/hxZJJHS1SA=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "J8DWdQjYOO4=", - "logRoot": "AAEAAAAAAAAABCDG5lDtHBLU5Nbydy/t1LS1zx4Uf+/6AKuER8p1L0aY8BWvpN7/B+VwAAAAAAAAAAQAAA==", - "logRootSignature": "MEUCIQDeJLACD/w6DixPuciuimj7si4nApqgSG+tSptbEYQSRQIgDXp7sNc6zrsehTTngoZObB3YeisvDqSUC6grkooUeXQ=" + "keyHint": "QJDf2A0F/j4=", + "logRoot": "AAEAAAAAAAAABCCdRcIlnNkvQlTQuwOpWqJ5pU2+dc0Pd+zj4sygecdZwhWvqMiMpJewAAAAAAAAAAQAAA==", + "logRootSignature": "MEUCIBUyOJSLKw0MefrxkR223BRW81S6nt/LBksbFiyTZHKTAiEAqwGcJhTdwdCIUkvaCKlgpw6brwgezWVD6spjyauulv4=" }, "logConsistency": [ - "RDSfG+jZf9HnqFv3En4fa3Mk0g+fIYMIaSDT/WA3jfU=", - "HhYKTXn4IlLx/BUeKNn5EBE4Jnqvob7oHLtwcL7J/KA=" + "A4nHcLk60Ha3XznrfeBt8Zb7ZAEQWHqe1AZyS8GgTV4=", + "5LiZAoPBkclCzQ0HPaEnabfe2xZve3edrkGr2V3Uz04=" ] } }, "leaf": { - "vrfProof": "tdz3OA47YSe0HNpiPP+hatCrW7Qz3FC0NRwplmrpYw72FQ0yQ5etKQvVIh0nKoiDrZUTen+jeGge2C+rB2jajgSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "L5aELoKsUIeFS4blJWjT9HXM0A7xGMCs1F+KF119k6u4lqIZDRdmQlMqUGcUUaKFm/76J+ibTPJDYURNK3aO1wSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leafHash": "qVHxUtcLRRsajR8CQ+ZQlMh0F44jnaBta+bsPteSChw=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgKW2OTtnUy6U0oTzblNLx2phW7c4sJzoQIZYQcGwh/LhCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiBIUYg7xFbYKcYqXm3zc63tmoGmN2EeEcEh5UZMvG0zsQIhAJzHZnb96osYOT8ZILEIi14bxhqBN0J4bHmNA53R6ZmA" + "leafHash": "ZCQtLhAEQn62WHfohOp5EMGWjiacszjp9G9wIqWqVQk=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgSuMJM/Ih9adaBBH4RG5h4dymNNqTnPsix3Ul2j7Gyj1CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiADhfcVXRPdkOZjOgTRuE1/JfIR/Ts/+EP4M7EYozlgMAIhAKj1BOd+WJ0ChFC0iErPdgWZGwrP3ZaxKjmyIHhnYF2M" }, "inclusion": [ "", @@ -1224,12 +1230,12 @@ "", "", "", - "yAkRL4YDIyYDy2jFP9Cr2Y/l8wZQHD+PVK6EvR6e/yM=", + "EnxDkfdf9WFuKcuCuo2wbfFVIYvFwU+OXZAiBkVJwWQ=", "" ] }, "committed": { - "key": "fqnyKk0OgxrTnDOjxifqsQ==", + "key": "yYH8eEabXNz8iV3if8uzRA==", "data": "Ym9iLWtleTE=" } } @@ -1239,44 +1245,46 @@ { "desc": "bob1_set", "lastVerifiedLogRoot": { - "rootHash": "Ks4J8ZCmzuH9OJ0P5ld5ZDHZcl/7RPURb1MXqjIBhlk=", + "rootHash": "ARTq42Sj91CMzvyw/nogQrmh+O/VThG2fuEi6VGkKuc=", "treeSize": "1" }, "getUser": { "request": { - "userId": "bob" + "directoryId": "integration", + "userId": "bob", + "lastVerifiedTreeSize": "1" }, "response": { "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgqWDUV5FCksIoUawd0iZ2RffTEPfPzvZySCBpyttyKckVr6Te8PVy4AAAAAAAAAADACYSDBDRncjh7pvp1xUYARIWCPnyssPsm+nXFRD58rLD7Jvp1xUYAg==", - "signature": "MEUCIEhTu5VQQAyvgf1DVdEyVDKBEQpz3778X5LsNz03ktDJAiEAtLCyltPH0+Oq2echBAqbKcElsDscXbPvIVpf16OmYvY=" + "mapRoot": "AAEgo6GbVxP1NS/asAMSs6Q0Bpgtye6g09V/bL21VmnRa6IVr6jIeUPmMAAAAAAAAAADABwSAhgBEhYI8aT5uIWZ6tcVELnS3LSHmerXFRgC", + "signature": "MEUCIQCO/WuAKJn1d6IzphlOLSK/lGrtWOjCMYAiZ8U51F1eTgIgbBb3tHzOekpl18QmmDPvxuG9M8D1/X0YdUMlsZ19aS0=" }, "logInclusion": [ - "QYsOYW8t/YFDe6/X2xeu0hOdVDP1+HoxJD6ay53YKYU=", - "g4ACxg8ZCnWElQ9DKqbI4kPZkHOA0set4RqINx5UMQE=" + "6eO/eSZDzRuPwXRN53MfPOdt/eJ9oHFfVc2vltWHkdg=", + "QA/6kjRB6u/1QSN8gSWuRYV2kRr2CIyO/hxZJJHS1SA=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "J8DWdQjYOO4=", - "logRoot": "AAEAAAAAAAAABCDG5lDtHBLU5Nbydy/t1LS1zx4Uf+/6AKuER8p1L0aY8BWvpN7/B+VwAAAAAAAAAAQAAA==", - "logRootSignature": "MEUCIQDeJLACD/w6DixPuciuimj7si4nApqgSG+tSptbEYQSRQIgDXp7sNc6zrsehTTngoZObB3YeisvDqSUC6grkooUeXQ=" + "keyHint": "QJDf2A0F/j4=", + "logRoot": "AAEAAAAAAAAABCCdRcIlnNkvQlTQuwOpWqJ5pU2+dc0Pd+zj4sygecdZwhWvqMiMpJewAAAAAAAAAAQAAA==", + "logRootSignature": "MEUCIBUyOJSLKw0MefrxkR223BRW81S6nt/LBksbFiyTZHKTAiEAqwGcJhTdwdCIUkvaCKlgpw6brwgezWVD6spjyauulv4=" }, "logConsistency": [ - "RDSfG+jZf9HnqFv3En4fa3Mk0g+fIYMIaSDT/WA3jfU=", - "HhYKTXn4IlLx/BUeKNn5EBE4Jnqvob7oHLtwcL7J/KA=" + "A4nHcLk60Ha3XznrfeBt8Zb7ZAEQWHqe1AZyS8GgTV4=", + "5LiZAoPBkclCzQ0HPaEnabfe2xZve3edrkGr2V3Uz04=" ] } }, "leaf": { - "vrfProof": "g5orY8RAhFISq9Javnk0YxjzMd5zPXBZ7dXnHW6eOhBw/f4t4Opx5QPWB/55oNw8Z2OPSRVTBWVsD7p4MBUvkwSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "xS0TpBr7cV8OmJRR1hHCVZNNoNfFFxLzBZh9bq/eP3ZJPCbGlTA9mOxGgGNDzbvScHHZRBiWm3Dgl5o4VhS4ywSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leafHash": "qVHxUtcLRRsajR8CQ+ZQlMh0F44jnaBta+bsPteSChw=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgKW2OTtnUy6U0oTzblNLx2phW7c4sJzoQIZYQcGwh/LhCIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiBIUYg7xFbYKcYqXm3zc63tmoGmN2EeEcEh5UZMvG0zsQIhAJzHZnb96osYOT8ZILEIi14bxhqBN0J4bHmNA53R6ZmA" + "leafHash": "ZCQtLhAEQn62WHfohOp5EMGWjiacszjp9G9wIqWqVQk=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgSuMJM/Ih9adaBBH4RG5h4dymNNqTnPsix3Ul2j7Gyj1CIOOwxEKY/BwUmvv0yJlvuSQnrkHkZJuTTKSVmRt4UrhVSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiADhfcVXRPdkOZjOgTRuE1/JfIR/Ts/+EP4M7EYozlgMAIhAKj1BOd+WJ0ChFC0iErPdgWZGwrP3ZaxKjmyIHhnYF2M" }, "inclusion": [ "", @@ -1533,12 +1541,12 @@ "", "", "", - "yAkRL4YDIyYDy2jFP9Cr2Y/l8wZQHD+PVK6EvR6e/yM=", + "EnxDkfdf9WFuKcuCuo2wbfFVIYvFwU+OXZAiBkVJwWQ=", "" ] }, "committed": { - "key": "fqnyKk0OgxrTnDOjxifqsQ==", + "key": "yYH8eEabXNz8iV3if8uzRA==", "data": "Ym9iLWtleTE=" } } @@ -1548,44 +1556,46 @@ { "desc": "bob2_setkeys", "lastVerifiedLogRoot": { - "rootHash": "Ks4J8ZCmzuH9OJ0P5ld5ZDHZcl/7RPURb1MXqjIBhlk=", + "rootHash": "ARTq42Sj91CMzvyw/nogQrmh+O/VThG2fuEi6VGkKuc=", "treeSize": "1" }, "getUser": { "request": { - "userId": "bob" + "directoryId": "integration", + "userId": "bob", + "lastVerifiedTreeSize": "1" }, "response": { "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEgVYmcn+F7WjIpYyYDPWBq5Y1PPFi+NhQ44U0dhqAXqVAVr6TfCMzIAAAAAAAAAAAEADASFgjRncjh7pvp1xUQqeygvPCb6dcVGAESFgj58rLD7Jvp1xUQ+fKyw+yb6dcVGAI=", - "signature": "MEYCIQDMQt0RoKk6QsfDtr64Tk3bM4VF5Gv7j/tw4fiw8m2oGgIhAJhVuP3LTCiZZiGPrwa/esEFib6SkdNb8g9hC5TG91yJ" + "mapRoot": "AAEgdCW0p7/a6U+/5//nsOy8gYOhZCKdxA79YBvR08wrxwMVr6jIlwgrQAAAAAAAAAAEABwSAhgBEhYIudLctIeZ6tcVEOG6xqSJmerXFRgC", + "signature": "MEYCIQDj9qcDmwshndwO/R660h+J36C2yM5gO7+RPnwq1/LJ1AIhALo+qUHAV/lykNiLTRYlrVZPwkf736gUXFaHsZIHHYDG" }, "logInclusion": [ - "xuZQ7RwS1OTW8ncv7dS0tc8eFH/v+gCrhEfKdS9GmPA=" + "nUXCJZzZL0JU0LsDqVqieaVNvnXND3fs4+LMoHnHWcI=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "J8DWdQjYOO4=", - "logRoot": "AAEAAAAAAAAABSBpw8wqdACqhAERc5vjcrcbfjjmHwW4m6Fww3lWtBHyEBWvpN8dRBHQAAAAAAAAAAUAAA==", - "logRootSignature": "MEYCIQCE3uxwx57ULJlKG8CgwQuRxDb38EaQgUi3E5/rHxuupwIhAIgXvKW15ifeI+Zoh9RL83DMtgyd0MLCTfpJCxknV788" + "keyHint": "QJDf2A0F/j4=", + "logRoot": "AAEAAAAAAAAABSCCPk/Vxa8D3cECGzfGquzS58HeQlxfBAUe2S9tiIZAIhWvqMiqtNngAAAAAAAAAAUAAA==", + "logRootSignature": "MEQCIBEAqpTqDcTjDJmbEcPsZwxlJzsHtxvvrUBFfNIC8PhDAiAneb4m5NXEND/VCrTm+RA6XPM320OpBPml2c4Wr1T9nA==" }, "logConsistency": [ - "RDSfG+jZf9HnqFv3En4fa3Mk0g+fIYMIaSDT/WA3jfU=", - "HhYKTXn4IlLx/BUeKNn5EBE4Jnqvob7oHLtwcL7J/KA=", - "4wVi/WOBqiYYP+gu7WRYTOIHRwLHTazHqjguSWkCwO4=" + "A4nHcLk60Ha3XznrfeBt8Zb7ZAEQWHqe1AZyS8GgTV4=", + "5LiZAoPBkclCzQ0HPaEnabfe2xZve3edrkGr2V3Uz04=", + "zBALLoZ1+2r1OOAHqeGbsytzDIzZx6PiPmiQQzBnIfs=" ] } }, "leaf": { - "vrfProof": "sDSAH7PLe+i9uKRmQAh8ve/n2Q4y9V5BdQf8rMp9h5hxPRAbRIt88D7dRhPneW7WeiTHSYZRB0TbKkOcijZlFASHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "xg+L/29/xt38q6B8Ykqp+RHRjW9C0NGsD/V5KJqvb7gXsUKD6yAw/8llRsuQwfNscoEJZ1oU/TJqJ34Quj3ctwSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leafHash": "HsA2JRB1oPm1zt0kpVCcwu49i38HFU8pph9Tq4X43w8=", - "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIg1BmR0jeDJ/bWnhm5PMh8FGRVltqlJJAxrwGFocc9oV9CIEQGJmZ6fliV6KAbH868bsGdNqye1hKB1flUSp+fof48SpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRjBEAiAs6OSqXvNVRJyrMEM/8MnrtSqSFENdpjF9UfXt+HbCggIgLukvM4mYvlhFPcBUTWNQ+ptXJQ8bVtXgkSH5rZbi1Q8=" + "leafHash": "pzHv0HWQ3scULCMltKCiJ0zv6tgH0ALuNoRUsekDkEE=", + "leafValue": "Cv4BGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgAL7lS/GTrEe6KWrneuWnNCty3hXt45gXUEBAGS/yqmVCIHtvjEatNjvRbh27qsMh+fiVaOYVvrRU2UuKWHzV/MZUSpUBCAESkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSRzBFAiEA4Y8gSd/zVHLoUihSJLFhAoib/7n7+UePInes3xt0s+wCIHUHpXpe2WjpByWvhLEcSqrqoaTHw25X1ygN7jNsGrn6" }, "inclusion": [ "", @@ -1842,12 +1852,12 @@ "", "", "", - "yAkRL4YDIyYDy2jFP9Cr2Y/l8wZQHD+PVK6EvR6e/yM=", + "EnxDkfdf9WFuKcuCuo2wbfFVIYvFwU+OXZAiBkVJwWQ=", "" ] }, "committed": { - "key": "x2kzX2lRbD0Ek03Z7NbQJg==", + "key": "/ROrkSXeAwnHaa+DGH9jow==", "data": "Ym9iLWtleTI=" } } @@ -1857,45 +1867,47 @@ { "desc": "bob3_setnewkeys", "lastVerifiedLogRoot": { - "rootHash": "7rw6iay2PA6N4EGydcFBROvmCcWvXMosjiw60zd5npA=", - "treeSize": "6" + "rootHash": "ARTq42Sj91CMzvyw/nogQrmh+O/VThG2fuEi6VGkKuc=", + "treeSize": "1" }, "getUser": { "request": { - "userId": "bob" + "directoryId": "integration", + "userId": "bob", + "lastVerifiedTreeSize": "1" }, "response": { "revision": { "mapRoot": { "mapRoot": { - "mapRoot": "AAEghqszbRFR4hhA0qXtzxqLmTdRe7i038AT8VxejwaXTEkVr6TfJrbsYAAAAAAAAAAFADASFgip7KC88Jvp1xUQmYndpPKb6dcVGAESFgj58rLD7Jvp1xUQ+fKyw+yb6dcVGAI=", - "signature": "MEUCIFAiE/YR/r6NXti7XIm7rPJOz1rzJM6bs6cB7efYSoY0AiEA5NqBy0YWApwvsEBGcMzaIbFWQ2s5fBqhx6ZQWapsIO8=" + "mapRoot": "AAEgomeSxdMZnMwwKlzih4O7V+RkC/XNI6moMgjt3f1E7dwVr6jItLGJmAAAAAAAAAAFACYSDBDZrJSei5nq1xUYARIWCOG6xqSJmerXFRDhusakiZnq1xUYAg==", + "signature": "MEUCIQCBopiSW/qWbwyBCMJjF7MzzxDOuvgaZNi6L8nbQTlJfwIgXNL6yex5CRqJcEa3AcqPQBcURxvjsUmNNusdQ+Hf6zA=" }, "logInclusion": [ - "4wVi/WOBqiYYP+gu7WRYTOIHRwLHTazHqjguSWkCwO4=", - "xuZQ7RwS1OTW8ncv7dS0tc8eFH/v+gCrhEfKdS9GmPA=" + "zBALLoZ1+2r1OOAHqeGbsytzDIzZx6PiPmiQQzBnIfs=", + "nUXCJZzZL0JU0LsDqVqieaVNvnXND3fs4+LMoHnHWcI=" ] }, "latestLogRoot": { "logRoot": { - "keyHint": "J8DWdQjYOO4=", - "logRoot": "AAEAAAAAAAAABiDuvDqJrLY8Do3gQbJ1wUFE6+YJxa9cyiyOLDrTN3mekBWvpN87KVQwAAAAAAAAAAYAAA==", - "logRootSignature": "MEYCIQCwcGakva2mm37KAl7FnUCPEXhrB3idOrxHm5AGaBNRQwIhAJbUyK/9UtvbADYqOKnxC21NbeGhsqYr02YvWlx58fGp" + "keyHint": "QJDf2A0F/j4=", + "logRoot": "AAEAAAAAAAAABiDJ3/bPuiGyHPC9EsrrKlLo9eyFdVjBr5OxBEjnoEX+5hWvqMjIqjFwAAAAAAAAAAYAAA==", + "logRootSignature": "MEYCIQDNbK+zo00DLbGvE0EwgwGq9Z81UPXnOGyYn4thrJxCuQIhALZZ4EQSGbbzDCakep+MVvpeffdGCG/08fmKkkzyeT/J" }, "logConsistency": [ - "RDSfG+jZf9HnqFv3En4fa3Mk0g+fIYMIaSDT/WA3jfU=", - "HhYKTXn4IlLx/BUeKNn5EBE4Jnqvob7oHLtwcL7J/KA=", - "o24NQPzye7qeiP4jpe3BEDaKeFqgRscwkZCYJ2QQYWY=" + "A4nHcLk60Ha3XznrfeBt8Zb7ZAEQWHqe1AZyS8GgTV4=", + "5LiZAoPBkclCzQ0HPaEnabfe2xZve3edrkGr2V3Uz04=", + "2aDi76Y5yEzTj5zC4fkjsccHH0eLbaezf/63/mSkVSg=" ] } }, "leaf": { - "vrfProof": "jL2yBYgIkxTfUvxKS2YkNpM5OqZy9Qw5JrcrkWGytJm3myf++Uy1vY4Tg04rQEQFr/Van1EZrDT+FKU01igZ9QSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", + "vrfProof": "eRpbqKQIZNPA+ien9DGKw3OlpQtfRRL27K/lkT5Gd3tFXlqdvSCTtwEDXhKDo0VEN1UqK/pl3N34pPU+9+OzDwSHy1HLhWFLT+nQFEzzYq4x2psj6PyUNlaPWfnwVizyOB31qTBMPiNmlf7Qgp/yArNoYDSuvrjR9Jmlku+iA5MU", "mapInclusion": { "leaf": { "index": "Umn2fclcSdomcb9UlHcDY1SLm1A/wILzh8NdoYffbcQ=", - "leafHash": "KDRlZrPrDQ6Pwahg3U60QeJqCLR+KSnrZTfq8cRMYdk=", - "leafValue": "CpEDGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgeNpySkSV0gyxsQFqJbzFPO8U1bpB9O3tkdKllL2POLtCIPMzYM/oAozH2Io6Fy9N1DNni2K0EQzi8xskqBgQDYxNSqgCCAISkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhogJKDbR4uyhSMXW80x02NtYRUFlMQbLOA+tLe/MbwZ69QiIJF0bpHH3Z/21sLp3PtRWzIju8iNL73rWwQsDoV5H3WUGAMQARgCIAMSRjBEAiA88CDrSOscSwD8WmN5pKnkTx+eIPE9f1yBwYn8GYSuVQIgbek9k7gSeV3aeg/Adwc8wwlTezAhoJofzb2XuFRwSpcSRzBFAiAwGXqzWunBUXgXEERcx+lq+e5snedMw+u3p7DEc1msUAIhANi7NJ2TPwj7MGfsYSK5lWRNz7xqSRksdx99gzWR1Lt+" + "leafHash": "uNC6wSdbdjkfYfK6PHJcm6+pIHghTo8G7FEwnyUn4IM=", + "leafValue": "CpEDGiBSafZ9yVxJ2iZxv1SUdwNjVIubUD/AgvOHw12hh99txDIgcVxxrP8c2gAv5rlQa252CVAb9FF1xHT9BtPc0FrHRzVCIPgsTtdGjuozfizdHmJszOy/d1blbKoBb7WhuYMZYZEfSqgCCAISkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhog+xVOdphkfpEtl7OF8oCyvWw31dV4hnGbXDPbdFlL1nkiIJrKGerIR9F1c2WkFPZT2FdxLGWIojWsesAkUPHedy20GAMQARgBIAMSkAEKhwEKNXR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmNyeXB0by50aW5rLkVjZHNhUHVibGljS2V5EkwSBggDEAIYAhogJKDbR4uyhSMXW80x02NtYRUFlMQbLOA+tLe/MbwZ69QiIJF0bpHH3Z/21sLp3PtRWzIju8iNL73rWwQsDoV5H3WUGAMQARgCIAMSRzBFAiEAv4P99R4bLTwvJPQIA0ocl9ezSvDR/p9H4Nf/rZorMa0CIDoqFrBkSxmC3v2UFD9lauvbRXnFf0nu2/IJca/T1aogEkcwRQIgTntznFEvDeHK9G6vpDg4yp8b3OK0PSpF/qNL2l4yMLwCIQDkun7hmkT+fANBaYnA5i6tLw9fYjZkHVAuHTGi6FYSUQ==" }, "inclusion": [ "", @@ -2152,12 +2164,12 @@ "", "", "", - "yAkRL4YDIyYDy2jFP9Cr2Y/l8wZQHD+PVK6EvR6e/yM=", + "EnxDkfdf9WFuKcuCuo2wbfFVIYvFwU+OXZAiBkVJwWQ=", "" ] }, "committed": { - "key": "UWIwnMd7ye+GtczdDVhJIQ==", + "key": "57JLjK2z6uX3asxSPubfiA==", "data": "Ym9iLWtleTM=" } } diff --git a/core/testdata/TestListHistory.json b/core/testdata/TestListHistory.json index 608fed920..67e5c8ff8 100644 --- a/core/testdata/TestListHistory.json +++ b/core/testdata/TestListHistory.json @@ -3,7 +3,7 @@ "directory": { "directoryId": "integration", "log": { - "treeId": "6534604914782495160", + "treeId": "3580969859088593025", "treeType": "PREORDERED_LOG", "hashStrategy": "RFC6962_SHA256", "hashAlgorithm": "SHA256", @@ -13,7 +13,7 @@ } }, "map": { - "treeId": "8777614977422763593", + "treeId": "2300502853446332255", "treeType": "MAP", "hashStrategy": "CONIKS_SHA256", "hashAlgorithm": "SHA256", diff --git a/core/testdata/TestMonitor.json b/core/testdata/TestMonitor.json index 37bbcbb13..12c551c6f 100644 --- a/core/testdata/TestMonitor.json +++ b/core/testdata/TestMonitor.json @@ -3,7 +3,7 @@ "directory": { "directoryId": "integration", "log": { - "treeId": "8231259227500546628", + "treeId": "5163005729436006755", "treeType": "PREORDERED_LOG", "hashStrategy": "RFC6962_SHA256", "hashAlgorithm": "SHA256", @@ -13,7 +13,7 @@ } }, "map": { - "treeId": "8823458083207558853", + "treeId": "6992631502357884499", "treeType": "MAP", "hashStrategy": "CONIKS_SHA256", "hashAlgorithm": "SHA256", From 7b04a90505023c01feb4b06efca8e050df795c09 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Tue, 9 Jul 2019 08:24:25 +0100 Subject: [PATCH 12/16] RunTranscriptTest --- core/client/verifier/verifier_test.go | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/core/client/verifier/verifier_test.go b/core/client/verifier/verifier_test.go index 396e8bef9..f0b91c3ae 100644 --- a/core/client/verifier/verifier_test.go +++ b/core/client/verifier/verifier_test.go @@ -25,11 +25,23 @@ import ( // Test vectors in core/testdata are generated by running // go generate ./core/testdata -func TestVerifyGetUserResponse(t *testing.T) { - transcript, err := testdata.ReadTranscript("TestEmptyGetAndUpdate") - if err != nil { - t.Fatal(err) +func TestTranscripts(t *testing.T) { + for _, name := range []string{ + "TestEmptyGetAndUpdate", + } { + t.Run(name, func(t *testing.T) { + transcript, err := testdata.ReadTranscript(name) + if err != nil { + t.Fatal(err) + } + RunTranscriptTest(t, transcript) + }) } +} + +func RunTranscriptTest(t *testing.T, transcript *tpb.Transcript) { + t.Helper() + v, err := NewFromDirectory(transcript.Directory) if err != nil { t.Fatal(err) From c5a4d6807ca8c570e19c6eabeb3bb293ab093b35 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Tue, 9 Jul 2019 09:38:05 +0100 Subject: [PATCH 13/16] TestBatchGetUser --- core/client/batch_get_and_verify.go | 17 ++++++++++------- core/client/client.go | 1 + core/client/client_test.go | 3 +++ core/client/verifier/pairs.go | 14 ++++++++++++++ core/client/verifier/verifier_test.go | 5 +++++ 5 files changed, 33 insertions(+), 7 deletions(-) diff --git a/core/client/batch_get_and_verify.go b/core/client/batch_get_and_verify.go index b9a29d35a..9333a9239 100644 --- a/core/client/batch_get_and_verify.go +++ b/core/client/batch_get_and_verify.go @@ -19,8 +19,9 @@ import ( "runtime" "sync" - pb "github.com/google/keytransparency/core/api/v1/keytransparency_go_proto" "github.com/google/trillian/monitoring" + + pb "github.com/google/keytransparency/core/api/v1/keytransparency_go_proto" ) // BatchVerifyGetUserIndex fetches and verifies the indexes for a list of users. @@ -98,16 +99,21 @@ func (c *Client) BatchVerifyGetUserIndex(ctx context.Context, userIDs []string) func (c *Client) BatchVerifiedGetUser(ctx context.Context, userIDs []string) (map[string]*pb.MapLeaf, error) { c.trustedLock.Lock() defer c.trustedLock.Unlock() - resp, err := c.cli.BatchGetUser(ctx, &pb.BatchGetUserRequest{ + req := &pb.BatchGetUserRequest{ DirectoryId: c.DirectoryID, UserIds: userIDs, LastVerifiedTreeSize: int64(c.trusted.TreeSize), - }) + } + resp, err := c.cli.BatchGetUser(ctx, req) if err != nil { return nil, err } - slr, smr, err := c.VerifyRevision(resp.Revision, c.trusted) + if err := c.VerifyBatchGetUser(c.trusted, req, resp); err != nil { + return nil, err + } + + slr, _, err := c.VerifyRevision(resp.Revision, c.trusted) if err != nil { return nil, err } @@ -115,9 +121,6 @@ func (c *Client) BatchVerifiedGetUser(ctx context.Context, userIDs []string) (ma leavesByUserID := make(map[string]*pb.MapLeaf) for userID, leaf := range resp.MapLeavesByUserId { - if err := c.VerifyMapLeaf(c.DirectoryID, userID, leaf, smr); err != nil { - return nil, err - } leavesByUserID[userID] = leaf } return leavesByUserID, nil diff --git a/core/client/client.go b/core/client/client.go index 4404c4012..98bdd1bc8 100644 --- a/core/client/client.go +++ b/core/client/client.go @@ -71,6 +71,7 @@ var ( // VerifierInterface is used to verify specific outputs from Key Transparency. type VerifierInterface interface { VerifyGetUser(trusted types.LogRootV1, req *pb.GetUserRequest, resp *pb.GetUserResponse) error + VerifyBatchGetUser(trusted types.LogRootV1, req *pb.BatchGetUserRequest, resp *pb.BatchGetUserResponse) error // Index computes the index of a userID from a VRF proof, obtained from the server. Index(vrfProof []byte, directoryID, userID string) ([]byte, error) // VerifyMapLeaf verifies everything about a MapLeaf. diff --git a/core/client/client_test.go b/core/client/client_test.go index d2fcb231e..40825f297 100644 --- a/core/client/client_test.go +++ b/core/client/client_test.go @@ -306,6 +306,9 @@ type fakeVerifier struct{} func (f *fakeVerifier) VerifyGetUser(trusted types.LogRootV1, req *pb.GetUserRequest, resp *pb.GetUserResponse) error { return nil } +func (f *fakeVerifier) VerifyBatchGetUser(trusted types.LogRootV1, req *pb.BatchGetUserRequest, resp *pb.BatchGetUserResponse) error { + return nil +} func (f *fakeVerifier) Index(vrfProof []byte, directoryID, userID string) ([]byte, error) { return make([]byte, 32), nil } diff --git a/core/client/verifier/pairs.go b/core/client/verifier/pairs.go index e6e02ee29..2779b0008 100644 --- a/core/client/verifier/pairs.go +++ b/core/client/verifier/pairs.go @@ -30,3 +30,17 @@ func (v *Verifier) VerifyGetUser(trusted types.LogRootV1, req *pb.GetUserRequest } return nil } + +func (v *Verifier) VerifyBatchGetUser(trusted types.LogRootV1, req *pb.BatchGetUserRequest, resp *pb.BatchGetUserResponse) error { + _, smr, err := v.VerifyRevision(resp.Revision, trusted) + if err != nil { + return err + } + for userID, leaf := range resp.MapLeavesByUserId { + if err := v.VerifyMapLeaf(req.DirectoryId, userID, leaf, smr); err != nil { + return err + } + } + return nil + +} diff --git a/core/client/verifier/verifier_test.go b/core/client/verifier/verifier_test.go index f0b91c3ae..7db46a3fb 100644 --- a/core/client/verifier/verifier_test.go +++ b/core/client/verifier/verifier_test.go @@ -28,6 +28,7 @@ import ( func TestTranscripts(t *testing.T) { for _, name := range []string{ "TestEmptyGetAndUpdate", + "TestBatchGetUser", } { t.Run(name, func(t *testing.T) { transcript, err := testdata.ReadTranscript(name) @@ -58,6 +59,10 @@ func RunTranscriptTest(t *testing.T, transcript *tpb.Transcript) { if err := v.VerifyGetUser(trusted, pair.GetUser.Request, pair.GetUser.Response); err != nil { t.Errorf("VerifyGetUser(): %v)", err) } + case *tpb.Unary_BatchGetUser: + if err := v.VerifyBatchGetUser(trusted, pair.BatchGetUser.Request, pair.BatchGetUser.Response); err != nil { + t.Errorf("VerifyGetUser(): %v)", err) + } default: t.Errorf("Unknown ReqRespPair: %T", pair) From 3aed116599116b730e02b31b0d4e366a62e5f738 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Tue, 9 Jul 2019 09:57:17 +0100 Subject: [PATCH 14/16] Key fields --- core/integration/client_tests.go | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/core/integration/client_tests.go b/core/integration/client_tests.go index 284754bf2..89c20eba3 100644 --- a/core/integration/client_tests.go +++ b/core/integration/client_tests.go @@ -426,12 +426,14 @@ func TestBatchGetUser(ctx context.Context, env *Env, t *testing.T) []*tpb.Unary TreeSize: int64(slr.TreeSize), RootHash: slr.RootHash, }, - ReqRespPair: &tpb.Unary_BatchGetUser{&tpb.BatchGetUser{ - Request: &pb.BatchGetUserRequest{ - UserIds: userIDs, + ReqRespPair: &tpb.Unary_BatchGetUser{ + BatchGetUser: &tpb.BatchGetUser{ + Request: &pb.BatchGetUserRequest{ + UserIds: userIDs, + }, + Response: resp, }, - Response: resp, - }}, + }, }) }) } @@ -601,10 +603,12 @@ func TestBatchListUserRevisions(ctx context.Context, env *Env, t *testing.T) []* } transcript = append(transcript, &tpb.Unary{ Desc: tc.desc, - ReqRespPair: &tpb.Unary_BatchListUserRevisions{&tpb.BatchListUserRevisions{ - Request: request, - Response: response, - }}, + ReqRespPair: &tpb.Unary_BatchListUserRevisions{ + BatchListUserRevisions: &tpb.BatchListUserRevisions{ + Request: request, + Response: response, + }, + }, }) var got [][]byte for _, rev := range response.MapRevisions { From 38cff33a532789e132d8cec00935177bdceda9c7 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Tue, 9 Jul 2019 09:57:37 +0100 Subject: [PATCH 15/16] packagePath comment --- core/testdata/io.go | 1 + 1 file changed, 1 insertion(+) diff --git a/core/testdata/io.go b/core/testdata/io.go index 4aec21e1b..0ff0a01e5 100644 --- a/core/testdata/io.go +++ b/core/testdata/io.go @@ -26,6 +26,7 @@ import ( tpb "github.com/google/keytransparency/core/api/transcript_go_proto" ) +// packagePath returns the on-disk path of *this* package. func packagePath() (string, error) { basePkg := "github.com/google/keytransparency/core/testdata" p, err := build.Default.Import(basePkg, "", build.FindOnly) From 82a8c192d6300eb22f1770b03989ef9fc317f3e7 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Tue, 9 Jul 2019 12:01:17 +0100 Subject: [PATCH 16/16] Use transcripts in p256 test --- core/crypto/vrf/p256/p256_test.go | 43 +++++++++++-------------------- 1 file changed, 15 insertions(+), 28 deletions(-) diff --git a/core/crypto/vrf/p256/p256_test.go b/core/crypto/vrf/p256/p256_test.go index 983dc44ef..96aef94b4 100644 --- a/core/crypto/vrf/p256/p256_test.go +++ b/core/crypto/vrf/p256/p256_test.go @@ -19,20 +19,16 @@ import ( "context" "crypto/rand" "encoding/hex" - "encoding/json" - "io/ioutil" "math" - "os" "testing" - "github.com/golang/protobuf/jsonpb" "github.com/golang/protobuf/proto" "github.com/google/keytransparency/core/testdata" "github.com/google/trillian/crypto/keys" "github.com/google/trillian/crypto/keys/der" "github.com/google/trillian/crypto/keyspb" - pb "github.com/google/keytransparency/core/api/v1/keytransparency_go_proto" + tpb "github.com/google/keytransparency/core/api/transcript_go_proto" _ "github.com/google/trillian/crypto/keys/der/proto" ) @@ -187,35 +183,26 @@ func TestVRF(t *testing.T) { // Test vectors in core/testdata are generated by running // go generate ./core/testdata func TestProofToHash(t *testing.T) { - directoryFile := "../../../testdata/directory_get_and_update.json" - f, err := os.Open(directoryFile) + transcript, err := testdata.ReadTranscript("TestEmptyGetAndUpdate") if err != nil { - t.Fatalf("ReadFile(%v): %v", directoryFile, err) + t.Fatal(err) } - defer f.Close() - var directory pb.Directory - if err := jsonpb.Unmarshal(f, &directory); err != nil { - t.Fatalf("jsonpb.Unmarshal(): %v", err) - } - pk, err := NewVRFVerifierFromRawKey(directory.GetVrf().GetDer()) + + pk, err := NewVRFVerifierFromRawKey(transcript.GetDirectory().GetVrf().GetDer()) if err != nil { t.Fatalf("NewVRFVerifier failure: %v", err) } - respFile := "../../../testdata/get_and_update.json" - b, err := ioutil.ReadFile(respFile) - if err != nil { - t.Fatalf("ReadFile(%v): %v", respFile, err) - } - var getUserResponses []testdata.ResponseVector - if err := json.Unmarshal(b, &getUserResponses); err != nil { - t.Fatalf("Unmarshal(): %v", err) - } - for _, tc := range getUserResponses { - t.Run(tc.Desc, func(t *testing.T) { - _, err := pk.ProofToHash([]byte(tc.UserID), tc.GetUserResp.GetLeaf().GetVrfProof()) - if err != nil { - t.Errorf("ProofToHash(%v): %v)", tc.Desc, err) + for _, rpc := range transcript.Rpcs { + t.Run(rpc.Desc, func(t *testing.T) { + switch pair := rpc.ReqRespPair.(type) { + case *tpb.Unary_GetUser: + userID := pair.GetUser.Request.UserId + vrfProof := pair.GetUser.Response.GetLeaf().GetVrfProof() + _, err := pk.ProofToHash([]byte(userID), vrfProof) + if err != nil { + t.Errorf("ProofToHash(%v): %v)", rpc.Desc, err) + } } }) }