satellite: send external address in order limits (#2278)

This commit is contained in:
JT Olio 2019-06-21 03:19:52 -06:00 committed by Egon Elbre
parent 24918e072b
commit 76b54458e9
5 changed files with 166 additions and 128 deletions

View File

@ -111,6 +111,9 @@ type OrderLimit2 struct {
PieceExpiration *timestamp.Timestamp `protobuf:"bytes,8,opt,name=piece_expiration,json=pieceExpiration,proto3" json:"piece_expiration,omitempty"`
OrderExpiration *timestamp.Timestamp `protobuf:"bytes,9,opt,name=order_expiration,json=orderExpiration,proto3" json:"order_expiration,omitempty"`
SatelliteSignature []byte `protobuf:"bytes,10,opt,name=satellite_signature,json=satelliteSignature,proto3" json:"satellite_signature,omitempty"`
// satellites aren't necessarily discoverable in kademlia. this allows
// a storage node to find a satellite and handshake with it to get its key.
SatelliteAddress *NodeAddress `protobuf:"bytes,11,opt,name=satellite_address,json=satelliteAddress,proto3" json:"satellite_address,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -175,6 +178,13 @@ func (m *OrderLimit2) GetSatelliteSignature() []byte {
return nil
}
func (m *OrderLimit2) GetSatelliteAddress() *NodeAddress {
if m != nil {
return m.SatelliteAddress
}
return nil
}
// Order2 is a one step of fullfilling Amount number of bytes from an OrderLimit2 with SerialNumber
type Order2 struct {
// serial of the order limit that was signed
@ -374,47 +384,49 @@ func init() {
func init() { proto.RegisterFile("orders.proto", fileDescriptor_e0f5d4cf0fc9e41b) }
var fileDescriptor_e0f5d4cf0fc9e41b = []byte{
// 634 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0x4d, 0x6f, 0xd3, 0x40,
0x10, 0xed, 0xe6, 0xc3, 0x49, 0x26, 0x69, 0x62, 0xb6, 0x15, 0x0a, 0x11, 0x52, 0x43, 0xc4, 0x21,
0xb4, 0x52, 0x4a, 0x8d, 0x84, 0xd4, 0x63, 0xda, 0x58, 0xc5, 0xa8, 0x2a, 0xd1, 0xc6, 0xe5, 0xc0,
0x25, 0x72, 0xea, 0xc5, 0xb5, 0x70, 0xbc, 0xc6, 0xbb, 0x96, 0xf8, 0x05, 0x1c, 0xf9, 0x47, 0xdc,
0xf9, 0x0d, 0x1c, 0xfa, 0x5b, 0x90, 0xc7, 0x4e, 0xe2, 0x42, 0x50, 0x0f, 0xbd, 0xf9, 0xcd, 0xbc,
0xb7, 0x6f, 0x77, 0xde, 0x18, 0x5a, 0x22, 0x76, 0x79, 0x2c, 0x47, 0x51, 0x2c, 0x94, 0xa0, 0x5a,
0x86, 0x7a, 0xe0, 0x09, 0x4f, 0x64, 0xb5, 0xde, 0x81, 0x27, 0x84, 0x17, 0xf0, 0x63, 0x44, 0x8b,
0xe4, 0xf3, 0xb1, 0xf2, 0x97, 0x5c, 0x2a, 0x67, 0x19, 0x65, 0x84, 0xc1, 0x8f, 0x0a, 0x34, 0x3f,
0xa4, 0xba, 0x4b, 0x7f, 0xe9, 0x2b, 0x83, 0x9e, 0xc2, 0xae, 0xe4, 0xb1, 0xef, 0x04, 0xf3, 0x30,
0x59, 0x2e, 0x78, 0xdc, 0x25, 0x7d, 0x32, 0x6c, 0x9d, 0xed, 0xff, 0xba, 0x3b, 0xd8, 0xf9, 0x7d,
0x77, 0xd0, 0x9a, 0x61, 0xf3, 0x0a, 0x7b, 0xac, 0x25, 0x0b, 0x88, 0x9e, 0x40, 0x4b, 0x3a, 0x8a,
0x07, 0x81, 0xaf, 0xf8, 0xdc, 0x77, 0xbb, 0x25, 0x54, 0xb6, 0x73, 0xa5, 0x76, 0x25, 0x5c, 0x6e,
0x4d, 0x58, 0x73, 0xcd, 0xb1, 0x5c, 0x7a, 0x04, 0x8d, 0x24, 0x0a, 0xfc, 0xf0, 0x4b, 0xca, 0x2f,
0x6f, 0xe5, 0xd7, 0x33, 0x82, 0xe5, 0xd2, 0xb7, 0xd0, 0x91, 0x4a, 0xc4, 0x8e, 0xc7, 0xe7, 0xa1,
0x70, 0xd1, 0xa2, 0xb2, 0x55, 0xb2, 0x9b, 0xd3, 0x10, 0xba, 0xf4, 0x10, 0xea, 0x91, 0xcf, 0x6f,
0x50, 0x50, 0x45, 0x41, 0x27, 0x17, 0xd4, 0xa6, 0x69, 0xdd, 0x9a, 0xb0, 0x1a, 0x12, 0x2c, 0x97,
0xee, 0x43, 0x35, 0x48, 0x07, 0xd1, 0xd5, 0xfa, 0x64, 0x58, 0x66, 0x19, 0xa0, 0x47, 0xa0, 0x39,
0x37, 0xca, 0x17, 0x61, 0xb7, 0xd6, 0x27, 0xc3, 0xb6, 0xb1, 0x37, 0xca, 0x07, 0x8f, 0xfa, 0x31,
0xb6, 0x58, 0x4e, 0xa1, 0x26, 0xe8, 0x99, 0x1d, 0xff, 0x16, 0xf9, 0xb1, 0x83, 0xb2, 0x7a, 0x9f,
0x0c, 0x9b, 0x46, 0x6f, 0x94, 0xa5, 0x31, 0x5a, 0xa5, 0x31, 0xb2, 0x57, 0x69, 0xb0, 0x0e, 0x6a,
0xcc, 0xb5, 0x24, 0x3d, 0x06, 0x4d, 0x8a, 0xc7, 0x34, 0x1e, 0x3e, 0x06, 0x35, 0x85, 0x63, 0x8e,
0x61, 0x6f, 0x13, 0x8a, 0xf4, 0xbd, 0xd0, 0x51, 0x49, 0xcc, 0xbb, 0x90, 0xce, 0x81, 0xd1, 0x75,
0x6b, 0xb6, 0xea, 0x0c, 0xbe, 0x13, 0xd0, 0x70, 0x21, 0x1e, 0xb5, 0x0b, 0x4f, 0x41, 0x73, 0x96,
0x22, 0x09, 0x15, 0x6e, 0x41, 0x99, 0xe5, 0x88, 0xbe, 0x02, 0x3d, 0x0f, 0x7c, 0x73, 0x17, 0xcc,
0x9d, 0x75, 0xb2, 0xfa, 0xe6, 0x22, 0x3e, 0x34, 0x70, 0xbc, 0xef, 0x1c, 0x79, 0x7b, 0x2f, 0x43,
0xf2, 0x40, 0x86, 0x14, 0x2a, 0xb7, 0x8e, 0xbc, 0xcd, 0xf6, 0x8f, 0xe1, 0x37, 0x7d, 0x0e, 0x8d,
0xbf, 0x0d, 0x37, 0x85, 0x81, 0x0b, 0x4f, 0x66, 0x5c, 0xa9, 0x80, 0x2f, 0x79, 0xa8, 0x18, 0xff,
0x9a, 0x70, 0x99, 0x5e, 0x35, 0x5f, 0x05, 0x82, 0x53, 0x5f, 0x67, 0x5e, 0xf8, 0x5b, 0x56, 0xfb,
0xf1, 0x12, 0xaa, 0xd8, 0x44, 0xcb, 0xa6, 0xd1, 0xbe, 0x47, 0x35, 0x58, 0xd6, 0x1c, 0xfc, 0x24,
0x40, 0x8b, 0x36, 0x32, 0x12, 0xa1, 0xe4, 0x8f, 0x99, 0xf2, 0x29, 0x68, 0x52, 0x39, 0x2a, 0x91,
0x68, 0xdc, 0x36, 0x5e, 0xac, 0x8c, 0xff, 0xb5, 0x19, 0xcd, 0x90, 0xc8, 0x72, 0xc1, 0xe0, 0x04,
0xb4, 0xac, 0x42, 0x9b, 0x50, 0xb3, 0xae, 0x3e, 0x8e, 0x2f, 0xad, 0x89, 0xbe, 0x43, 0x5b, 0x50,
0x1f, 0x9f, 0x9f, 0x9b, 0x53, 0xdb, 0x9c, 0xe8, 0x24, 0x45, 0xcc, 0x7c, 0x6f, 0x9e, 0xa7, 0xa8,
0x74, 0xe8, 0x41, 0xb3, 0xb0, 0xef, 0xf7, 0x75, 0x35, 0x28, 0x4f, 0xaf, 0x6d, 0x9d, 0xa4, 0x1f,
0x17, 0xa6, 0xad, 0x97, 0xe8, 0x2e, 0x34, 0x2e, 0x4c, 0x7b, 0x3e, 0xbe, 0x9e, 0x58, 0xb6, 0x5e,
0xa6, 0x6d, 0x80, 0x14, 0x32, 0x73, 0x3a, 0xb6, 0x98, 0x5e, 0x49, 0xf1, 0xf4, 0x7a, 0x8d, 0xab,
0x14, 0x40, 0x9b, 0x98, 0x97, 0xa6, 0x6d, 0xea, 0x9a, 0x31, 0xcb, 0x37, 0x50, 0x52, 0x0b, 0x60,
0xf3, 0x14, 0xfa, 0x6c, 0xdb, 0xf3, 0x30, 0xac, 0x5e, 0xef, 0xff, 0x2f, 0x1f, 0xec, 0x0c, 0xc9,
0x6b, 0x72, 0x56, 0xf9, 0x54, 0x8a, 0x16, 0x0b, 0x0d, 0xff, 0x99, 0x37, 0x7f, 0x02, 0x00, 0x00,
0xff, 0xff, 0xbc, 0xfe, 0x4a, 0x7c, 0x3a, 0x05, 0x00, 0x00,
// 667 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0xcd, 0x6e, 0xd3, 0x40,
0x10, 0xae, 0xf3, 0xe3, 0x24, 0x93, 0x34, 0x71, 0xb7, 0x15, 0x0a, 0x11, 0x52, 0x83, 0xc5, 0x21,
0xb4, 0x92, 0x4b, 0x8d, 0x84, 0xd4, 0x0b, 0x52, 0xda, 0x58, 0xc5, 0xa8, 0x2a, 0xd1, 0xc6, 0xe5,
0xc0, 0x25, 0x72, 0xea, 0xc5, 0xb5, 0x70, 0x6c, 0xe3, 0x5d, 0x4b, 0x3c, 0x01, 0x6f, 0xc5, 0x9d,
0x13, 0x0f, 0xc0, 0xa1, 0xcf, 0x82, 0x76, 0xec, 0x38, 0x29, 0x14, 0xf5, 0xd0, 0x9b, 0xbf, 0x99,
0xef, 0x9b, 0xf1, 0xcc, 0x7c, 0x0b, 0x9d, 0x38, 0xf5, 0x58, 0xca, 0x8d, 0x24, 0x8d, 0x45, 0x4c,
0xd4, 0x1c, 0x0d, 0xc0, 0x8f, 0xfd, 0x38, 0x8f, 0x0d, 0xf6, 0xfd, 0x38, 0xf6, 0x43, 0x76, 0x84,
0x68, 0x91, 0x7d, 0x3e, 0x12, 0xc1, 0x92, 0x71, 0xe1, 0x2e, 0x93, 0x82, 0x00, 0x51, 0xec, 0xb1,
0xfc, 0x5b, 0xff, 0x55, 0x83, 0xf6, 0x07, 0x59, 0xe3, 0x22, 0x58, 0x06, 0xc2, 0x24, 0x27, 0xb0,
0xcd, 0x59, 0x1a, 0xb8, 0xe1, 0x3c, 0xca, 0x96, 0x0b, 0x96, 0xf6, 0x95, 0xa1, 0x32, 0xea, 0x9c,
0xee, 0xfd, 0xbc, 0xdd, 0xdf, 0xfa, 0x7d, 0xbb, 0xdf, 0x99, 0x61, 0xf2, 0x12, 0x73, 0xb4, 0xc3,
0x37, 0x10, 0x39, 0x86, 0x0e, 0x77, 0x05, 0x0b, 0xc3, 0x40, 0xb0, 0x79, 0xe0, 0xf5, 0x2b, 0xa8,
0xec, 0x16, 0x4a, 0xf5, 0x32, 0xf6, 0x98, 0x3d, 0xa1, 0xed, 0x92, 0x63, 0x7b, 0xe4, 0x10, 0x5a,
0x59, 0x12, 0x06, 0xd1, 0x17, 0xc9, 0xaf, 0xde, 0xcb, 0x6f, 0xe6, 0x04, 0xdb, 0x23, 0x6f, 0xa0,
0xc7, 0x45, 0x9c, 0xba, 0x3e, 0x9b, 0xcb, 0x01, 0xa4, 0xa4, 0x76, 0xaf, 0x64, 0xbb, 0xa0, 0x21,
0xf4, 0xc8, 0x01, 0x34, 0x93, 0x80, 0x5d, 0xa3, 0xa0, 0x8e, 0x82, 0x5e, 0x21, 0x68, 0x4c, 0x65,
0xdc, 0x9e, 0xd0, 0x06, 0x12, 0x6c, 0x8f, 0xec, 0x41, 0x3d, 0x94, 0x8b, 0xe8, 0xab, 0x43, 0x65,
0x54, 0xa5, 0x39, 0x20, 0x87, 0xa0, 0xba, 0xd7, 0x22, 0x88, 0xa3, 0x7e, 0x63, 0xa8, 0x8c, 0xba,
0xe6, 0xae, 0x51, 0x1c, 0x01, 0xf5, 0x63, 0x4c, 0xd1, 0x82, 0x42, 0x2c, 0xd0, 0xf2, 0x76, 0xec,
0x5b, 0x12, 0xa4, 0x2e, 0xca, 0x9a, 0x43, 0x65, 0xd4, 0x36, 0x07, 0x46, 0x7e, 0x19, 0x63, 0x75,
0x19, 0xc3, 0x59, 0x5d, 0x86, 0xf6, 0x50, 0x63, 0x95, 0x12, 0x59, 0x06, 0x9b, 0x6c, 0x96, 0x69,
0x3d, 0x5c, 0x06, 0x35, 0x1b, 0x65, 0x8e, 0x60, 0x77, 0x7d, 0x14, 0x1e, 0xf8, 0x91, 0x2b, 0xb2,
0x94, 0xf5, 0x41, 0xee, 0x81, 0x92, 0x32, 0x35, 0x5b, 0x65, 0xc8, 0x5b, 0xd8, 0x59, 0x0b, 0x5c,
0xcf, 0x4b, 0x19, 0xe7, 0xfd, 0x36, 0x36, 0xde, 0x31, 0xd0, 0x38, 0x72, 0xad, 0xe3, 0x3c, 0x41,
0xb5, 0x92, 0x5b, 0x44, 0xf4, 0xef, 0x0a, 0xa8, 0x68, 0xa8, 0x47, 0x79, 0xe9, 0x09, 0xa8, 0xee,
0x32, 0xce, 0x22, 0x81, 0x2e, 0xaa, 0xd2, 0x02, 0x91, 0x97, 0xa0, 0x15, 0x86, 0x59, 0xcf, 0x82,
0xbe, 0xa1, 0xbd, 0x3c, 0x5e, 0x0e, 0xa2, 0x07, 0xd0, 0xc2, 0xf3, 0xbc, 0x73, 0xf9, 0xcd, 0x1d,
0x0f, 0x28, 0x0f, 0x78, 0x80, 0x40, 0xed, 0xc6, 0xe5, 0x37, 0xb9, 0x7f, 0x29, 0x7e, 0x93, 0x67,
0xd0, 0xfa, 0xbb, 0xe1, 0x3a, 0xa0, 0x7b, 0xb0, 0x33, 0x63, 0x42, 0x84, 0x6c, 0xc9, 0x22, 0x41,
0xd9, 0xd7, 0x8c, 0x71, 0xf9, 0xab, 0x85, 0x95, 0x14, 0x5c, 0x5e, 0xe9, 0x99, 0x8d, 0xd7, 0xb6,
0xf2, 0xd7, 0x0b, 0xa8, 0x63, 0x12, 0x5b, 0xb6, 0xcd, 0xee, 0x1d, 0xaa, 0x49, 0xf3, 0xa4, 0xfe,
0x43, 0x01, 0xb2, 0xd9, 0x86, 0x27, 0x71, 0xc4, 0xd9, 0x63, 0xb6, 0x7c, 0x02, 0x2a, 0x17, 0xae,
0xc8, 0x38, 0x36, 0xee, 0x9a, 0xcf, 0x57, 0x8d, 0xff, 0x6d, 0x63, 0xcc, 0x90, 0x48, 0x0b, 0x81,
0x7e, 0x0c, 0x6a, 0x1e, 0x21, 0x6d, 0x68, 0xd8, 0x97, 0x1f, 0xc7, 0x17, 0xf6, 0x44, 0xdb, 0x22,
0x1d, 0x68, 0x8e, 0xcf, 0xce, 0xac, 0xa9, 0x63, 0x4d, 0x34, 0x45, 0x22, 0x6a, 0xbd, 0xb7, 0xce,
0x24, 0xaa, 0x1c, 0xf8, 0xd0, 0xde, 0x78, 0x2f, 0x77, 0x75, 0x0d, 0xa8, 0x4e, 0xaf, 0x1c, 0x4d,
0x91, 0x1f, 0xe7, 0x96, 0xa3, 0x55, 0xc8, 0x36, 0xb4, 0xce, 0x2d, 0x67, 0x3e, 0xbe, 0x9a, 0xd8,
0x8e, 0x56, 0x25, 0x5d, 0x00, 0x09, 0xa9, 0x35, 0x1d, 0xdb, 0x54, 0xab, 0x49, 0x3c, 0xbd, 0x2a,
0x71, 0x9d, 0x00, 0xa8, 0x13, 0xeb, 0xc2, 0x72, 0x2c, 0x4d, 0x35, 0x67, 0x85, 0x03, 0x39, 0xb1,
0x01, 0xd6, 0xa3, 0x90, 0xa7, 0xf7, 0x8d, 0x87, 0xc7, 0x1a, 0x0c, 0xfe, 0x3f, 0xb9, 0xbe, 0x35,
0x52, 0x5e, 0x29, 0xa7, 0xb5, 0x4f, 0x95, 0x64, 0xb1, 0x50, 0xf1, 0xcd, 0xbd, 0xfe, 0x13, 0x00,
0x00, 0xff, 0xff, 0xab, 0x0a, 0xc7, 0x5c, 0x86, 0x05, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.

View File

@ -8,6 +8,7 @@ package orders;
import "gogo.proto";
import "google/protobuf/timestamp.proto";
import "node.proto";
// PieceAction is an enumeration of all possible executed actions on storage node
enum PieceAction {
@ -41,6 +42,10 @@ message OrderLimit2 {
google.protobuf.Timestamp order_expiration = 9;
bytes satellite_signature = 10;
// satellites aren't necessarily discoverable in kademlia. this allows
// a storage node to find a satellite and handshake with it to get its key.
node.NodeAddress satellite_address = 11;
}
// Order2 is a one step of fullfilling Amount number of bytes from an OrderLimit2 with SerialNumber

View File

@ -2231,6 +2231,11 @@
"id": 10,
"name": "satellite_signature",
"type": "bytes"
},
{
"id": 11,
"name": "satellite_address",
"type": "node.NodeAddress"
}
]
},
@ -2355,6 +2360,9 @@
},
{
"path": "google/protobuf/timestamp.proto"
},
{
"path": "node.proto"
}
],
"package": {

View File

@ -29,18 +29,20 @@ type Service struct {
cache *overlay.Cache
certdb certdb.DB
orders DB
satelliteAddress *pb.NodeAddress
orderExpiration time.Duration
}
// NewService creates new service for creating order limits.
func NewService(log *zap.Logger, satellite signing.Signer, cache *overlay.Cache, certdb certdb.DB, orders DB, orderExpiration time.Duration) *Service {
func NewService(log *zap.Logger, satellite signing.Signer, cache *overlay.Cache, certdb certdb.DB, orders DB, orderExpiration time.Duration, satelliteAddress *pb.NodeAddress) *Service {
return &Service{
log: log,
satellite: satellite,
cache: cache,
certdb: certdb,
orders: orders,
satelliteAddress: satelliteAddress,
orderExpiration: orderExpiration,
}
}
@ -157,6 +159,7 @@ func (service *Service) CreateGetOrderLimits(ctx context.Context, uplink *identi
orderLimit, err := signing.SignOrderLimit(ctx, service.satellite, &pb.OrderLimit2{
SerialNumber: serialNumber,
SatelliteId: service.satellite.ID(),
SatelliteAddress: service.satelliteAddress,
UplinkId: uplink.ID,
StorageNodeId: piece.NodeId,
PieceId: rootPieceID.Derive(piece.NodeId),
@ -219,6 +222,7 @@ func (service *Service) CreatePutOrderLimits(ctx context.Context, uplink *identi
orderLimit, err := signing.SignOrderLimit(ctx, service.satellite, &pb.OrderLimit2{
SerialNumber: serialNumber,
SatelliteId: service.satellite.ID(),
SatelliteAddress: service.satelliteAddress,
UplinkId: uplink.ID,
StorageNodeId: node.Id,
PieceId: rootPieceID.Derive(node.Id),
@ -296,6 +300,7 @@ func (service *Service) CreateDeleteOrderLimits(ctx context.Context, uplink *ide
orderLimit, err := signing.SignOrderLimit(ctx, service.satellite, &pb.OrderLimit2{
SerialNumber: serialNumber,
SatelliteId: service.satellite.ID(),
SatelliteAddress: service.satelliteAddress,
UplinkId: uplink.ID,
StorageNodeId: piece.NodeId,
PieceId: rootPieceID.Derive(piece.NodeId),
@ -387,6 +392,7 @@ func (service *Service) CreateAuditOrderLimits(ctx context.Context, auditor *ide
orderLimit, err := signing.SignOrderLimit(ctx, service.satellite, &pb.OrderLimit2{
SerialNumber: serialNumber,
SatelliteId: service.satellite.ID(),
SatelliteAddress: service.satelliteAddress,
UplinkId: auditor.ID,
StorageNodeId: piece.NodeId,
PieceId: rootPieceID.Derive(piece.NodeId),
@ -454,6 +460,7 @@ func (service *Service) CreateAuditOrderLimit(ctx context.Context, auditor *iden
orderLimit, err := signing.SignOrderLimit(ctx, service.satellite, &pb.OrderLimit2{
SerialNumber: serialNumber,
SatelliteId: service.satellite.ID(),
SatelliteAddress: service.satelliteAddress,
UplinkId: auditor.ID,
StorageNodeId: nodeID,
PieceId: rootPieceID.Derive(nodeID),
@ -530,6 +537,7 @@ func (service *Service) CreateGetRepairOrderLimits(ctx context.Context, repairer
orderLimit, err := signing.SignOrderLimit(ctx, service.satellite, &pb.OrderLimit2{
SerialNumber: serialNumber,
SatelliteId: service.satellite.ID(),
SatelliteAddress: service.satelliteAddress,
UplinkId: repairer.ID,
StorageNodeId: piece.NodeId,
PieceId: rootPieceID.Derive(piece.NodeId),
@ -604,6 +612,7 @@ func (service *Service) CreatePutRepairOrderLimits(ctx context.Context, repairer
orderLimit, err := signing.SignOrderLimit(ctx, service.satellite, &pb.OrderLimit2{
SerialNumber: serialNumber,
SatelliteId: service.satellite.ID(),
SatelliteAddress: service.satelliteAddress,
UplinkId: repairer.ID,
StorageNodeId: node.Id,
PieceId: rootPieceID.Derive(node.Id),

View File

@ -392,6 +392,10 @@ func New(log *zap.Logger, full *identity.FullIdentity, db DB, config *Config, ve
peer.DB.CertDB(),
peer.DB.Orders(),
45*24*time.Hour, // TODO: make it configurable?
&pb.NodeAddress{
Transport: pb.NodeTransport_TCP_TLS_GRPC,
Address: config.Kademlia.ExternalAddress,
},
)
pb.RegisterOrdersServer(peer.Server.GRPC(), peer.Orders.Endpoint)
}