1
0
Fork 0
mirror of https://github.com/anyproto/any-sync.git synced 2025-06-10 18:10:54 +09:00

Add old account to coordinator proto

This commit is contained in:
mcrakhman 2023-04-02 18:53:02 +02:00
parent 20a4d85836
commit 13df75d0e0
No known key found for this signature in database
GPG key ID: DED12CFEF5B8396B
5 changed files with 195 additions and 79 deletions

View file

@ -3,18 +3,11 @@ package credentialprovider
import (
"context"
"github.com/anytypeio/any-sync/app"
"github.com/anytypeio/any-sync/commonspace/spacesyncproto"
"github.com/anytypeio/any-sync/coordinator/coordinatorclient"
"github.com/gogo/protobuf/proto"
)
const CName = "common.commonspace.credentialprovider"
func New() app.Component {
return &credentialProvider{}
}
func NewNoOp() CredentialProvider {
return &noOpProvider{}
}
@ -29,24 +22,3 @@ type noOpProvider struct {
func (n noOpProvider) GetCredential(ctx context.Context, spaceHeader *spacesyncproto.RawSpaceHeaderWithId) ([]byte, error) {
return nil, nil
}
type credentialProvider struct {
client coordinatorclient.CoordinatorClient
}
func (c *credentialProvider) Init(a *app.App) (err error) {
c.client = a.MustComponent(coordinatorclient.CName).(coordinatorclient.CoordinatorClient)
return
}
func (c *credentialProvider) Name() (name string) {
return CName
}
func (c *credentialProvider) GetCredential(ctx context.Context, spaceHeader *spacesyncproto.RawSpaceHeaderWithId) ([]byte, error) {
receipt, err := c.client.SpaceSign(ctx, spaceHeader.Id, spaceHeader.RawHeader)
if err != nil {
return nil, err
}
return proto.Marshal(receipt)
}

View file

@ -85,6 +85,10 @@ func (a *aclRecordBuilder) Unmarshall(rawIdRecord *aclrecordproto.RawAclRecordWi
}
func (a *aclRecordBuilder) BuildRoot(content RootContent) (rec *aclrecordproto.RawAclRecordWithId, err error) {
rawIdentity, err := content.PrivKey.GetPublic().Raw()
if err != nil {
return
}
identity, err := content.PrivKey.GetPublic().Marshall()
if err != nil {
return
@ -93,7 +97,7 @@ func (a *aclRecordBuilder) BuildRoot(content RootContent) (rec *aclrecordproto.R
if err != nil {
return
}
identitySignature, err := content.MasterKey.Sign(identity)
identitySignature, err := content.MasterKey.Sign(rawIdentity)
if err != nil {
return
}

View file

@ -9,6 +9,7 @@ import (
"github.com/anytypeio/any-sync/net/pool"
"github.com/anytypeio/any-sync/net/rpc/rpcerr"
"github.com/anytypeio/any-sync/nodeconf"
"github.com/anytypeio/any-sync/util/crypto"
)
const CName = "common.coordinator.coordinatorclient"
@ -20,11 +21,18 @@ func New() CoordinatorClient {
type CoordinatorClient interface {
ChangeStatus(ctx context.Context, spaceId string, deleteRaw *treechangeproto.RawTreeChangeWithId) (status *coordinatorproto.SpaceStatusPayload, err error)
StatusCheck(ctx context.Context, spaceId string) (status *coordinatorproto.SpaceStatusPayload, err error)
SpaceSign(ctx context.Context, spaceId string, spaceHeader []byte) (receipt *coordinatorproto.SpaceReceiptWithSignature, err error)
SpaceSign(ctx context.Context, payload SpaceSignPayload) (receipt *coordinatorproto.SpaceReceiptWithSignature, err error)
FileLimitCheck(ctx context.Context, spaceId string, identity []byte) (limit uint64, err error)
app.Component
}
type SpaceSignPayload struct {
SpaceId string
SpaceHeader []byte
OldAccount crypto.PrivKey
Identity crypto.PrivKey
}
type coordinatorClient struct {
pool pool.Pool
nodeConf nodeconf.Service
@ -74,14 +82,28 @@ func (c *coordinatorClient) Name() (name string) {
return CName
}
func (c *coordinatorClient) SpaceSign(ctx context.Context, spaceId string, spaceHeader []byte) (receipt *coordinatorproto.SpaceReceiptWithSignature, err error) {
func (c *coordinatorClient) SpaceSign(ctx context.Context, payload SpaceSignPayload) (receipt *coordinatorproto.SpaceReceiptWithSignature, err error) {
cl, err := c.client(ctx)
if err != nil {
return
}
newRaw, err := payload.Identity.GetPublic().Raw()
if err != nil {
return
}
newSignature, err := payload.OldAccount.Sign(newRaw)
if err != nil {
return
}
oldIdentity, err := payload.OldAccount.GetPublic().Marshall()
if err != nil {
return
}
resp, err := cl.SpaceSign(ctx, &coordinatorproto.SpaceSignRequest{
SpaceId: spaceId,
Header: spaceHeader,
SpaceId: payload.SpaceId,
Header: payload.SpaceHeader,
OldIdentity: oldIdentity,
NewIdentitySignature: newSignature,
})
if err != nil {
err = rpcerr.Unwrap(err)

View file

@ -91,8 +91,14 @@ func (SpaceStatus) EnumDescriptor() ([]byte, []int) {
}
type SpaceSignRequest struct {
// SpaceId is the id of the signed space
SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"`
Header []byte `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"`
// Header is the header of the signed space
Header []byte `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"`
// OldIdentity is the old identity of the space owner
OldIdentity []byte `protobuf:"bytes,3,opt,name=oldIdentity,proto3" json:"oldIdentity,omitempty"`
// NewIdentitySignature is the new identity signed by the old one
NewIdentitySignature []byte `protobuf:"bytes,4,opt,name=newIdentitySignature,proto3" json:"newIdentitySignature,omitempty"`
}
func (m *SpaceSignRequest) Reset() { *m = SpaceSignRequest{} }
@ -142,6 +148,20 @@ func (m *SpaceSignRequest) GetHeader() []byte {
return nil
}
func (m *SpaceSignRequest) GetOldIdentity() []byte {
if m != nil {
return m.OldIdentity
}
return nil
}
func (m *SpaceSignRequest) GetNewIdentitySignature() []byte {
if m != nil {
return m.NewIdentitySignature
}
return nil
}
type SpaceStatusPayload struct {
Status SpaceStatus `protobuf:"varint,1,opt,name=status,proto3,enum=coordinator.SpaceStatus" json:"status,omitempty"`
DeletionTimestamp int64 `protobuf:"varint,2,opt,name=deletionTimestamp,proto3" json:"deletionTimestamp,omitempty"`
@ -689,51 +709,53 @@ func init() {
}
var fileDescriptor_d94f6f99586adae2 = []byte{
// 704 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x4d, 0x4f, 0x13, 0x4f,
0x18, 0xef, 0xb6, 0x05, 0xd2, 0xa7, 0xa4, 0xff, 0x65, 0xfe, 0x80, 0x6b, 0x83, 0x2b, 0x59, 0x95,
0x34, 0xc4, 0x00, 0x29, 0x6a, 0xe2, 0xcd, 0x58, 0x30, 0xc1, 0x18, 0x24, 0x8b, 0xd5, 0xa8, 0x07,
0xb3, 0xec, 0x3e, 0xc0, 0x84, 0x65, 0x67, 0xdd, 0x99, 0x1a, 0x38, 0x98, 0xf8, 0x11, 0x3c, 0xf9,
0x29, 0xfc, 0x08, 0x7e, 0x00, 0x8f, 0x1c, 0x3d, 0x1a, 0xf8, 0x14, 0xde, 0xcc, 0xbe, 0x4c, 0x3b,
0xdb, 0x6e, 0xcb, 0xc1, 0x0b, 0x74, 0x7e, 0xcf, 0xcb, 0xef, 0xf7, 0xbc, 0xcc, 0x2c, 0x3c, 0x74,
0x19, 0x8b, 0x3c, 0x1a, 0x38, 0x82, 0x45, 0xeb, 0xca, 0xef, 0x30, 0x62, 0x82, 0xad, 0x27, 0x7f,
0xb9, 0x8a, 0xaf, 0x25, 0x10, 0xa9, 0x2b, 0x90, 0xb5, 0x05, 0xfa, 0x7e, 0xe8, 0xb8, 0xb8, 0x4f,
0x8f, 0x02, 0x1b, 0x3f, 0xf6, 0x90, 0x0b, 0x62, 0xc0, 0x0c, 0x8f, 0xb1, 0x1d, 0xcf, 0xd0, 0x96,
0xb5, 0x56, 0xcd, 0x96, 0x47, 0xb2, 0x08, 0xd3, 0xc7, 0xe8, 0x78, 0x18, 0x19, 0xe5, 0x65, 0xad,
0x35, 0x6b, 0x67, 0x27, 0x4b, 0x00, 0x49, 0xb3, 0x08, 0x47, 0xf4, 0xf8, 0x9e, 0x73, 0xee, 0x33,
0xc7, 0x23, 0x1b, 0x30, 0xcd, 0x13, 0x20, 0x49, 0xd3, 0x68, 0x1b, 0x6b, 0xaa, 0x18, 0x25, 0xc0,
0xce, 0xfc, 0xc8, 0x7d, 0x98, 0xf3, 0xd0, 0x47, 0x41, 0x59, 0xf0, 0x8a, 0x9e, 0x22, 0x17, 0xce,
0x69, 0x98, 0x50, 0x55, 0xec, 0x51, 0x83, 0xd5, 0x85, 0x39, 0x45, 0x3b, 0x0f, 0x59, 0xc0, 0x91,
0x3c, 0x81, 0x99, 0x08, 0x5d, 0xa4, 0xa1, 0x48, 0x58, 0xeb, 0xed, 0x95, 0x51, 0x56, 0x3b, 0x75,
0x78, 0x43, 0xc5, 0x71, 0x1c, 0xeb, 0x88, 0x5e, 0x84, 0xb6, 0x0c, 0xb3, 0x4e, 0xe0, 0xe6, 0x58,
0x2f, 0xb2, 0x01, 0xff, 0x73, 0xc5, 0x98, 0x95, 0x9a, 0x50, 0xcd, 0xda, 0x45, 0x26, 0xb2, 0x04,
0x35, 0x2e, 0xc3, 0xb3, 0xb6, 0x0d, 0x00, 0xeb, 0x87, 0x06, 0xb3, 0x2a, 0xdb, 0xe4, 0xe6, 0x87,
0x88, 0xd1, 0x8e, 0x97, 0x64, 0xa9, 0xd9, 0xd9, 0x89, 0xb4, 0xe0, 0x3f, 0xc7, 0x75, 0x59, 0x2f,
0x10, 0x3b, 0x1e, 0x06, 0x82, 0x8a, 0x73, 0xa3, 0x92, 0xd0, 0x0c, 0xc3, 0xb1, 0x78, 0x97, 0x05,
0x22, 0x62, 0xfe, 0x2e, 0xf3, 0xb0, 0xef, 0x5d, 0x4d, 0xc5, 0x17, 0x98, 0x88, 0x09, 0xf0, 0xc9,
0xf1, 0xa9, 0xd7, 0x0d, 0x04, 0xf5, 0x8d, 0xa9, 0x65, 0xad, 0x55, 0xb5, 0x15, 0xc4, 0x7a, 0x0f,
0x0b, 0xcf, 0xa8, 0x8f, 0x2f, 0xe8, 0x29, 0x15, 0x9d, 0x63, 0x74, 0x4f, 0xe4, 0x0e, 0x15, 0x88,
0xd2, 0x8a, 0x45, 0x29, 0x05, 0x97, 0x73, 0x05, 0x5b, 0x6b, 0xb0, 0x38, 0x9c, 0x3c, 0x1b, 0xf2,
0x3c, 0x4c, 0xf9, 0x31, 0x9a, 0xe4, 0xac, 0xda, 0xe9, 0xc1, 0xda, 0x84, 0x1b, 0xca, 0x52, 0xe5,
0xe4, 0x8c, 0xed, 0xaa, 0xd5, 0x05, 0x63, 0x34, 0x28, 0xa3, 0x79, 0x0c, 0x33, 0xa1, 0x32, 0xe0,
0x7a, 0xfb, 0xf6, 0xb8, 0x0d, 0xce, 0x86, 0x6d, 0x4b, 0x7f, 0xeb, 0x9b, 0x36, 0x94, 0xd7, 0x09,
0x8e, 0xf0, 0xfa, 0x0b, 0xb6, 0x0a, 0xba, 0xdc, 0xf3, 0x34, 0xa4, 0xdf, 0x95, 0x11, 0x9c, 0x3c,
0x80, 0x85, 0x3c, 0x26, 0x97, 0x31, 0x9d, 0x7e, 0xb1, 0xd1, 0x7a, 0x9d, 0x6d, 0x77, 0x5e, 0xd7,
0x3f, 0x17, 0xbc, 0xfa, 0x45, 0x03, 0xd8, 0x8e, 0x22, 0x16, 0x75, 0x98, 0x87, 0x9c, 0x34, 0x00,
0xba, 0x01, 0x9e, 0x85, 0xe8, 0x0a, 0xf4, 0xf4, 0x12, 0xd1, 0xb3, 0x35, 0xdf, 0x8a, 0x45, 0xa1,
0xa7, 0x6b, 0xc4, 0x80, 0xf9, 0x01, 0x42, 0x59, 0xb0, 0x87, 0x81, 0x47, 0x83, 0x23, 0xbd, 0xdc,
0xf7, 0xed, 0x44, 0xe8, 0xc4, 0xbe, 0x15, 0x42, 0xa0, 0x91, 0x20, 0xbb, 0x4c, 0x6c, 0x9f, 0x51,
0x2e, 0xb8, 0x5e, 0x25, 0x3a, 0xd4, 0x13, 0xbe, 0x97, 0x87, 0x87, 0x1c, 0x85, 0xfe, 0xbd, 0xbc,
0xfa, 0x19, 0xea, 0x8a, 0x42, 0xb2, 0x98, 0x7b, 0x94, 0x64, 0xb2, 0x12, 0x31, 0xa1, 0xa9, 0x16,
0x92, 0xd2, 0x4a, 0x15, 0xba, 0x36, 0x64, 0x97, 0x86, 0x7d, 0xe1, 0x44, 0x71, 0x7c, 0x79, 0x28,
0xaf, 0x2c, 0xa8, 0xd2, 0xfe, 0x53, 0x86, 0x7a, 0x67, 0xd0, 0x2d, 0xf2, 0x1c, 0x6a, 0xfd, 0xe7,
0x89, 0xdc, 0x2a, 0x68, 0xe4, 0xe0, 0xc9, 0x6d, 0x9a, 0xe3, 0xcc, 0xd9, 0x60, 0xde, 0x42, 0x23,
0x7f, 0x15, 0x88, 0x95, 0x8b, 0x28, 0xbc, 0x84, 0xcd, 0x3b, 0x13, 0x7d, 0xb2, 0xd4, 0x1f, 0xe4,
0x17, 0x60, 0x70, 0x01, 0xc8, 0xdd, 0x71, 0x63, 0xcf, 0xa5, 0xbf, 0x77, 0x8d, 0x57, 0x46, 0x70,
0x20, 0x9f, 0x69, 0x65, 0xe3, 0xc8, 0x84, 0x58, 0xe5, 0xa6, 0x34, 0x57, 0xae, 0x73, 0x4b, 0x39,
0x9e, 0x3e, 0xfa, 0x79, 0x69, 0x6a, 0x17, 0x97, 0xa6, 0xf6, 0xfb, 0xd2, 0xd4, 0xbe, 0x5e, 0x99,
0xa5, 0x8b, 0x2b, 0xb3, 0xf4, 0xeb, 0xca, 0x2c, 0xbd, 0x5b, 0x9a, 0xf4, 0x91, 0x3c, 0x98, 0x4e,
0xfe, 0x6d, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x76, 0x96, 0x0f, 0x4b, 0x07, 0x00, 0x00,
// 728 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0xcf, 0x4e, 0x13, 0x41,
0x18, 0xef, 0xb6, 0x05, 0xd2, 0xaf, 0xa4, 0x2e, 0x23, 0xe0, 0xda, 0xe0, 0xda, 0xac, 0x4a, 0x1a,
0x62, 0x80, 0x14, 0x35, 0xf1, 0x66, 0xac, 0x98, 0x60, 0x0c, 0x92, 0xc5, 0x6a, 0xd4, 0x83, 0x59,
0x76, 0x3f, 0x60, 0xc2, 0xb2, 0xb3, 0xee, 0x4c, 0x15, 0x0e, 0x26, 0x3e, 0x82, 0x27, 0x0f, 0x3e,
0x83, 0x8f, 0xe0, 0x03, 0x78, 0xe4, 0xe8, 0xd1, 0xc0, 0x53, 0x78, 0x33, 0x9d, 0xdd, 0x6d, 0x67,
0xdb, 0x6d, 0x39, 0x78, 0x81, 0xce, 0xef, 0xfb, 0x7d, 0x7f, 0x7f, 0xdf, 0xcc, 0xc2, 0x7d, 0x97,
0xb1, 0xc8, 0xa3, 0x81, 0x23, 0x58, 0xb4, 0xa6, 0xfc, 0x0e, 0x23, 0x26, 0xd8, 0x9a, 0xfc, 0xcb,
0x55, 0x7c, 0x55, 0x42, 0xa4, 0xaa, 0x40, 0xd6, 0x77, 0x0d, 0xf4, 0xdd, 0xd0, 0x71, 0x71, 0x97,
0x1e, 0x04, 0x36, 0x7e, 0xe8, 0x22, 0x17, 0xc4, 0x80, 0x19, 0xde, 0xc3, 0xb6, 0x3c, 0x43, 0x6b,
0x68, 0xcd, 0x8a, 0x9d, 0x1e, 0xc9, 0x22, 0x4c, 0x1f, 0xa2, 0xe3, 0x61, 0x64, 0x14, 0x1b, 0x5a,
0x73, 0xd6, 0x4e, 0x4e, 0xa4, 0x01, 0x55, 0xe6, 0x7b, 0x5b, 0x1e, 0x06, 0x82, 0x8a, 0x53, 0xa3,
0x24, 0x8d, 0x2a, 0x44, 0x5a, 0x30, 0x1f, 0xe0, 0xa7, 0xf4, 0xd8, 0xcb, 0xe6, 0x88, 0x6e, 0x84,
0x46, 0x59, 0x52, 0x73, 0x6d, 0x96, 0x00, 0x12, 0xd7, 0x26, 0x1c, 0xd1, 0xe5, 0x3b, 0xce, 0xa9,
0xcf, 0x1c, 0x8f, 0xac, 0xc3, 0x34, 0x97, 0x80, 0x2c, 0xae, 0xd6, 0x32, 0x56, 0xd5, 0x1e, 0x15,
0x07, 0x3b, 0xe1, 0x91, 0xbb, 0x30, 0xe7, 0xa1, 0x8f, 0x82, 0xb2, 0xe0, 0x25, 0x3d, 0x46, 0x2e,
0x9c, 0xe3, 0x50, 0x36, 0x50, 0xb2, 0x47, 0x0d, 0x56, 0x07, 0xe6, 0x94, 0x89, 0xf0, 0x90, 0x05,
0x1c, 0xc9, 0x23, 0x98, 0x89, 0xd0, 0x45, 0x1a, 0x0a, 0x99, 0xb5, 0xda, 0x5a, 0x1e, 0xcd, 0x6a,
0xc7, 0x84, 0xd7, 0x54, 0x1c, 0xf6, 0x7b, 0xb0, 0x53, 0x37, 0xeb, 0x08, 0xae, 0x8f, 0x65, 0x91,
0x75, 0xb8, 0xca, 0x15, 0x63, 0xd2, 0xaa, 0x4c, 0x35, 0x6b, 0xe7, 0x99, 0xc8, 0x12, 0x54, 0x78,
0x7f, 0x88, 0xb1, 0x18, 0x03, 0xc0, 0xfa, 0xa9, 0xc1, 0xac, 0x9a, 0x6d, 0xb2, 0xa4, 0x21, 0x62,
0xb4, 0xe5, 0xc9, 0x28, 0x15, 0x3b, 0x39, 0x91, 0x26, 0x5c, 0x71, 0x5c, 0x97, 0x75, 0x03, 0x31,
0x24, 0xeb, 0x30, 0xdc, 0x2b, 0xde, 0x65, 0x81, 0x88, 0x98, 0xbf, 0xcd, 0x3c, 0xec, 0xb3, 0x63,
0x65, 0xf3, 0x4c, 0xc4, 0x04, 0xf8, 0xe8, 0xf8, 0xd4, 0xeb, 0x04, 0x82, 0xfa, 0xc6, 0x54, 0x43,
0x6b, 0x96, 0x6d, 0x05, 0xb1, 0xde, 0xc1, 0xc2, 0x53, 0xea, 0xe3, 0x73, 0x7a, 0x4c, 0x45, 0xfb,
0x10, 0xdd, 0xa3, 0x74, 0x33, 0x73, 0x8a, 0xd2, 0xf2, 0x8b, 0x52, 0x1a, 0x2e, 0x66, 0x1a, 0xb6,
0x56, 0x61, 0x71, 0x38, 0x78, 0x22, 0xf2, 0x3c, 0x4c, 0xf9, 0x3d, 0x54, 0xc6, 0x2c, 0xdb, 0xf1,
0xc1, 0xda, 0x80, 0x6b, 0xca, 0x52, 0x65, 0xca, 0x19, 0x3b, 0x55, 0xab, 0x03, 0xc6, 0xa8, 0x53,
0x92, 0xe6, 0x21, 0xcc, 0x84, 0x8a, 0xc0, 0xd5, 0xd6, 0xcd, 0x71, 0x1b, 0x9c, 0x88, 0x6d, 0xa7,
0x7c, 0xeb, 0x9b, 0x36, 0x14, 0xd7, 0x09, 0x0e, 0xf0, 0xf2, 0x6b, 0xbb, 0x02, 0x7a, 0xba, 0xe7,
0xb1, 0x4b, 0x7f, 0x2a, 0x23, 0x38, 0xb9, 0x07, 0x0b, 0x59, 0x2c, 0x5d, 0xc6, 0x58, 0xfd, 0x7c,
0xa3, 0xf5, 0x2a, 0xd9, 0xee, 0x6c, 0x5d, 0xff, 0xdd, 0xf0, 0xca, 0x17, 0x0d, 0x60, 0x33, 0x8a,
0x58, 0xd4, 0x66, 0x1e, 0x72, 0x52, 0x03, 0xe8, 0x04, 0x78, 0x12, 0xa2, 0x2b, 0xd0, 0xd3, 0x0b,
0x44, 0x4f, 0xd6, 0xfc, 0x49, 0xaf, 0x28, 0xf4, 0x74, 0x8d, 0x18, 0x30, 0x3f, 0x40, 0x28, 0x0b,
0x76, 0x30, 0xf0, 0x68, 0x70, 0xa0, 0x17, 0xfb, 0xdc, 0x76, 0x84, 0x4e, 0x8f, 0x5b, 0x22, 0x04,
0x6a, 0x12, 0xd9, 0x66, 0x62, 0xf3, 0x84, 0x72, 0xc1, 0xf5, 0x32, 0xd1, 0xa1, 0x2a, 0xf3, 0xbd,
0xd8, 0xdf, 0xe7, 0x28, 0xf4, 0x1f, 0xc5, 0x95, 0xcf, 0x50, 0x55, 0x2a, 0x24, 0x8b, 0x99, 0x47,
0x29, 0x0d, 0x56, 0x20, 0x26, 0xd4, 0xd5, 0x46, 0xe2, 0xb4, 0x69, 0x15, 0xba, 0x36, 0x64, 0x4f,
0x0d, 0xbb, 0xc2, 0x89, 0x7a, 0xfe, 0xc5, 0xa1, 0xb8, 0x69, 0x43, 0xa5, 0xd6, 0xdf, 0x22, 0x54,
0xdb, 0x83, 0x69, 0x91, 0x67, 0x50, 0xe9, 0x3f, 0x4f, 0xe4, 0x46, 0xce, 0x20, 0x07, 0x0f, 0x79,
0xdd, 0x1c, 0x67, 0x4e, 0x84, 0x79, 0x03, 0xb5, 0xec, 0x55, 0x20, 0x56, 0xc6, 0x23, 0xf7, 0x12,
0xd6, 0x6f, 0x4d, 0xe4, 0x24, 0xa1, 0xdf, 0xa7, 0xdf, 0x95, 0xc1, 0x05, 0x20, 0xb7, 0xc7, 0xc9,
0x9e, 0x09, 0x7f, 0xe7, 0x12, 0x56, 0x92, 0x60, 0x2f, 0x7d, 0xa6, 0x95, 0x8d, 0x23, 0x13, 0x7c,
0x95, 0x9b, 0x52, 0x5f, 0xbe, 0x8c, 0x16, 0xe7, 0x78, 0xfc, 0xe0, 0xd7, 0xb9, 0xa9, 0x9d, 0x9d,
0x9b, 0xda, 0x9f, 0x73, 0x53, 0xfb, 0x7a, 0x61, 0x16, 0xce, 0x2e, 0xcc, 0xc2, 0xef, 0x0b, 0xb3,
0xf0, 0x76, 0x69, 0xd2, 0xb7, 0x77, 0x6f, 0x5a, 0xfe, 0xdb, 0xf8, 0x17, 0x00, 0x00, 0xff, 0xff,
0x86, 0x2f, 0x30, 0xee, 0xa2, 0x07, 0x00, 0x00,
}
func (m *SpaceSignRequest) Marshal() (dAtA []byte, err error) {
@ -756,6 +778,20 @@ func (m *SpaceSignRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
if len(m.NewIdentitySignature) > 0 {
i -= len(m.NewIdentitySignature)
copy(dAtA[i:], m.NewIdentitySignature)
i = encodeVarintCoordinator(dAtA, i, uint64(len(m.NewIdentitySignature)))
i--
dAtA[i] = 0x22
}
if len(m.OldIdentity) > 0 {
i -= len(m.OldIdentity)
copy(dAtA[i:], m.OldIdentity)
i = encodeVarintCoordinator(dAtA, i, uint64(len(m.OldIdentity)))
i--
dAtA[i] = 0x1a
}
if len(m.Header) > 0 {
i -= len(m.Header)
copy(dAtA[i:], m.Header)
@ -1168,6 +1204,14 @@ func (m *SpaceSignRequest) Size() (n int) {
if l > 0 {
n += 1 + l + sovCoordinator(uint64(l))
}
l = len(m.OldIdentity)
if l > 0 {
n += 1 + l + sovCoordinator(uint64(l))
}
l = len(m.NewIdentitySignature)
if l > 0 {
n += 1 + l + sovCoordinator(uint64(l))
}
return n
}
@ -1434,6 +1478,74 @@ func (m *SpaceSignRequest) Unmarshal(dAtA []byte) error {
m.Header = []byte{}
}
iNdEx = postIndex
case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field OldIdentity", wireType)
}
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowCoordinator
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
byteLen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if byteLen < 0 {
return ErrInvalidLengthCoordinator
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
return ErrInvalidLengthCoordinator
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.OldIdentity = append(m.OldIdentity[:0], dAtA[iNdEx:postIndex]...)
if m.OldIdentity == nil {
m.OldIdentity = []byte{}
}
iNdEx = postIndex
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field NewIdentitySignature", wireType)
}
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowCoordinator
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
byteLen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if byteLen < 0 {
return ErrInvalidLengthCoordinator
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
return ErrInvalidLengthCoordinator
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.NewIdentitySignature = append(m.NewIdentitySignature[:0], dAtA[iNdEx:postIndex]...)
if m.NewIdentitySignature == nil {
m.NewIdentitySignature = []byte{}
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipCoordinator(dAtA[iNdEx:])

View file

@ -21,8 +21,14 @@ service Coordinator {
}
message SpaceSignRequest {
// SpaceId is the id of the signed space
string spaceId = 1;
// Header is the header of the signed space
bytes header = 2;
// OldIdentity is the old identity of the space owner
bytes oldIdentity = 3;
// NewIdentitySignature is the new identity signed by the old one
bytes newIdentitySignature = 4;
}
enum ErrorCodes {