Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
dfss
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
7
Issues
7
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mpcs
dfss
Commits
13dd77aa
Commit
13dd77aa
authored
Apr 14, 2016
by
Loïck Bonniot
3
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[p] Add GetContract API
parent
9c2d90f8
Pipeline
#610
passed with stage
Changes
15
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
323 additions
and
69 deletions
+323
-69
dfssc/api/client.pb.go
dfssc/api/client.pb.go
+4
-0
dfssd/api/demonstrator.pb.go
dfssd/api/demonstrator.pb.go
+4
-0
dfssp/api/platform.pb.go
dfssp/api/platform.pb.go
+113
-46
dfssp/api/platform.proto
dfssp/api/platform.proto
+13
-0
dfssp/contract/contract_test.go
dfssp/contract/contract_test.go
+17
-7
dfssp/contract/create_test.go
dfssp/contract/create_test.go
+0
-4
dfssp/contract/fetch.go
dfssp/contract/fetch.go
+37
-0
dfssp/contract/fetch_test.go
dfssp/contract/fetch_test.go
+86
-0
dfssp/contract/file.go
dfssp/contract/file.go
+0
-1
dfssp/contract/join.go
dfssp/contract/join.go
+2
-1
dfssp/entities/contract.go
dfssp/entities/contract.go
+13
-8
dfssp/server/server.go
dfssp/server/server.go
+11
-2
dfsst/api/resolution.pb.go
dfsst/api/resolution.pb.go
+4
-0
mockp/server/server.go
mockp/server/server.go
+8
-0
net/server.go
net/server.go
+11
-0
No files found.
dfssc/api/client.pb.go
View file @
13dd77aa
...
...
@@ -83,6 +83,10 @@ func init() {
var
_
context
.
Context
var
_
grpc
.
ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const
_
=
grpc
.
SupportPackageIsVersion1
// Client API for Client service
type
ClientClient
interface
{
...
...
dfssd/api/demonstrator.pb.go
View file @
13dd77aa
...
...
@@ -62,6 +62,10 @@ func init() {
var
_
context
.
Context
var
_
grpc
.
ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const
_
=
grpc
.
SupportPackageIsVersion1
// Client API for Demonstrator service
type
DemonstratorClient
interface
{
...
...
dfssp/api/platform.pb.go
View file @
13dd77aa
...
...
@@ -15,6 +15,8 @@ It has these top-level messages:
RegisteredUser
Empty
PostContractRequest
GetContractRequest
Contract
JoinSignatureRequest
UserConnected
User
...
...
@@ -146,6 +148,35 @@ func (m *PostContractRequest) String() string { return proto.CompactT
func
(
*
PostContractRequest
)
ProtoMessage
()
{}
func
(
*
PostContractRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
5
}
}
// GetContractRequest message contains the uuid of the asked contract
type
GetContractRequest
struct
{
Uuid
string
`protobuf:"bytes,1,opt,name=uuid" json:"uuid,omitempty"`
}
func
(
m
*
GetContractRequest
)
Reset
()
{
*
m
=
GetContractRequest
{}
}
func
(
m
*
GetContractRequest
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
GetContractRequest
)
ProtoMessage
()
{}
func
(
*
GetContractRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
6
}
}
// Contract is the return value when a contract is fetched from the platform.
// The contract is in json format to avoid duplicating structures.
type
Contract
struct
{
ErrorCode
*
ErrorCode
`protobuf:"bytes,1,opt,name=errorCode" json:"errorCode,omitempty"`
Json
[]
byte
`protobuf:"bytes,2,opt,name=json,proto3" json:"json,omitempty"`
}
func
(
m
*
Contract
)
Reset
()
{
*
m
=
Contract
{}
}
func
(
m
*
Contract
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Contract
)
ProtoMessage
()
{}
func
(
*
Contract
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
7
}
}
func
(
m
*
Contract
)
GetErrorCode
()
*
ErrorCode
{
if
m
!=
nil
{
return
m
.
ErrorCode
}
return
nil
}
// JoinSignatureRequest message contains the contract to join unique identifier
// and the port the client will be listening at
type
JoinSignatureRequest
struct
{
...
...
@@ -156,7 +187,7 @@ type JoinSignatureRequest struct {
func
(
m
*
JoinSignatureRequest
)
Reset
()
{
*
m
=
JoinSignatureRequest
{}
}
func
(
m
*
JoinSignatureRequest
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
JoinSignatureRequest
)
ProtoMessage
()
{}
func
(
*
JoinSignatureRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
6
}
}
func
(
*
JoinSignatureRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
8
}
}
// UserConnected is emitted by the platform to the client to announce a new client connection
type
UserConnected
struct
{
...
...
@@ -168,7 +199,7 @@ type UserConnected struct {
func
(
m
*
UserConnected
)
Reset
()
{
*
m
=
UserConnected
{}
}
func
(
m
*
UserConnected
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UserConnected
)
ProtoMessage
()
{}
func
(
*
UserConnected
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
7
}
}
func
(
*
UserConnected
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
9
}
}
func
(
m
*
UserConnected
)
GetErrorCode
()
*
ErrorCode
{
if
m
!=
nil
{
...
...
@@ -194,7 +225,7 @@ type User struct {
func
(
m
*
User
)
Reset
()
{
*
m
=
User
{}
}
func
(
m
*
User
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
User
)
ProtoMessage
()
{}
func
(
*
User
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
8
}
}
func
(
*
User
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
10
}
}
// ReadySignRequest contains the contract unique identitier that is ready to be signed
type
ReadySignRequest
struct
{
...
...
@@ -204,7 +235,7 @@ type ReadySignRequest struct {
func
(
m
*
ReadySignRequest
)
Reset
()
{
*
m
=
ReadySignRequest
{}
}
func
(
m
*
ReadySignRequest
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReadySignRequest
)
ProtoMessage
()
{}
func
(
*
ReadySignRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
9
}
}
func
(
*
ReadySignRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
11
}
}
// LaunchSignature is emitted by the platform when every signers are ready
type
LaunchSignature
struct
{
...
...
@@ -217,7 +248,7 @@ type LaunchSignature struct {
func
(
m
*
LaunchSignature
)
Reset
()
{
*
m
=
LaunchSignature
{}
}
func
(
m
*
LaunchSignature
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
LaunchSignature
)
ProtoMessage
()
{}
func
(
*
LaunchSignature
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
1
0
}
}
func
(
*
LaunchSignature
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
1
2
}
}
func
(
m
*
LaunchSignature
)
GetErrorCode
()
*
ErrorCode
{
if
m
!=
nil
{
...
...
@@ -233,6 +264,8 @@ func init() {
proto
.
RegisterType
((
*
RegisteredUser
)(
nil
),
"api.RegisteredUser"
)
proto
.
RegisterType
((
*
Empty
)(
nil
),
"api.Empty"
)
proto
.
RegisterType
((
*
PostContractRequest
)(
nil
),
"api.PostContractRequest"
)
proto
.
RegisterType
((
*
GetContractRequest
)(
nil
),
"api.GetContractRequest"
)
proto
.
RegisterType
((
*
Contract
)(
nil
),
"api.Contract"
)
proto
.
RegisterType
((
*
JoinSignatureRequest
)(
nil
),
"api.JoinSignatureRequest"
)
proto
.
RegisterType
((
*
UserConnected
)(
nil
),
"api.UserConnected"
)
proto
.
RegisterType
((
*
User
)(
nil
),
"api.User"
)
...
...
@@ -245,6 +278,10 @@ func init() {
var
_
context
.
Context
var
_
grpc
.
ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const
_
=
grpc
.
SupportPackageIsVersion1
// Client API for Platform service
type
PlatformClient
interface
{
...
...
@@ -252,6 +289,7 @@ type PlatformClient interface {
Auth
(
ctx
context
.
Context
,
in
*
AuthRequest
,
opts
...
grpc
.
CallOption
)
(
*
RegisteredUser
,
error
)
Unregister
(
ctx
context
.
Context
,
in
*
Empty
,
opts
...
grpc
.
CallOption
)
(
*
ErrorCode
,
error
)
PostContract
(
ctx
context
.
Context
,
in
*
PostContractRequest
,
opts
...
grpc
.
CallOption
)
(
*
ErrorCode
,
error
)
GetContract
(
ctx
context
.
Context
,
in
*
GetContractRequest
,
opts
...
grpc
.
CallOption
)
(
*
Contract
,
error
)
JoinSignature
(
ctx
context
.
Context
,
in
*
JoinSignatureRequest
,
opts
...
grpc
.
CallOption
)
(
Platform_JoinSignatureClient
,
error
)
ReadySign
(
ctx
context
.
Context
,
in
*
ReadySignRequest
,
opts
...
grpc
.
CallOption
)
(
*
LaunchSignature
,
error
)
}
...
...
@@ -300,6 +338,15 @@ func (c *platformClient) PostContract(ctx context.Context, in *PostContractReque
return
out
,
nil
}
func
(
c
*
platformClient
)
GetContract
(
ctx
context
.
Context
,
in
*
GetContractRequest
,
opts
...
grpc
.
CallOption
)
(
*
Contract
,
error
)
{
out
:=
new
(
Contract
)
err
:=
grpc
.
Invoke
(
ctx
,
"/api.Platform/GetContract"
,
in
,
out
,
c
.
cc
,
opts
...
)
if
err
!=
nil
{
return
nil
,
err
}
return
out
,
nil
}
func
(
c
*
platformClient
)
JoinSignature
(
ctx
context
.
Context
,
in
*
JoinSignatureRequest
,
opts
...
grpc
.
CallOption
)
(
Platform_JoinSignatureClient
,
error
)
{
stream
,
err
:=
grpc
.
NewClientStream
(
ctx
,
&
_Platform_serviceDesc
.
Streams
[
0
],
c
.
cc
,
"/api.Platform/JoinSignature"
,
opts
...
)
if
err
!=
nil
{
...
...
@@ -348,6 +395,7 @@ type PlatformServer interface {
Auth
(
context
.
Context
,
*
AuthRequest
)
(
*
RegisteredUser
,
error
)
Unregister
(
context
.
Context
,
*
Empty
)
(
*
ErrorCode
,
error
)
PostContract
(
context
.
Context
,
*
PostContractRequest
)
(
*
ErrorCode
,
error
)
GetContract
(
context
.
Context
,
*
GetContractRequest
)
(
*
Contract
,
error
)
JoinSignature
(
*
JoinSignatureRequest
,
Platform_JoinSignatureServer
)
error
ReadySign
(
context
.
Context
,
*
ReadySignRequest
)
(
*
LaunchSignature
,
error
)
}
...
...
@@ -404,6 +452,18 @@ func _Platform_PostContract_Handler(srv interface{}, ctx context.Context, dec fu
return
out
,
nil
}
func
_Platform_GetContract_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
)
(
interface
{},
error
)
{
in
:=
new
(
GetContractRequest
)
if
err
:=
dec
(
in
);
err
!=
nil
{
return
nil
,
err
}
out
,
err
:=
srv
.
(
PlatformServer
)
.
GetContract
(
ctx
,
in
)
if
err
!=
nil
{
return
nil
,
err
}
return
out
,
nil
}
func
_Platform_JoinSignature_Handler
(
srv
interface
{},
stream
grpc
.
ServerStream
)
error
{
m
:=
new
(
JoinSignatureRequest
)
if
err
:=
stream
.
RecvMsg
(
m
);
err
!=
nil
{
...
...
@@ -457,6 +517,10 @@ var _Platform_serviceDesc = grpc.ServiceDesc{
MethodName
:
"PostContract"
,
Handler
:
_Platform_PostContract_Handler
,
},
{
MethodName
:
"GetContract"
,
Handler
:
_Platform_GetContract_Handler
,
},
{
MethodName
:
"ReadySign"
,
Handler
:
_Platform_ReadySign_Handler
,
...
...
@@ -472,45 +536,48 @@ var _Platform_serviceDesc = grpc.ServiceDesc{
}
var
fileDescriptor0
=
[]
byte
{
// 636 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x09
,
0x6e
,
0x88
,
0x02
,
0xff
,
0x94
,
0x54
,
0x6d
,
0x6b
,
0x13
,
0x41
,
0x10
,
0xce
,
0x25
,
0xd7
,
0x97
,
0x4c
,
0x9b
,
0xf4
,
0xd8
,
0x54
,
0x89
,
0x81
,
0x4a
,
0x59
,
0x04
,
0x45
,
0x24
,
0x29
,
0x11
,
0x04
,
0xfd
,
0x76
,
0x8d
,
0xa1
,
0xad
,
0x48
,
0x28
,
0x9b
,
0x46
,
0xc1
,
0x6f
,
0xe7
,
0xdd
,
0xb6
,
0x39
,
0x9a
,
0x7b
,
0x71
,
0x77
,
0x0f
,
0xe9
,
0x37
,
0xff
,
0x87
,
0xe0
,
0xdf
,
0xf2
,
0xe7
,
0xe8
,
0xee
,
0xde
,
0xed
,
0xf5
,
0x2e
,
0x06
,
0xa1
,
0xfd
,
0x70
,
0xdd
,
0x99
,
0x9d
,
0x7d
,
0x66
,
0x9e
,
0x67
,
0x66
,
0x02
,
0x47
,
0xc1
,
0x35
,
0xe7
,
0x23
,
0xf5
,
0x49
,
0x47
,
0x5e
,
0x1a
,
0x8e
,
0xd2
,
0x95
,
0x27
,
0xae
,
0x13
,
0x16
,
0x0d
,
0x53
,
0x96
,
0x88
,
0x04
,
0xb5
,
0xa4
,
0x0f
,
0xbb
,
0x70
,
0x40
,
0xe8
,
0x4d
,
0xc8
,
0x05
,
0x65
,
0x84
,
0x7e
,
0xcb
,
0x28
,
0x17
,
0xe8
,
0x10
,
0xb6
,
0x68
,
0xe4
,
0x85
,
0xab
,
0xbe
,
0x75
,
0x6c
,
0xbd
,
0x68
,
0x93
,
0xdc
,
0x40
,
0x7d
,
0xd8
,
0x61
,
0x79
,
0x40
,
0xbf
,
0xa9
,
0xfd
,
0xc6
,
0xc4
,
0xbf
,
0x2c
,
0x68
,
0x4f
,
0x19
,
0x4b
,
0xd8
,
0x24
,
0x09
,
0x28
,
0x7a
,
0x0e
,
0xb6
,
0x2f
,
0xff
,
0xeb
,
0xc7
,
0xdd
,
0x71
,
0x6f
,
0x28
,
0x93
,
0x0c
,
0xcb
,
0xdb
,
0xa1
,
0xfa
,
0x10
,
0x1d
,
0xa0
,
0x00
,
0x23
,
0xca
,
0xb9
,
0x77
,
0x43
,
0x0d
,
0x60
,
0x61
,
0xe2
,
0x19
,
0xd8
,
0x1a
,
0x6a
,
0x0f
,
0x76
,
0xe6
,
0x8b
,
0xc9
,
0x64
,
0x3a
,
0x9f
,
0x3b
,
0x0d
,
0x04
,
0xb0
,
0x7d
,
0x31
,
0xfb
,
0xe4
,
0x92
,
0x33
,
0xc7
,
0x52
,
0x17
,
0xa7
,
0xee
,
0x7b
,
0x77
,
0x71
,
0x75
,
0xee
,
0x34
,
0x95
,
0xf1
,
0xd9
,
0x25
,
0xb3
,
0x8b
,
0xd9
,
0x99
,
0xd3
,
0x42
,
0x3d
,
0x15
,
0x75
,
0x35
,
0x25
,
0xc4
,
0xf9
,
0x63
,
0xfe
,
0x2c
,
0xfc
,
0x16
,
0xf6
,
0xdc
,
0x4c
,
0x2c
,
0xff
,
0xcf
,
0x4f
,
0x7a
,
0x45
,
0x72
,
0x4b
,
0xe3
,
0xa2
,
0x98
,
0xdc
,
0xc0
,
0x27
,
0xd0
,
0x35
,
0xf2
,
0xd0
,
0x60
,
0xc1
,
0x29
,
0x43
,
0x4f
,
0x01
,
0xfc
,
0x55
,
0x48
,
0x63
,
0x31
,
0xa1
,
0x4c
,
0x14
,
0x10
,
0x15
,
0x0f
,
0xde
,
0x81
,
0xad
,
0x69
,
0x94
,
0x8a
,
0x3b
,
0xfc
,
0x1d
,
0x7a
,
0x97
,
0x09
,
0x17
,
0x93
,
0x24
,
0x16
,
0xcc
,
0xf3
,
0x85
,
0xc9
,
0x8e
,
0xc0
,
0x5e
,
0x7a
,
0x7c
,
0xa9
,
0x5f
,
0xee
,
0x13
,
0x7d
,
0x46
,
0x03
,
0xd8
,
0xbd
,
0x0e
,
0x57
,
0x34
,
0xf6
,
0x22
,
0xa3
,
0x45
,
0x69
,
0xa3
,
0xc7
,
0xb0
,
0xcd
,
0xc3
,
0x9b
,
0x98
,
0xb2
,
0x7e
,
0xeb
,
0xb8
,
0x25
,
0x6f
,
0x0a
,
0x4b
,
0xc9
,
0xe7
,
0x27
,
0x51
,
0x24
,
0xd3
,
0xf6
,
0xed
,
0x5c
,
0xbe
,
0xc2
,
0x94
,
0xf2
,
0x1d
,
0x7e
,
0x48
,
0xc2
,
0x78
,
0x2e
,
0xe3
,
0x3c
,
0x91
,
0x31
,
0x6a
,
0x32
,
0x63
,
0xd8
,
0xf7
,
0x8b
,
0x62
,
0x16
,
0x59
,
0x18
,
0x14
,
0xb5
,
0xd7
,
0x7c
,
0xaa
,
0xba
,
0x34
,
0x61
,
0x79
,
0x8b
,
0x3b
,
0x44
,
0x9f
,
0xf1
,
0x0f
,
0x0b
,
0x3a
,
0x8a
,
0xba
,
0x64
,
0x12
,
0x53
,
0x5f
,
0xd0
,
0x00
,
0xbd
,
0x82
,
0x36
,
0x35
,
0x2d
,
0xd5
,
0x30
,
0x7b
,
0xe3
,
0x6e
,
0xbd
,
0xd1
,
0xe4
,
0x3e
,
0xe0
,
0x9f
,
0xbc
,
0xcd
,
0x0d
,
0x79
,
0x8f
,
0xc0
,
0xce
,
0xb8
,
0xe6
,
0xa8
,
0xc0
,
0xda
,
0x1a
,
0x4c
,
0xe5
,
0x24
,
0xda
,
0x8d
,
0xbf
,
0x80
,
0xad
,
0xc5
,
0x97
,
0xa4
,
0x6f
,
0xe9
,
0xdd
,
0xf9
,
0xbd
,
0x7e
,
0xc6
,
0xbc
,
0x6f
,
0x6a
,
0xb3
,
0xda
,
0xd4
,
0x2e
,
0x34
,
0xc3
,
0x54
,
0x83
,
0xb6
,
0x89
,
0x3c
,
0x95
,
0xf4
,
0xec
,
0x0a
,
0xbd
,
0x37
,
0xe0
,
0x10
,
0xea
,
0x05
,
0x77
,
0x4a
,
0xaf
,
0x07
,
0x48
,
0x85
,
0x7f
,
0x5a
,
0x70
,
0xf0
,
0xd1
,
0xcb
,
0x62
,
0x7f
,
0x59
,
0x2a
,
0xfd
,
0x40
,
0x61
,
0x9e
,
0x41
,
0x87
,
0x9b
,
0xa7
,
0x15
,
0x65
,
0xea
,
0xce
,
0x2a
,
0x67
,
0x35
,
0x01
,
0x15
,
0xce
,
0x72
,
0x6c
,
0xb8
,
0x2a
,
0x38
,
0xf6
,
0xa9
,
0x64
,
0xd4
,
0x92
,
0x8c
,
0x4a
,
0x7b
,
0xfc
,
0xbb
,
0x09
,
0xbb
,
0x97
,
0xc5
,
0xbe
,
0xa3
,
0x31
,
0xec
,
0x9a
,
0x29
,
0x46
,
0x87
,
0xba
,
0x9e
,
0xb5
,
0x9d
,
0x1f
,
0xac
,
0x55
,
0x89
,
0x1b
,
0x68
,
0x04
,
0xb6
,
0x5a
,
0x1a
,
0xe4
,
0xe8
,
0x9b
,
0xca
,
0xfe
,
0x0c
,
0x7a
,
0x35
,
0x84
,
0x7c
,
0x2d
,
0xe4
,
0x83
,
0x97
,
0x00
,
0x8b
,
0x98
,
0x99
,
0x34
,
0x90
,
0x03
,
0xaa
,
0x4d
,
0xd8
,
0x00
,
0xfe
,
0x0e
,
0xf6
,
0xab
,
0xbb
,
0x81
,
0xfa
,
0x3a
,
0x62
,
0xc3
,
0xba
,
0x6c
,
0x78
,
0x7b
,
0x0a
,
0x9d
,
0xda
,
0x78
,
0xa3
,
0x27
,
0x3a
,
0x64
,
0xd3
,
0xc8
,
0x0f
,
0x50
,
0x39
,
0x48
,
0xe5
,
0xf0
,
0xe2
,
0xc6
,
0x89
,
0x25
,
0xf3
,
0xb7
,
0xcb
,
0x9e
,
0xa3
,
0x47
,
0x05
,
0x9f
,
0xfa
,
0x0c
,
0x0c
,
0x72
,
0xa1
,
0xd6
,
0x3a
,
0x8c
,
0x1b
,
0x5f
,
0xb7
,
0xf5
,
0xaf
,
0xe7
,
0xeb
,
0xbf
,
0x01
,
0x00
,
0x00
,
0xff
,
0xff
,
0x3f
,
0xa2
,
0x07
,
0x22
,
0x5e
,
0x05
,
0x00
,
0x00
,
// 684 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x09
,
0x6e
,
0x88
,
0x02
,
0xff
,
0x94
,
0x54
,
0xdf
,
0x6f
,
0x12
,
0x4f
,
0x10
,
0xe7
,
0xe0
,
0xda
,
0xc2
,
0x50
,
0xe8
,
0x65
,
0xe9
,
0xf7
,
0x2b
,
0x92
,
0xd4
,
0x34
,
0x1b
,
0x13
,
0x1b
,
0x63
,
0xa0
,
0xc1
,
0x44
,
0xa3
,
0x6f
,
0x14
,
0x49
,
0x5b
,
0xd3
,
0x90
,
0x66
,
0x29
,
0x9a
,
0xf8
,
0x76
,
0x1e
,
0xdb
,
0x72
,
0x96
,
0xfb
,
0xe1
,
0xee
,
0x12
,
0xd3
,
0x37
,
0xff
,
0x04
,
0xdf
,
0x4d
,
0xfc
,
0x57
,
0x75
,
0x77
,
0xef
,
0xf6
,
0x38
,
0xf0
,
0x62
,
0x02
,
0x0f
,
0xc7
,
0xce
,
0xec
,
0xec
,
0x67
,
0x66
,
0x3e
,
0x3b
,
0x9f
,
0x85
,
0xa3
,
0xd9
,
0x2d
,
0xe7
,
0x3d
,
0xf5
,
0x89
,
0x7b
,
0x6e
,
0xec
,
0xf7
,
0xe2
,
0x85
,
0x2b
,
0x6e
,
0x23
,
0x16
,
0x74
,
0x63
,
0x16
,
0x89
,
0x08
,
0x55
,
0xa4
,
0x0f
,
0x0f
,
0xe0
,
0x80
,
0xd0
,
0x3b
,
0x9f
,
0x0b
,
0xca
,
0x08
,
0xfd
,
0xba
,
0xa4
,
0x5c
,
0xa0
,
0x43
,
0xd8
,
0xa1
,
0x81
,
0xeb
,
0x2f
,
0xda
,
0xd6
,
0xb1
,
0x75
,
0x52
,
0x23
,
0x89
,
0x81
,
0xda
,
0xb0
,
0xc7
,
0x92
,
0x80
,
0x76
,
0x59
,
0xfb
,
0x8d
,
0x89
,
0x7f
,
0x59
,
0x50
,
0x1b
,
0x31
,
0x16
,
0xb1
,
0x61
,
0x34
,
0xa3
,
0xe8
,
0x19
,
0xd8
,
0x9e
,
0xfc
,
0xd7
,
0x87
,
0x9b
,
0xfd
,
0x56
,
0x57
,
0x26
,
0xe9
,
0x66
,
0xbb
,
0x5d
,
0xf5
,
0x21
,
0x3a
,
0x40
,
0x01
,
0x06
,
0x94
,
0x73
,
0xf7
,
0x8e
,
0x1a
,
0xc0
,
0xd4
,
0xc4
,
0x63
,
0xb0
,
0x35
,
0x54
,
0x1d
,
0xf6
,
0x26
,
0xd3
,
0xe1
,
0x70
,
0x34
,
0x99
,
0x38
,
0x25
,
0x04
,
0xb0
,
0x7b
,
0x39
,
0xfe
,
0x30
,
0x20
,
0xe7
,
0x8e
,
0xa5
,
0x36
,
0xce
,
0x06
,
0xef
,
0x06
,
0xd3
,
0x9b
,
0x0b
,
0xa7
,
0xac
,
0x8c
,
0x8f
,
0x03
,
0x32
,
0xbe
,
0x1c
,
0x9f
,
0x3b
,
0x15
,
0xd4
,
0x52
,
0x51
,
0x37
,
0x23
,
0x42
,
0x9c
,
0xdf
,
0xe6
,
0x67
,
0xe1
,
0x37
,
0x50
,
0x1f
,
0x2c
,
0xc5
,
0xfc
,
0xdf
,
0xfd
,
0x49
,
0xaf
,
0x88
,
0xee
,
0x69
,
0x98
,
0x16
,
0x93
,
0x18
,
0xf8
,
0x14
,
0x9a
,
0x86
,
0x1e
,
0x3a
,
0x9b
,
0x72
,
0xca
,
0xd0
,
0x13
,
0x00
,
0x6f
,
0xe1
,
0xd3
,
0x50
,
0x0c
,
0x29
,
0x13
,
0x29
,
0x44
,
0xce
,
0x83
,
0xf7
,
0x60
,
0x67
,
0x14
,
0xc4
,
0xe2
,
0x01
,
0x7f
,
0x83
,
0xd6
,
0x75
,
0xc4
,
0xc5
,
0x30
,
0x0a
,
0x05
,
0x73
,
0x3d
,
0x61
,
0xb2
,
0x23
,
0xb0
,
0xe7
,
0x2e
,
0x9f
,
0xeb
,
0x93
,
0xfb
,
0x44
,
0xaf
,
0x51
,
0x07
,
0xaa
,
0xb7
,
0xfe
,
0x82
,
0x86
,
0x6e
,
0x60
,
0xb8
,
0xc8
,
0x6c
,
0xf4
,
0x3f
,
0xec
,
0x72
,
0xff
,
0x2e
,
0xa4
,
0xac
,
0x5d
,
0x39
,
0xae
,
0xc8
,
0x9d
,
0xd4
,
0x52
,
0xf4
,
0x79
,
0x51
,
0x10
,
0xc8
,
0xb4
,
0x6d
,
0x3b
,
0xa1
,
0x2f
,
0x35
,
0xf1
,
0x09
,
0xa0
,
0x73
,
0x5a
,
0x94
,
0x77
,
0xb9
,
0xf4
,
0x67
,
0x69
,
0xc5
,
0x7a
,
0x8d
,
0xaf
,
0xa0
,
0x6a
,
0xc2
,
0xd0
,
0x0b
,
0xa8
,
0x51
,
0x73
,
0x4d
,
0x3a
,
0xa8
,
0xde
,
0x6f
,
0xae
,
0x5f
,
0x1e
,
0x59
,
0x05
,
0x28
,
0xb4
,
0x2f
,
0x3c
,
0x4a
,
0xc8
,
0x92
,
0x5d
,
0xa8
,
0xb5
,
0xbc
,
0xb6
,
0xc3
,
0xf7
,
0x91
,
0x1f
,
0x4e
,
0x64
,
0x7d
,
0xae
,
0x58
,
0x32
,
0x6a
,
0x32
,
0x63
,
0xd8
,
0xf7
,
0xd2
,
0x2c
,
0xd3
,
0x55
,
0x05
,
0x6b
,
0x3e
,
0x85
,
0x17
,
0x47
,
0x2c
,
0x19
,
0xad
,
0x06
,
0xd1
,
0x6b
,
0xfc
,
0xdd
,
0x82
,
0x86
,
0xa2
,
0x5c
,
0x96
,
0x18
,
0x52
,
0x4f
,
0xd0
,
0xd9
,
0x96
,
0x35
,
0x6e
,
0xe6
,
0x2d
,
0x17
,
0xe4
,
0x3d
,
0x92
,
0xac
,
0x70
,
0xcd
,
0xad
,
0x02
,
0xab
,
0x69
,
0x30
,
0x95
,
0x93
,
0x68
,
0x37
,
0xfe
,
0x04
,
0xb6
,
0xbe
,
0x74
,
0x49
,
0xf6
,
0x3d
,
0x7d
,
0xb8
,
0x58
,
0xdd
,
0x9b
,
0x31
,
0x57
,
0xc3
,
0x54
,
0xce
,
0x0f
,
0x53
,
0x13
,
0xca
,
0x7e
,
0xac
,
0x41
,
0x6b
,
0x44
,
0xae
,
0xb2
,
0xf6
,
0xec
,
0x5c
,
0x7b
,
0xaf
,
0xc0
,
0x21
,
0xd4
,
0x9d
,
0x3d
,
0x28
,
0xbe
,
0xb6
,
0xa0
,
0x0a
,
0xff
,
0xb4
,
0xe0
,
0xe0
,
0xca
,
0x5d
,
0x86
,
0xde
,
0x3c
,
0x63
,
0x7a
,
0x4b
,
0x62
,
0x9e
,
0x42
,
0x83
,
0x9b
,
0xa3
,
0x39
,
0x66
,
0xd6
,
0x9d
,
0xf9
,
0x9e
,
0xd5
,
0xe4
,
0xe5
,
0x7a
,
0x96
,
0xe3
,
0xca
,
0x55
,
0xc1
,
0xa1
,
0x47
,
0x65
,
0x47
,
0x15
,
0xd9
,
0x51
,
0x66
,
0xf7
,
0x7f
,
0x54
,
0xa0
,
0x7a
,
0x9d
,
0xbe
,
0x33
,
0xa8
,
0x0f
,
0x55
,
0xa3
,
0x1e
,
0x74
,
0xa8
,
0xeb
,
0xd9
,
0x78
,
0x6b
,
0x3a
,
0x1b
,
0x55
,
0xe2
,
0x12
,
0xea
,
0x81
,
0xad
,
0xc4
,
0x8a
,
0x1c
,
0xbd
,
0x93
,
0xd3
,
0x6d
,
0xa7
,
0xb5
,
0x86
,
0x90
,
0xc8
,
0x51
,
0x1e
,
0x78
,
0x0e
,
0x30
,
0x0d
,
0x99
,
0x49
,
0x03
,
0x09
,
0xa0
,
0x52
,
0x60
,
0x01
,
0xf8
,
0x5b
,
0xd8
,
0xcf
,
0x6b
,
0x12
,
0xb5
,
0x75
,
0x44
,
0x81
,
0x4c
,
0x0b
,
0xce
,
0xbe
,
0x86
,
0x7a
,
0x4e
,
0x56
,
0xe8
,
0x91
,
0x0e
,
0xf8
,
0x5b
,
0x68
,
0x9d
,
0x86
,
0xde
,
0x30
,
0x5e
,
0x79
,
0xf0
,
0x0c
,
0x1a
,
0x6b
,
0xba
,
0x40
,
0x8f
,
0x75
,
0x44
,
0x91
,
0x56
,
0x3a
,
0x28
,
0x9b
,
0xc0
,
0x6c
,
0xea
,
0x71
,
0xe9
,
0xd4
,
0x92
,
0x85
,
0xd7
,
0xb2
,
0x61
,
0x41
,
0xff
,
0xa5
,
0x44
,
0xac
,
0x0f
,
0x4f
,
0x27
,
0x61
,
0x78
,
0x63
,
0x34
,
0x70
,
0xe9
,
0xf3
,
0xae
,
0x7e
,
0xee
,
0x5f
,
0xfe
,
0x09
,
0x00
,
0x00
,
0xff
,
0xff
,
0x57
,
0x09
,
0xac
,
0xbb
,
0x0f
,
0x06
,
0x00
,
0x00
,
}
dfssp/api/platform.proto
View file @
13dd77aa
...
...
@@ -7,6 +7,7 @@ service Platform {
rpc
Auth
(
AuthRequest
)
returns
(
RegisteredUser
)
{}
rpc
Unregister
(
Empty
)
returns
(
ErrorCode
)
{}
rpc
PostContract
(
PostContractRequest
)
returns
(
ErrorCode
)
{}
rpc
GetContract
(
GetContractRequest
)
returns
(
Contract
)
{}
rpc
JoinSignature
(
JoinSignatureRequest
)
returns
(
stream
UserConnected
)
{}
rpc
ReadySign
(
ReadySignRequest
)
returns
(
LaunchSignature
)
{}
// Warning, LaunchSignature can be emitted with a very high delay
}
...
...
@@ -63,6 +64,18 @@ message PostContractRequest {
string
comment
=
4
;
}
// GetContractRequest message contains the uuid of the asked contract
message
GetContractRequest
{
string
uuid
=
1
;
}
// Contract is the return value when a contract is fetched from the platform.
// The contract is in json format to avoid duplicating structures.
Richer Maximilien
@mricher
·
Apr 14, 2016
Maintainer
Good thing to send the JSON here :thumbs_up_reverse:
Good thing to send the JSON here :thumbs_up_reverse:
Please
register
or
sign in
to reply
message
Contract
{
ErrorCode
errorCode
=
1
;
bytes
json
=
2
;
}
// JoinSignatureRequest message contains the contract to join unique identifier
// and the port the client will be listening at
message
JoinSignatureRequest
{
...
...
dfssp/contract/contract_test.go
View file @
13dd77aa
...
...
@@ -14,7 +14,6 @@ import (
"gopkg.in/mgo.v2/bson"
)
var
err
error
var
collection
*
mgdb
.
MongoCollection
var
manager
*
mgdb
.
MongoManager
var
dbURI
string
...
...
@@ -28,6 +27,7 @@ func TestMain(m *testing.M) {
dbURI
=
"mongodb://localhost/dfss-test"
}
var
err
error
manager
,
err
=
mgdb
.
NewManager
(
dbURI
)
if
err
!=
nil
{
fmt
.
Println
(
err
)
...
...
@@ -157,16 +157,26 @@ func TestCheckAuthorization(t *testing.T) {
createDataset
()
id
:=
addTestContract
()
assert
.
T
(
t
,
repository
.
CheckAuthorization
(
user1
.
CertHash
,
id
))
assert
.
T
(
t
,
!
repository
.
CheckAuthorization
(
user1
.
CertHash
,
bson
.
NewObjectId
()))
assert
.
T
(
t
,
!
repository
.
CheckAuthorization
(
user2
.
CertHash
,
id
))
assert
.
T
(
t
,
!
repository
.
CheckAuthorization
(
user2
.
CertHash
,
bson
.
NewObjectId
()))
res
,
err
:=
repository
.
GetWithSigner
(
user1
.
CertHash
,
id
)
assert
.
Equal
(
t
,
nil
,
err
)
assert
.
T
(
t
,
res
!=
nil
)
res
,
err
=
repository
.
GetWithSigner
(
user1
.
CertHash
,
bson
.
NewObjectId
())
assert
.
Equal
(
t
,
nil
,
err
)
assert
.
T
(
t
,
res
==
nil
)
res
,
err
=
repository
.
GetWithSigner
(
user2
.
CertHash
,
id
)
assert
.
Equal
(
t
,
nil
,
err
)
assert
.
T
(
t
,
res
==
nil
)
res
,
err
=
repository
.
GetWithSigner
(
user2
.
CertHash
,
bson
.
NewObjectId
())
assert
.
Equal
(
t
,
nil
,
err
)
assert
.
T
(
t
,
res
==
nil
)
contract
:=
entities
.
Contract
{}
_
=
repository
.
Collection
.
FindByID
(
entities
.
Contract
{
ID
:
id
},
&
contract
)
contract
.
Ready
=
false
_
,
_
=
repository
.
Collection
.
UpdateByID
(
contract
)
// Not valid if contract is not ready
assert
.
T
(
t
,
!
repository
.
CheckAuthorization
(
user1
.
CertHash
,
id
))
// Still valid if contract is not ready
res
,
_
=
repository
.
GetWithSigner
(
user1
.
CertHash
,
id
)
assert
.
T
(
t
,
res
!=
nil
)
assert
.
T
(
t
,
!
res
.
Ready
)
}
dfssp/contract/create_test.go
View file @
13dd77aa
...
...
@@ -20,7 +20,6 @@ var user1, user2, user3 *entities.User
var
defaultHash
=
sha512
.
Sum512
([]
byte
{
0
})
func
createDataset
()
{
user1
=
entities
.
NewUser
()
// Regular user
user2
=
entities
.
NewUser
()
// Regular user
user3
=
entities
.
NewUser
()
// Non-auth user
...
...
@@ -43,14 +42,11 @@ func createDataset() {
_
,
_
=
manager
.
Get
(
"users"
)
.
Insert
(
user1
)
_
,
_
=
manager
.
Get
(
"users"
)
.
Insert
(
user2
)
_
,
_
=
manager
.
Get
(
"users"
)
.
Insert
(
user3
)
}
func
dropDataset
()
{
_
=
manager
.
Get
(
"users"
)
.
Drop
()
_
=
manager
.
Get
(
"contracts"
)
.
Drop
()
}
func
clientTest
(
t
*
testing
.
T
)
api
.
PlatformClient
{
...
...
dfssp/contract/fetch.go
0 → 100644
View file @
13dd77aa
package
contract
import
(
"dfss/dfssp/api"
"dfss/dfssp/entities"
"dfss/mgdb"
"gopkg.in/mgo.v2/bson"
)
// Fetch returns the protobuf message when asking a specific contract containing a specific user.
func
Fetch
(
db
*
mgdb
.
MongoManager
,
contractUUID
string
,
clientHash
[]
byte
)
*
api
.
Contract
{
if
!
bson
.
IsObjectIdHex
(
contractUUID
)
{
return
&
api
.
Contract
{
ErrorCode
:
&
api
.
ErrorCode
{
Code
:
api
.
ErrorCode_INVARG
},
}
}
repository
:=
entities
.
NewContractRepository
(
db
.
Get
(
"contracts"
))
contract
,
_
:=
repository
.
GetWithSigner
(
clientHash
,
bson
.
ObjectIdHex
(
contractUUID
))
if
contract
==
nil
{
return
&
api
.
Contract
{
ErrorCode
:
&
api
.
ErrorCode
{
Code
:
api
.
ErrorCode_BADAUTH
},
}
}
data
,
err
:=
GetJSON
(
contract
,
nil
)
if
err
!=
nil
{
return
&
api
.
Contract
{
ErrorCode
:
&
api
.
ErrorCode
{
Code
:
api
.
ErrorCode_INTERR
},
}
}
return
&
api
.
Contract
{
ErrorCode
:
&
api
.
ErrorCode
{
Code
:
api
.
ErrorCode_SUCCESS
},
Json
:
data
,
}
}
dfssp/contract/fetch_test.go
0 → 100644
View file @
13dd77aa
package
contract_test
import
(
"encoding/json"
"testing"
"dfss/dfssp/api"
"dfss/dfssp/contract"
"dfss/dfssp/entities"
"github.com/bmizerany/assert"
"golang.org/x/net/context"
"gopkg.in/mgo.v2/bson"
)
var
contract1
*
entities
.
Contract
func
insertTestContract
(
insertUser1
bool
)
{
contract1
=
entities
.
NewContract
()
if
insertUser1
{
contract1
.
AddSigner
(
&
user1
.
ID
,
user1
.
Email
,
user1
.
CertHash
)
}
contract1
.
AddSigner
(
&
user2
.
ID
,
user2
.
Email
,
user2
.
CertHash
)
_
,
_
=
manager
.
Get
(
"contracts"
)
.
Insert
(
contract1
)
}
func
TestGetContract
(
t
*
testing
.
T
)
{
dropDataset
()
createDataset
()
insertTestContract
(
true
)
client
:=
clientTest
(
t
)
c
,
err
:=
client
.
GetContract
(
context
.
Background
(),
&
api
.
GetContractRequest
{
Uuid
:
contract1
.
ID
.
Hex
(),
})
assert
.
Equal
(
t
,
nil
,
err
)
assert
.
Equal
(
t
,
api
.
ErrorCode_SUCCESS
,
c
.
ErrorCode
.
Code
)
assert
.
T
(
t
,
len
(
c
.
Json
)
>
0
)
// Trying to unmarshal contract
var
entity
contract
.
JSON
err
=
json
.
Unmarshal
(
c
.
Json
,
&
entity
)
assert
.
Equal
(
t
,
nil
,
err
)
assert
.
Equal
(
t
,
2
,
len
(
entity
.
Signers
))
}
func
TestGetContractWrongSigner
(
t
*
testing
.
T
)
{
dropDataset
()
createDataset
()
insertTestContract
(
false
)
client
:=
clientTest
(
t
)
c
,
err
:=
client
.
GetContract
(
context
.
Background
(),
&
api
.
GetContractRequest
{
Uuid
:
contract1
.
ID
.
Hex
(),
})
assert
.
Equal
(
t
,
nil
,
err
)
assert
.
Equal
(
t
,
api
.
ErrorCode_BADAUTH
,
c
.
ErrorCode
.
Code
)
assert
.
Equal
(
t
,
0
,
len
(
c
.
Json
))
}
func
TestGetContractWrongContract
(
t
*
testing
.
T
)
{
dropDataset
()
createDataset
()
insertTestContract
(
true
)
client
:=
clientTest
(
t
)
c
,
err
:=
client
.
GetContract
(
context
.
Background
(),
&
api
.
GetContractRequest
{
Uuid
:
bson
.
NewObjectId
()
.
Hex
(),
})
assert
.
Equal
(
t
,
nil
,
err
)
assert
.
Equal
(
t
,
api
.
ErrorCode_BADAUTH
,
c
.
ErrorCode
.
Code
)
assert
.
Equal
(
t
,
0
,
len
(
c
.
Json
))
}
func
TestGetContractWrongContractUUID
(
t
*
testing
.
T
)
{
dropDataset
()
createDataset
()
insertTestContract
(
true
)
client
:=
clientTest
(
t
)
c
,
err
:=
client
.
GetContract
(
context
.
Background
(),
&
api
.
GetContractRequest
{
Uuid
:
"wrongUUID"
,
})
assert
.
Equal
(
t
,
nil
,
err
)
assert
.
Equal
(
t
,
api
.
ErrorCode_INVARG
,
c
.
ErrorCode
.
Code
)
assert
.
Equal
(
t
,
0
,
len
(
c
.
Json
))
}
dfssp/contract/file.go
View file @
13dd77aa
...
...
@@ -39,7 +39,6 @@ type JSON struct {
// GetJSON returns indented json from a contract and some ttp information (nil allowed)
func
GetJSON
(
c
*
entities
.
Contract
,
ttp
*
TTPJSON
)
([]
byte
,
error
)
{
data
:=
JSON
{
UUID
:
c
.
ID
.
Hex
(),
Date
:
&
c
.
Date
,
...
...
dfssp/contract/join.go
View file @
13dd77aa
...
...
@@ -84,7 +84,8 @@ func checkJoinSignatureRequest(db *mgdb.MongoManager, stream *api.Platform_JoinS
}
repository
:=
entities
.
NewContractRepository
(
db
.
Get
(
"contracts"
))
if
!
repository
.
CheckAuthorization
(
clientHash
,
bson
.
ObjectIdHex
(
contractUUID
))
{
contract
,
_
:=
repository
.
GetWithSigner
(
clientHash
,
bson
.
ObjectIdHex
(
contractUUID
))
if
contract
==
nil
||
!
contract
.
Ready
{
_
=
(
*
stream
)
.
Send
(
&
api
.
UserConnected
{
ErrorCode
:
&
api
.
ErrorCode
{
Code
:
api
.
ErrorCode_INVARG
,
...
...
dfssp/entities/contract.go
View file @
13dd77aa
...
...
@@ -4,6 +4,7 @@ import (
"dfss/mgdb"
"time"
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
)
...
...
@@ -94,16 +95,20 @@ func (r *ContractRepository) GetWaitingForUser(email string) ([]Contract, error)
return
res
,
err
}
// CheckAuthorization checks that a client is allowed to sign a specific contract
func
(
r
*
ContractRepository
)
CheckAuthorization
(
signerHash
[]
byte
,
contractID
bson
.
ObjectId
)
bool
{
count
,
_
:=
r
.
Collection
.
Collection
.
Find
(
bson
.
M
{
"_id"
:
contractID
,
"ready"
:
true
,
// GetWithSigner returns the contract corresponding to an UUID and containing a specific signer, or nil if no contract matches.
func
(
r
*
ContractRepository
)
GetWithSigner
(
signerHash
[]
byte
,
contractUUID
bson
.
ObjectId
)
(
contract
*
Contract
,
err
error
)
{
contract
=
new
(
Contract
)
err
=
r
.
Collection
.
Collection
.
Find
(
bson
.
M
{
"_id"
:
contractUUID
,
"signers"
:
bson
.
M
{
"$elemMatch"
:
bson
.
M
{
"hash"
:
signerHash
},
},
})
.
Count
(
)
})
.
One
(
contract
)
return
count
==
1
if
err
==
mgo
.
ErrNotFound
{
contract
=
nil
err
=
nil
return
}
return
}
dfssp/server/server.go
View file @
13dd77aa
...
...
@@ -49,7 +49,6 @@ func (s *platformServer) Unregister(ctx context.Context, in *api.Empty) (*api.Er
//
// Handle incoming PostContractRequest messages
func
(
s
*
platformServer
)
PostContract
(
ctx
context
.
Context
,
in
*
api
.
PostContractRequest
)
(
*
api
.
ErrorCode
,
error
)
{
cn
:=
net
.
GetCN
(
&
ctx
)
if
len
(
cn
)
==
0
{
return
&
api
.
ErrorCode
{
Code
:
api
.
ErrorCode_BADAUTH
},
nil
...
...
@@ -59,11 +58,21 @@ func (s *platformServer) PostContract(ctx context.Context, in *api.PostContractR
return
builder
.
Execute
(),
nil
}
// GetContract handler
//
// Handle incoming GetContractRequest messages
func
(
s
*
platformServer
)
GetContract
(
ctx
context
.
Context
,
in
*
api
.
GetContractRequest
)
(
*
api
.
Contract
,
error
)
{
hash
:=
net
.
GetClientHash
(
&
ctx
)
if
hash
==
nil
{
return
&
api
.
Contract
{
ErrorCode
:
&
api
.
ErrorCode
{
Code
:
api
.
ErrorCode_BADAUTH
}},
nil
}
return
contract
.
Fetch
(
s
.
DB
,
in
.
Uuid
,
hash
),
nil
}
// JoinSignature handler
//
// Handle incoming JoinSignatureRequest messages
func
(
s
*
platformServer
)
JoinSignature
(
in
*
api
.
JoinSignatureRequest
,
stream
api
.
Platform_JoinSignatureServer
)
error
{
ctx
:=
stream
.
Context
()
cn
:=
net
.
GetCN
(
&
ctx
)
if
len
(
cn
)
==
0
{
...
...
dfsst/api/resolution.pb.go
View file @
13dd77aa
...
...
@@ -74,6 +74,10 @@ func init() {