Commit 859d87ab authored by Loïck Bonniot's avatar Loïck Bonniot

[p][t] Add document hash in launchSignature

parent af61496c
Pipeline #1758 passed with stage
...@@ -261,14 +261,16 @@ type LaunchSignature struct { ...@@ -261,14 +261,16 @@ type LaunchSignature struct {
ErrorCode *ErrorCode `protobuf:"bytes,1,opt,name=errorCode" json:"errorCode,omitempty"` ErrorCode *ErrorCode `protobuf:"bytes,1,opt,name=errorCode" json:"errorCode,omitempty"`
// / The unique signature generated by the platform for this specific signature attempt // / The unique signature generated by the platform for this specific signature attempt
SignatureUuid string `protobuf:"bytes,2,opt,name=signatureUuid" json:"signatureUuid,omitempty"` SignatureUuid string `protobuf:"bytes,2,opt,name=signatureUuid" json:"signatureUuid,omitempty"`
// / The SHA-512 hash of the contract document
DocumentHash []byte `protobuf:"bytes,3,opt,name=documentHash,proto3" json:"documentHash,omitempty"`
// / A confirmation of client hashes for communication authentication // / A confirmation of client hashes for communication authentication
KeyHash [][]byte `protobuf:"bytes,3,rep,name=keyHash,proto3" json:"keyHash,omitempty"` KeyHash [][]byte `protobuf:"bytes,4,rep,name=keyHash,proto3" json:"keyHash,omitempty"`
// / The signing sequence generated on-the-fly by the platform // / The signing sequence generated on-the-fly by the platform
Sequence []uint32 `protobuf:"varint,4,rep,name=sequence" json:"sequence,omitempty"` Sequence []uint32 `protobuf:"varint,5,rep,name=sequence" json:"sequence,omitempty"`
// / The cryptographic object of the signature of this structure (hash and errorCode excepted) by the platform, for data certification. // / The cryptographic object of the signature of this structure (seal and errorCode excepted) by the platform, for data certification.
// / The signature is computed using auth.SignStructure function: // / The signature is computed using auth.SignStructure function:
// / PKCS1v15 + SHA512 hash of the string representation of the structure // / PKCS1v15 + SHA512 hash of the string representation of the structure
Seal []byte `protobuf:"bytes,5,opt,name=seal,proto3" json:"seal,omitempty"` Seal []byte `protobuf:"bytes,6,opt,name=seal,proto3" json:"seal,omitempty"`
} }
func (m *LaunchSignature) Reset() { *m = LaunchSignature{} } func (m *LaunchSignature) Reset() { *m = LaunchSignature{} }
...@@ -618,50 +620,51 @@ var _Platform_serviceDesc = grpc.ServiceDesc{ ...@@ -618,50 +620,51 @@ var _Platform_serviceDesc = grpc.ServiceDesc{
} }
var fileDescriptor0 = []byte{ var fileDescriptor0 = []byte{
// 710 bytes of a gzipped FileDescriptorProto // 723 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x55, 0x5f, 0x6f, 0x12, 0x4b, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x55, 0xef, 0x6e, 0xd3, 0x30,
0x14, 0x67, 0x81, 0x16, 0x38, 0x14, 0xba, 0x19, 0x7a, 0xef, 0xe5, 0x92, 0xd4, 0x34, 0x13, 0x13, 0x10, 0x6f, 0xda, 0xac, 0x7f, 0xae, 0x6b, 0x17, 0xb9, 0x03, 0x42, 0xa5, 0xa1, 0xc9, 0x42, 0x62,
0x1b, 0x63, 0xa0, 0xc1, 0x44, 0xa3, 0x6f, 0x14, 0x49, 0x5b, 0x53, 0xb1, 0x19, 0x40, 0x13, 0xdf, 0x42, 0xa8, 0x9d, 0x8a, 0x04, 0x82, 0x6f, 0x5d, 0xa9, 0xb6, 0xa1, 0x51, 0x26, 0xb7, 0x05, 0x89,
0xd6, 0xdd, 0x69, 0x59, 0xcb, 0xfe, 0x71, 0x66, 0x88, 0xe9, 0x9b, 0x1f, 0xc1, 0x6f, 0xe2, 0x8b, 0x6f, 0x21, 0xf1, 0xd6, 0xb0, 0x36, 0x29, 0xb1, 0x2b, 0xb4, 0x6f, 0x3c, 0x02, 0x0f, 0xc3, 0x9b,
0x9f, 0x4f, 0x9d, 0x99, 0xdd, 0x59, 0x16, 0x24, 0x26, 0xe5, 0x61, 0x99, 0x73, 0xe6, 0xcc, 0xef, 0xf0, 0x3e, 0x80, 0xed, 0xc4, 0x69, 0x52, 0x2a, 0xa4, 0xf5, 0x43, 0xea, 0x3b, 0x9f, 0x7f, 0x77,
0x9c, 0xf3, 0x9b, 0xf3, 0xdb, 0x85, 0x43, 0xef, 0x9a, 0xf3, 0x9e, 0x7a, 0xc4, 0x3d, 0x27, 0xf6, 0xf7, 0xf3, 0xfd, 0x12, 0x38, 0xf0, 0xae, 0x18, 0xeb, 0xca, 0xc7, 0xb2, 0xeb, 0x2c, 0xfd, 0xee,
0x7b, 0xf1, 0xc2, 0x11, 0xd7, 0x11, 0x0b, 0xba, 0x31, 0x8b, 0x44, 0x84, 0x4a, 0xd2, 0x87, 0x07, 0x72, 0xee, 0xf0, 0xab, 0x30, 0x5a, 0x74, 0x96, 0x51, 0xc8, 0x43, 0x54, 0x12, 0x3e, 0xdc, 0x87,
0xb0, 0x4f, 0xe8, 0x8d, 0xcf, 0x05, 0x65, 0x84, 0x7e, 0x5e, 0x52, 0x2e, 0xd0, 0x01, 0xec, 0xd0, 0x3d, 0x42, 0xaf, 0x7d, 0xc6, 0x69, 0x44, 0xe8, 0xd7, 0x15, 0x65, 0x1c, 0xed, 0xc3, 0x0e, 0x5d,
0xc0, 0xf1, 0x17, 0x6d, 0xeb, 0xc8, 0x3a, 0xae, 0x91, 0xc4, 0x40, 0x6d, 0xa8, 0xb0, 0x24, 0xa0, 0x38, 0xfe, 0xdc, 0x36, 0x0e, 0x8d, 0xa3, 0x1a, 0x89, 0x0d, 0x64, 0x43, 0x25, 0x8a, 0x03, 0xec,
0x5d, 0xd4, 0x7e, 0x63, 0xe2, 0x1f, 0x16, 0xd4, 0x46, 0x8c, 0x45, 0x6c, 0x18, 0x79, 0x14, 0x3d, 0xa2, 0xf2, 0x6b, 0x13, 0xff, 0x34, 0xa0, 0x36, 0x8c, 0xa2, 0x30, 0x1a, 0x84, 0x1e, 0x45, 0x4f,
0x82, 0xb2, 0x2b, 0xff, 0xf5, 0xe1, 0x66, 0xbf, 0xd5, 0x95, 0x49, 0xba, 0xd9, 0x6e, 0x57, 0x3d, 0xc0, 0x74, 0xc5, 0xbf, 0x3a, 0xdc, 0xec, 0xb5, 0x3a, 0x22, 0x49, 0x27, 0xdd, 0xed, 0xc8, 0x07,
0x88, 0x0e, 0x50, 0x80, 0x01, 0xe5, 0xdc, 0xb9, 0xa1, 0x06, 0x30, 0x35, 0xb1, 0x07, 0x65, 0x0d, 0x51, 0x01, 0x12, 0x70, 0x41, 0x19, 0x73, 0xae, 0xa9, 0x06, 0x4c, 0x4c, 0xec, 0x81, 0xa9, 0xa0,
0x55, 0x87, 0xca, 0x64, 0x36, 0x1c, 0x8e, 0x26, 0x13, 0xbb, 0x80, 0x00, 0x76, 0x2f, 0xc6, 0xef, 0xea, 0x50, 0x19, 0x4f, 0x07, 0x83, 0xe1, 0x78, 0x6c, 0x15, 0x10, 0x40, 0xf9, 0x7c, 0xf4, 0xa1,
0x06, 0xe4, 0xcc, 0xb6, 0xd4, 0xc6, 0xe9, 0xe0, 0xd5, 0x60, 0x36, 0x3d, 0xb7, 0x8b, 0xca, 0x78, 0x4f, 0x4e, 0x2d, 0x43, 0x6e, 0x9c, 0xf4, 0xdf, 0xf4, 0xa7, 0x93, 0x33, 0xab, 0x28, 0x8d, 0x8f,
0x3f, 0x20, 0xe3, 0x8b, 0xf1, 0x99, 0x5d, 0x42, 0x2d, 0x15, 0x35, 0x1d, 0x11, 0x62, 0xff, 0x32, 0x7d, 0x32, 0x3a, 0x1f, 0x9d, 0x5a, 0x25, 0xd4, 0x92, 0x51, 0x93, 0x21, 0x21, 0xd6, 0x1f, 0xfd,
0x3f, 0x4b, 0x36, 0x54, 0x99, 0x5e, 0xbc, 0x19, 0xbd, 0x9d, 0x4d, 0xed, 0x9f, 0x99, 0x17, 0xbf, 0x33, 0x44, 0x43, 0x95, 0xc9, 0xf9, 0xbb, 0xe1, 0xfb, 0xe9, 0xc4, 0xfa, 0x9d, 0x7a, 0xf1, 0x2b,
0x80, 0xfa, 0x60, 0x29, 0xe6, 0x7f, 0xef, 0x5a, 0x7a, 0x45, 0x74, 0x4b, 0xc3, 0xb4, 0xc4, 0xc4, 0xa8, 0xf7, 0x57, 0x7c, 0xf6, 0xff, 0xae, 0x85, 0x97, 0x87, 0x37, 0x34, 0x48, 0x4a, 0x8c, 0x0d,
0xc0, 0x27, 0xd0, 0x34, 0xa4, 0x51, 0x6f, 0xc6, 0x29, 0x43, 0x0f, 0x00, 0xdc, 0x85, 0x4f, 0x43, 0x7c, 0x0c, 0x4d, 0x4d, 0x1a, 0xf5, 0xa6, 0x8c, 0x46, 0xe8, 0x11, 0x80, 0x3b, 0xf7, 0x69, 0xc0,
0x31, 0xa4, 0x4c, 0xa4, 0x10, 0x39, 0x0f, 0xae, 0xc0, 0xce, 0x28, 0x88, 0xc5, 0x1d, 0xfe, 0x02, 0x07, 0x34, 0xe2, 0x09, 0x44, 0xc6, 0x83, 0x2b, 0xb0, 0x33, 0x5c, 0x2c, 0xf9, 0x2d, 0xfe, 0x06,
0xad, 0xab, 0x88, 0x8b, 0x61, 0x14, 0x0a, 0xe6, 0xb8, 0xc2, 0x64, 0x47, 0x50, 0x9e, 0x3b, 0x7c, 0xad, 0xcb, 0x90, 0xf1, 0x41, 0x18, 0xf0, 0xc8, 0x71, 0xb9, 0xce, 0x8e, 0xc0, 0x9c, 0x39, 0x6c,
0xae, 0x4f, 0xee, 0x11, 0xbd, 0x46, 0x1d, 0xa8, 0x5e, 0xfb, 0x0b, 0x1a, 0x3a, 0x81, 0x61, 0x28, 0xa6, 0x4e, 0xee, 0x12, 0xb5, 0x46, 0x6d, 0xa8, 0x5e, 0xf9, 0x73, 0x1a, 0x38, 0x0b, 0xcd, 0x50,
0xb3, 0xd1, 0xbf, 0xb0, 0xcb, 0xfd, 0x9b, 0x90, 0xb2, 0x76, 0xe9, 0xa8, 0x24, 0x77, 0x52, 0x4b, 0x6a, 0xa3, 0xfb, 0x50, 0x66, 0xfe, 0x75, 0x40, 0x23, 0xbb, 0x74, 0x58, 0x12, 0x3b, 0x89, 0x25,
0x91, 0xea, 0x46, 0x41, 0x20, 0xd3, 0xb6, 0xcb, 0x09, 0xa9, 0xa9, 0x89, 0x8f, 0x01, 0x9d, 0xd1, 0x49, 0x75, 0xc3, 0xc5, 0x42, 0xa4, 0xb5, 0xcd, 0x98, 0xd4, 0xc4, 0xc4, 0x47, 0x80, 0x4e, 0xe9,
0x6d, 0x79, 0x97, 0x4b, 0xdf, 0x4b, 0x2b, 0xd6, 0x6b, 0x7c, 0x09, 0x55, 0x13, 0x86, 0x9e, 0x40, 0xb6, 0xbc, 0xab, 0x95, 0xef, 0x25, 0x15, 0xab, 0x35, 0xbe, 0x80, 0xaa, 0x0e, 0x43, 0xcf, 0xa0,
0x8d, 0x9a, 0xcb, 0xd3, 0x41, 0xf5, 0x7e, 0x73, 0xfd, 0x4a, 0xc9, 0x2a, 0x40, 0xa1, 0x7d, 0xe2, 0x46, 0xf5, 0xe5, 0xa9, 0xa0, 0x7a, 0xaf, 0x99, 0xbf, 0x52, 0xb2, 0x0e, 0x90, 0x68, 0x5f, 0x58,
0x51, 0x42, 0x96, 0xec, 0x42, 0xad, 0xf1, 0x18, 0x0e, 0x5e, 0x47, 0x7e, 0x38, 0x91, 0xf5, 0x39, 0x18, 0x93, 0x25, 0xba, 0x90, 0x6b, 0x3c, 0x82, 0xfd, 0xb7, 0xa1, 0x1f, 0x8c, 0x45, 0x7d, 0x0e,
0x62, 0xc9, 0xa8, 0xc9, 0x8c, 0x61, 0xcf, 0x4d, 0xb3, 0xcc, 0x56, 0x15, 0xac, 0xf9, 0x14, 0x5e, 0x5f, 0x45, 0x54, 0x67, 0xc6, 0xb0, 0xeb, 0x26, 0x59, 0xa6, 0xeb, 0x0a, 0x72, 0x3e, 0x89, 0xb7,
0x1c, 0xb1, 0x64, 0xe0, 0x1a, 0x44, 0xaf, 0xf1, 0x57, 0x0b, 0x1a, 0x8a, 0x72, 0x59, 0x62, 0x48, 0x0c, 0xa3, 0x78, 0xe0, 0x1a, 0x44, 0xad, 0xf1, 0x77, 0x03, 0x1a, 0x92, 0x72, 0x51, 0x62, 0x40,
0x5d, 0x41, 0xbd, 0x7b, 0xd6, 0xb8, 0x99, 0xb7, 0xb8, 0x25, 0xef, 0xa1, 0x64, 0x85, 0x6b, 0x6e, 0x5d, 0x4e, 0xbd, 0x3b, 0xd6, 0xb8, 0x99, 0xb7, 0xb8, 0x25, 0xef, 0x81, 0x60, 0x85, 0x29, 0x6e,
0x15, 0x58, 0x4d, 0x83, 0xa9, 0x9c, 0x44, 0xbb, 0xf1, 0x07, 0x28, 0xeb, 0x4b, 0x97, 0x64, 0xdf, 0x25, 0x58, 0x4d, 0x81, 0xc9, 0x9c, 0x44, 0xb9, 0xf1, 0x27, 0x30, 0xd5, 0xa5, 0x0b, 0xb2, 0x6f,
0xd2, 0xbb, 0xf3, 0xd5, 0xbd, 0x19, 0x73, 0x35, 0x4c, 0xc5, 0xfc, 0x30, 0x35, 0xa1, 0xe8, 0xc7, 0xe8, 0xed, 0xd9, 0xfa, 0xde, 0xb4, 0xb9, 0x1e, 0xa6, 0x62, 0x76, 0x98, 0x9a, 0x50, 0xf4, 0x97,
0x1a, 0xb4, 0x46, 0xe4, 0x2a, 0x6b, 0xaf, 0x9c, 0x6b, 0xef, 0x19, 0xd8, 0x84, 0x3a, 0xde, 0x9d, 0x0a, 0xb4, 0x46, 0xc4, 0x2a, 0x6d, 0xcf, 0xcc, 0xb4, 0xf7, 0x02, 0x2c, 0x42, 0x1d, 0xef, 0x56,
0xe2, 0xeb, 0x1e, 0x54, 0xe1, 0xef, 0x16, 0xec, 0x5f, 0x3a, 0xcb, 0xd0, 0x9d, 0x67, 0x4c, 0xdf, 0xf2, 0x75, 0x07, 0xaa, 0xf0, 0x2f, 0x03, 0xf6, 0x2e, 0x9c, 0x55, 0xe0, 0xce, 0x52, 0xa6, 0xef,
0x93, 0x98, 0x87, 0xd0, 0xe0, 0xe6, 0x68, 0x8e, 0x99, 0x75, 0x67, 0xbe, 0x67, 0x35, 0x79, 0xb9, 0x48, 0xcc, 0x63, 0x68, 0x30, 0x7d, 0x34, 0xc3, 0x4c, 0xde, 0x29, 0x6b, 0xf1, 0x42, 0x77, 0x25,
0x9e, 0xe5, 0xb8, 0x72, 0x55, 0x70, 0xe8, 0x52, 0xd9, 0x51, 0x49, 0x76, 0x94, 0xd9, 0xaa, 0x53, 0x47, 0x4a, 0x35, 0x5e, 0x52, 0x8d, 0xe7, 0x7c, 0x59, 0x5e, 0x4c, 0x31, 0x9d, 0x19, 0x5e, 0xc4,
0x4e, 0x9d, 0x45, 0x7b, 0x27, 0x19, 0x0c, 0xb5, 0xee, 0x7f, 0x2b, 0x41, 0xf5, 0x2a, 0x7d, 0x23, 0x48, 0x33, 0xd9, 0x54, 0xe0, 0x52, 0x7b, 0x47, 0x6c, 0x35, 0x48, 0x6a, 0x4b, 0x36, 0x18, 0x75,
0xa1, 0x3e, 0x54, 0x8d, 0xa2, 0xd0, 0x81, 0xae, 0x71, 0xe3, 0xad, 0xd4, 0xd9, 0xa8, 0x1c, 0x17, 0xe6, 0x76, 0x39, 0x1e, 0x1e, 0xb9, 0xee, 0xfd, 0x28, 0x41, 0xf5, 0x32, 0x79, 0x6b, 0xa1, 0x1e,
0x50, 0x0f, 0xca, 0x4a, 0xc0, 0xc8, 0xd6, 0x3b, 0x39, 0x2d, 0x77, 0x5a, 0x6b, 0x08, 0x89, 0x44, 0x54, 0xb5, 0xea, 0xd0, 0xbe, 0xea, 0x63, 0xe3, 0xcd, 0xd5, 0xde, 0xe8, 0x0e, 0x17, 0x50, 0x17,
0xe5, 0x81, 0xc7, 0x00, 0xb3, 0x90, 0x99, 0x34, 0x90, 0x00, 0x2a, 0x55, 0x6e, 0x01, 0x7f, 0x09, 0x4c, 0x29, 0x72, 0x64, 0xa9, 0x9d, 0x8c, 0xde, 0xdb, 0xad, 0x1c, 0x42, 0x2c, 0x63, 0x71, 0xe0,
0x7b, 0x79, 0x9d, 0xa2, 0xb6, 0x8e, 0xd8, 0x22, 0xdd, 0x2d, 0x67, 0x9f, 0x43, 0x3d, 0x27, 0x35, 0x29, 0xc0, 0x34, 0x88, 0x74, 0x1a, 0x88, 0x01, 0xa5, 0x72, 0xb7, 0x80, 0xbf, 0x86, 0xdd, 0xac,
0xf4, 0x9f, 0x0e, 0xf8, 0x53, 0x7c, 0x9d, 0x86, 0xde, 0x30, 0x5e, 0x79, 0xf0, 0x14, 0x1a, 0x6b, 0x96, 0x91, 0xad, 0x22, 0xb6, 0xc8, 0x7b, 0xcb, 0xd9, 0x97, 0x50, 0xcf, 0xc8, 0x11, 0x3d, 0x50,
0x5a, 0x41, 0xff, 0xeb, 0x88, 0x6d, 0xfa, 0xe9, 0xa0, 0x6c, 0x2a, 0x33, 0x25, 0xe0, 0xc2, 0x89, 0x01, 0xff, 0x0a, 0xb4, 0xdd, 0x50, 0x1b, 0xda, 0x2b, 0x0e, 0x9e, 0x40, 0x23, 0xa7, 0x27, 0xf4,
0x25, 0x0b, 0xaf, 0x65, 0x03, 0x84, 0xfe, 0x49, 0x89, 0x58, 0x1f, 0xa8, 0x4e, 0xc2, 0xf0, 0xc6, 0x50, 0x45, 0x6c, 0xd3, 0x58, 0x1b, 0xa5, 0x93, 0x9b, 0xaa, 0x05, 0x17, 0x8e, 0x0d, 0x51, 0x78,
0xb8, 0xe0, 0xc2, 0xc7, 0x5d, 0xfd, 0x61, 0x78, 0xfa, 0x3b, 0x00, 0x00, 0xff, 0xff, 0xc9, 0x55, 0x2d, 0x1d, 0x32, 0x74, 0x2f, 0x21, 0x22, 0x3f, 0x74, 0xed, 0x98, 0xe1, 0x8d, 0x91, 0xc2, 0x85,
0xd0, 0xdf, 0x39, 0x06, 0x00, 0x00, 0xcf, 0x65, 0xf5, 0xf1, 0x78, 0xfe, 0x37, 0x00, 0x00, 0xff, 0xff, 0xdb, 0xb0, 0xef, 0x13, 0x5d,
0x06, 0x00, 0x00,
} }
...@@ -136,12 +136,14 @@ message LaunchSignature { ...@@ -136,12 +136,14 @@ message LaunchSignature {
ErrorCode errorCode = 1; ErrorCode errorCode = 1;
/// The unique signature generated by the platform for this specific signature attempt /// The unique signature generated by the platform for this specific signature attempt
string signatureUuid = 2; string signatureUuid = 2;
/// The SHA-512 hash of the contract document
bytes documentHash = 3;
/// A confirmation of client hashes for communication authentication /// A confirmation of client hashes for communication authentication
repeated bytes keyHash = 3; repeated bytes keyHash = 4;
/// The signing sequence generated on-the-fly by the platform /// The signing sequence generated on-the-fly by the platform
repeated uint32 sequence = 4; repeated uint32 sequence = 5;
/// The cryptographic object of the signature of this structure (hash and errorCode excepted) by the platform, for data certification. /// The cryptographic object of the signature of this structure (seal and errorCode excepted) by the platform, for data certification.
/// The signature is computed using auth.SignStructure function: /// The signature is computed using auth.SignStructure function:
/// PKCS1v15 + SHA512 hash of the string representation of the structure /// PKCS1v15 + SHA512 hash of the string representation of the structure
bytes seal = 5; bytes seal = 6;
} }
...@@ -14,10 +14,11 @@ import ( ...@@ -14,10 +14,11 @@ import (
// readySignal is the structure that is transmitted accross goroutines // readySignal is the structure that is transmitted accross goroutines
type readySignal struct { type readySignal struct {
ready bool // If true, this is the ready signal. If not, this is a new connection signal ready bool // If true, this is the ready signal. If not, this is a new connection signal
data string // Various data (CN or SignatureUUID) data string // Various data (CN or SignatureUUID)
chain [][]byte // Only used to broadcast hash chain (signers hashes in order) documentHash []byte // Contract document SHA-512 hash
sequence []uint32 // Only used to broadcast signature sequence chain [][]byte // Only used to broadcast hash chain (signers hashes in order)
sequence []uint32 // Only used to broadcast signature sequence
} }
// ReadySign is the last job of the platform before the signature can occur. // ReadySign is the last job of the platform before the signature can occur.
...@@ -56,6 +57,7 @@ func ReadySign(db *mgdb.MongoManager, rooms *common.WaitingGroupMap, ctx *contex ...@@ -56,6 +57,7 @@ func ReadySign(db *mgdb.MongoManager, rooms *common.WaitingGroupMap, ctx *contex
return &api.LaunchSignature{ return &api.LaunchSignature{
ErrorCode: &api.ErrorCode{Code: api.ErrorCode_SUCCESS}, ErrorCode: &api.ErrorCode{Code: api.ErrorCode_SUCCESS},
SignatureUuid: s.data, SignatureUuid: s.data,
DocumentHash: s.documentHash,
KeyHash: s.chain, KeyHash: s.chain,
Sequence: s.sequence, Sequence: s.sequence,
} }
...@@ -110,10 +112,11 @@ func masterReadyRoutine(db *mgdb.MongoManager, rooms *common.WaitingGroupMap, co ...@@ -110,10 +112,11 @@ func masterReadyRoutine(db *mgdb.MongoManager, rooms *common.WaitingGroupMap, co
ready := FindAndUpdatePendingSigner(cn, &signersReady, &contract.Signers) ready := FindAndUpdatePendingSigner(cn, &signersReady, &contract.Signers)
if ready { if ready {
rooms.Broadcast(roomID, &readySignal{ rooms.Broadcast(roomID, &readySignal{
ready: true, ready: true,
data: bson.NewObjectId().Hex(), data: bson.NewObjectId().Hex(),
chain: contract.GetHashChain(), documentHash: contract.File.Hash,
sequence: GenerateSignSequence(len(contract.Signers)), chain: contract.GetHashChain(),
sequence: GenerateSignSequence(len(contract.Signers)),
}) })
work = false work = false
} }
......
...@@ -146,6 +146,7 @@ func IsPlatformSealValid(promise *cAPI.Promise) bool { ...@@ -146,6 +146,7 @@ func IsPlatformSealValid(promise *cAPI.Promise) bool {
theoric := pAPI.LaunchSignature{ theoric := pAPI.LaunchSignature{
SignatureUuid: promise.Context.SignatureUUID, SignatureUuid: promise.Context.SignatureUUID,
DocumentHash: promise.Context.ContractDocumentHash,
KeyHash: promise.Context.Signers, KeyHash: promise.Context.Signers,
Sequence: promise.Context.Sequence, Sequence: promise.Context.Sequence,
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment