Documentation
¶
Overview ¶
Package bertyprotocol contains code for integrating the Berty protocol in your project.
See https://berty.tech/protocol for more information.
Index ¶
- Constants
- func ActivateGroupContext(ctx context.Context, gc *groupContext) error
- func ConnectAll(t *testing.T, m libp2p_mocknet.Mocknet)
- func ConnectInLine(t *testing.T, m libp2p_mocknet.Mocknet)
- func DefaultOrbitDBOptions(g *bertytypes.Group, options *orbitdb.CreateDBOptions, ...) (*orbitdb.CreateDBOptions, error)
- func FillMessageKeysHolderUsingNewData(ctx context.Context, gc *groupContext) error
- func FillMessageKeysHolderUsingPreviousData(ctx context.Context, gc *groupContext) error
- func NewDeviceSecret() (*bertytypes.DeviceSecret, error)
- func NewGroupMultiMember() (*bertytypes.Group, crypto.PrivKey, error)
- func NewOrbitDatastoreCache(ds datastore.Batching) cache.Interface
- func NewSimpleAccessController(_ context.Context, _ iface.BaseOrbitDB, ...) (accesscontroller.Interface, error)
- func RegisterProtocolServiceServer(s *grpc.Server, srv ProtocolServiceServer)
- func SendSecretsToExistingMembers(ctx context.Context, gctx *groupContext) error
- func WatchNewMembersAndSendSecrets(ctx context.Context, logger *zap.Logger, gctx *groupContext)
- type AccountKeys
- type BertySignedKeyStore
- func (s *BertySignedKeyStore) CreateKey(id string) (crypto.PrivKey, error)
- func (s *BertySignedKeyStore) GetKey(id string) (crypto.PrivKey, error)
- func (s *BertySignedKeyStore) HasKey(id string) (bool, error)
- func (s *BertySignedKeyStore) SetKey(pk crypto.PrivKey) error
- func (s *BertySignedKeyStore) Sign(privKey crypto.PrivKey, bytes []byte) ([]byte, error)
- func (s *BertySignedKeyStore) Verify(signature []byte, publicKey crypto.PubKey, data []byte) error
- type Client
- func NewClient(svc Service, opts ...grpc.ServerOption) (Client, error)
- func NewClientFromServer(s *grpc.Server, svc Service, opts ...grpc.DialOption) (Client, error)
- func TestingClient(t *testing.T, svc Service, opts ...grpc.ServerOption) (client Client, cleanup func())
- func TestingClientFromServer(t *testing.T, s *grpc.Server, svc Service, dialOpts ...grpc.DialOption) (client Client, cleanup func())
- type ConnnectTestingProtocolFunc
- type DeviceKeystore
- type MemberDevice
- type MessageKeystore
- func (m *MessageKeystore) DelPrecomputedKey(ctx context.Context, device crypto.PubKey, counter uint64) error
- func (m *MessageKeystore) GetDeviceChainKey(ctx context.Context, pk crypto.PubKey) (*bertytypes.DeviceSecret, error)
- func (m *MessageKeystore) GetKeyForCID(ctx context.Context, id cid.Cid) (*[32]byte, error)
- func (m *MessageKeystore) GetPrecomputedKey(ctx context.Context, device crypto.PubKey, counter uint64) (*[32]byte, error)
- func (m *MessageKeystore) GetPrecomputedKeyExpectedCount() int
- func (m *MessageKeystore) PutDeviceChainKey(ctx context.Context, device crypto.PubKey, ds *bertytypes.DeviceSecret) error
- func (m *MessageKeystore) PutKeyForCID(ctx context.Context, id cid.Cid, key *[32]byte) error
- func (m *MessageKeystore) PutPrecomputedKey(ctx context.Context, device crypto.PubKey, counter uint64, mk *[32]byte) error
- type Opts
- type OwnMemberDevice
- type ProtocolServiceClient
- type ProtocolServiceServer
- type ProtocolService_GroupMessageListClient
- type ProtocolService_GroupMessageListServer
- type ProtocolService_GroupMessageSubscribeClient
- type ProtocolService_GroupMessageSubscribeServer
- type ProtocolService_GroupMetadataListClient
- type ProtocolService_GroupMetadataListServer
- type ProtocolService_GroupMetadataSubscribeClient
- type ProtocolService_GroupMetadataSubscribeServer
- type Service
- type Status
- type TestingOpts
- type TestingProtocol
- type UnimplementedProtocolServiceServer
- func (*UnimplementedProtocolServiceServer) ActivateGroup(ctx context.Context, req *bertytypes.ActivateGroup_Request) (*bertytypes.ActivateGroup_Reply, error)
- func (*UnimplementedProtocolServiceServer) AppMessageSend(ctx context.Context, req *bertytypes.AppMessageSend_Request) (*bertytypes.AppMessageSend_Reply, error)
- func (*UnimplementedProtocolServiceServer) AppMetadataSend(ctx context.Context, req *bertytypes.AppMetadataSend_Request) (*bertytypes.AppMetadataSend_Reply, error)
- func (*UnimplementedProtocolServiceServer) ContactAliasKeySend(ctx context.Context, req *bertytypes.ContactAliasKeySend_Request) (*bertytypes.ContactAliasKeySend_Reply, error)
- func (*UnimplementedProtocolServiceServer) ContactBlock(ctx context.Context, req *bertytypes.ContactBlock_Request) (*bertytypes.ContactBlock_Reply, error)
- func (*UnimplementedProtocolServiceServer) ContactRequestAccept(ctx context.Context, req *bertytypes.ContactRequestAccept_Request) (*bertytypes.ContactRequestAccept_Reply, error)
- func (*UnimplementedProtocolServiceServer) ContactRequestDisable(ctx context.Context, req *bertytypes.ContactRequestDisable_Request) (*bertytypes.ContactRequestDisable_Reply, error)
- func (*UnimplementedProtocolServiceServer) ContactRequestDiscard(ctx context.Context, req *bertytypes.ContactRequestDiscard_Request) (*bertytypes.ContactRequestDiscard_Reply, error)
- func (*UnimplementedProtocolServiceServer) ContactRequestEnable(ctx context.Context, req *bertytypes.ContactRequestEnable_Request) (*bertytypes.ContactRequestEnable_Reply, error)
- func (*UnimplementedProtocolServiceServer) ContactRequestReference(ctx context.Context, req *bertytypes.ContactRequestReference_Request) (*bertytypes.ContactRequestReference_Reply, error)
- func (*UnimplementedProtocolServiceServer) ContactRequestResetReference(ctx context.Context, req *bertytypes.ContactRequestResetReference_Request) (*bertytypes.ContactRequestResetReference_Reply, error)
- func (*UnimplementedProtocolServiceServer) ContactRequestSend(ctx context.Context, req *bertytypes.ContactRequestSend_Request) (*bertytypes.ContactRequestSend_Reply, error)
- func (*UnimplementedProtocolServiceServer) ContactUnblock(ctx context.Context, req *bertytypes.ContactUnblock_Request) (*bertytypes.ContactUnblock_Reply, error)
- func (*UnimplementedProtocolServiceServer) DeactivateGroup(ctx context.Context, req *bertytypes.DeactivateGroup_Request) (*bertytypes.DeactivateGroup_Reply, error)
- func (*UnimplementedProtocolServiceServer) GroupInfo(ctx context.Context, req *bertytypes.GroupInfo_Request) (*bertytypes.GroupInfo_Reply, error)
- func (*UnimplementedProtocolServiceServer) GroupMessageList(req *bertytypes.GroupMessageList_Request, ...) error
- func (*UnimplementedProtocolServiceServer) GroupMessageSubscribe(req *bertytypes.GroupMessageSubscribe_Request, ...) error
- func (*UnimplementedProtocolServiceServer) GroupMetadataList(req *bertytypes.GroupMetadataList_Request, ...) error
- func (*UnimplementedProtocolServiceServer) GroupMetadataSubscribe(req *bertytypes.GroupMetadataSubscribe_Request, ...) error
- func (*UnimplementedProtocolServiceServer) InstanceExportData(ctx context.Context, req *bertytypes.InstanceExportData_Request) (*bertytypes.InstanceExportData_Reply, error)
- func (*UnimplementedProtocolServiceServer) InstanceGetConfiguration(ctx context.Context, req *bertytypes.InstanceGetConfiguration_Request) (*bertytypes.InstanceGetConfiguration_Reply, error)
- func (*UnimplementedProtocolServiceServer) MultiMemberGroupAdminRoleGrant(ctx context.Context, req *bertytypes.MultiMemberGroupAdminRoleGrant_Request) (*bertytypes.MultiMemberGroupAdminRoleGrant_Reply, error)
- func (*UnimplementedProtocolServiceServer) MultiMemberGroupAliasResolverDisclose(ctx context.Context, ...) (*bertytypes.MultiMemberGroupAliasResolverDisclose_Reply, error)
- func (*UnimplementedProtocolServiceServer) MultiMemberGroupCreate(ctx context.Context, req *bertytypes.MultiMemberGroupCreate_Request) (*bertytypes.MultiMemberGroupCreate_Reply, error)
- func (*UnimplementedProtocolServiceServer) MultiMemberGroupInvitationCreate(ctx context.Context, req *bertytypes.MultiMemberGroupInvitationCreate_Request) (*bertytypes.MultiMemberGroupInvitationCreate_Reply, error)
- func (*UnimplementedProtocolServiceServer) MultiMemberGroupJoin(ctx context.Context, req *bertytypes.MultiMemberGroupJoin_Request) (*bertytypes.MultiMemberGroupJoin_Reply, error)
- func (*UnimplementedProtocolServiceServer) MultiMemberGroupLeave(ctx context.Context, req *bertytypes.MultiMemberGroupLeave_Request) (*bertytypes.MultiMemberGroupLeave_Reply, error)
Examples ¶
Constants ¶
const CurrentGroupVersion = 1
Variables ¶
This section is empty.
Functions ¶
func ActivateGroupContext ¶
func ConnectAll ¶ added in v2.39.0
func ConnectAll(t *testing.T, m libp2p_mocknet.Mocknet)
ConnectAll peers between themselves
func ConnectInLine ¶ added in v2.39.0
func ConnectInLine(t *testing.T, m libp2p_mocknet.Mocknet)
func DefaultOrbitDBOptions ¶ added in v2.32.1
func DefaultOrbitDBOptions(g *bertytypes.Group, options *orbitdb.CreateDBOptions, keystore *BertySignedKeyStore, storeType string) (*orbitdb.CreateDBOptions, error)
func NewDeviceSecret ¶
func NewDeviceSecret() (*bertytypes.DeviceSecret, error)
func NewGroupMultiMember ¶
func NewGroupMultiMember() (*bertytypes.Group, crypto.PrivKey, error)
NewGroupMultiMember creates a new Group object and an invitation to be used by the first member of the group
func NewOrbitDatastoreCache ¶ added in v2.32.1
func NewSimpleAccessController ¶ added in v2.32.1
func NewSimpleAccessController(_ context.Context, _ iface.BaseOrbitDB, options accesscontroller.ManifestParams) (accesscontroller.Interface, error)
NewSimpleAccessController Returns a non configurable access controller
func RegisterProtocolServiceServer ¶
func RegisterProtocolServiceServer(s *grpc.Server, srv ProtocolServiceServer)
Types ¶
type AccountKeys ¶
type BertySignedKeyStore ¶ added in v2.32.1
func (*BertySignedKeyStore) CreateKey ¶ added in v2.32.1
func (s *BertySignedKeyStore) CreateKey(id string) (crypto.PrivKey, error)
func (*BertySignedKeyStore) GetKey ¶ added in v2.32.1
func (s *BertySignedKeyStore) GetKey(id string) (crypto.PrivKey, error)
func (*BertySignedKeyStore) HasKey ¶ added in v2.32.1
func (s *BertySignedKeyStore) HasKey(id string) (bool, error)
func (*BertySignedKeyStore) SetKey ¶ added in v2.32.1
func (s *BertySignedKeyStore) SetKey(pk crypto.PrivKey) error
type Client ¶
type Client interface { ProtocolServiceClient Close() error }
func NewClient ¶ added in v2.39.0
func NewClient(svc Service, opts ...grpc.ServerOption) (Client, error)
func NewClientFromServer ¶ added in v2.39.0
func TestingClient ¶
func TestingClientFromServer ¶ added in v2.39.0
type ConnnectTestingProtocolFunc ¶ added in v2.39.0
type ConnnectTestingProtocolFunc func(*testing.T, libp2p_mocknet.Mocknet)
Connect Peers Helper
type DeviceKeystore ¶ added in v2.32.1
type DeviceKeystore interface { AccountPrivKey() (crypto.PrivKey, error) AccountProofPrivKey() (crypto.PrivKey, error) DevicePrivKey() (crypto.PrivKey, error) ContactGroupPrivKey(pk crypto.PubKey) (crypto.PrivKey, error) MemberDeviceForGroup(g *bertytypes.Group) (*ownMemberDevice, error) }
func NewDeviceKeystore ¶ added in v2.32.1
func NewDeviceKeystore(ks keystore.Keystore) DeviceKeystore
New creates a new deviceKeystore instance, if the keystore does not hold an deviceKeystore key, one will be created when required
func NewWithExistingKeys ¶ added in v2.32.1
func NewWithExistingKeys(ks keystore.Keystore, sk crypto.PrivKey, proofSK crypto.PrivKey) (DeviceKeystore, error)
NewWithExistingKeys creates a new deviceKeystore instance and registers the supplied secret key, useful when migrating deviceKeystore to another device
type MemberDevice ¶
type MemberDevice struct { Member crypto.PubKey Device crypto.PubKey Secret *bertytypes.DeviceSecret }
MemberDevice is a remote device part of a group
type MessageKeystore ¶ added in v2.32.1
type MessageKeystore struct {
// contains filtered or unexported fields
}
func NewInMemMessageKeystore ¶ added in v2.32.1
func NewInMemMessageKeystore() *MessageKeystore
NewInMemMessageKeystore instantiate a new MessageKeystore, useful for testing
func NewMessageKeystore ¶ added in v2.32.1
func NewMessageKeystore(s datastore.Datastore) *MessageKeystore
NewMessageKeystore instantiate a new MessageKeystore
func (*MessageKeystore) DelPrecomputedKey ¶ added in v2.32.1
func (*MessageKeystore) GetDeviceChainKey ¶ added in v2.32.1
func (m *MessageKeystore) GetDeviceChainKey(ctx context.Context, pk crypto.PubKey) (*bertytypes.DeviceSecret, error)
func (*MessageKeystore) GetKeyForCID ¶ added in v2.32.1
func (*MessageKeystore) GetPrecomputedKey ¶ added in v2.32.1
func (*MessageKeystore) GetPrecomputedKeyExpectedCount ¶ added in v2.32.1
func (m *MessageKeystore) GetPrecomputedKeyExpectedCount() int
func (*MessageKeystore) PutDeviceChainKey ¶ added in v2.32.1
func (m *MessageKeystore) PutDeviceChainKey(ctx context.Context, device crypto.PubKey, ds *bertytypes.DeviceSecret) error
func (*MessageKeystore) PutKeyForCID ¶ added in v2.32.1
func (*MessageKeystore) PutPrecomputedKey ¶ added in v2.32.1
type Opts ¶
type Opts struct { Logger *zap.Logger IpfsCoreAPI ipfs_coreapi.CoreAPI DeviceKeystore DeviceKeystore MessageKeystore *MessageKeystore RootContext context.Context RootDatastore datastore.Batching OrbitCache cache.Interface // contains filtered or unexported fields }
Opts contains optional configuration flags for building a new Client
type OwnMemberDevice ¶
OwnMemberDevice is own local device part of a group
func (*OwnMemberDevice) Public ¶
func (d *OwnMemberDevice) Public() *MemberDevice
type ProtocolServiceClient ¶
type ProtocolServiceClient interface { // InstanceExportData exports instance data InstanceExportData(ctx context.Context, in *bertytypes.InstanceExportData_Request, opts ...grpc.CallOption) (*bertytypes.InstanceExportData_Reply, error) // InstanceGetConfiguration gets current configuration of this protocol instance InstanceGetConfiguration(ctx context.Context, in *bertytypes.InstanceGetConfiguration_Request, opts ...grpc.CallOption) (*bertytypes.InstanceGetConfiguration_Reply, error) // ContactRequestReference retrieves the information required to create a reference (types.ie. included in a shareable link) to the current account ContactRequestReference(ctx context.Context, in *bertytypes.ContactRequestReference_Request, opts ...grpc.CallOption) (*bertytypes.ContactRequestReference_Reply, error) // ContactRequestDisable disables incoming contact requests ContactRequestDisable(ctx context.Context, in *bertytypes.ContactRequestDisable_Request, opts ...grpc.CallOption) (*bertytypes.ContactRequestDisable_Reply, error) // ContactRequestEnable enables incoming contact requests ContactRequestEnable(ctx context.Context, in *bertytypes.ContactRequestEnable_Request, opts ...grpc.CallOption) (*bertytypes.ContactRequestEnable_Reply, error) // ContactRequestResetReference changes the contact request reference ContactRequestResetReference(ctx context.Context, in *bertytypes.ContactRequestResetReference_Request, opts ...grpc.CallOption) (*bertytypes.ContactRequestResetReference_Reply, error) // ContactRequestSend attempt to send a contact request ContactRequestSend(ctx context.Context, in *bertytypes.ContactRequestSend_Request, opts ...grpc.CallOption) (*bertytypes.ContactRequestSend_Reply, error) // ContactRequestAccept accepts a contact request ContactRequestAccept(ctx context.Context, in *bertytypes.ContactRequestAccept_Request, opts ...grpc.CallOption) (*bertytypes.ContactRequestAccept_Reply, error) // ContactRequestDiscard ignores a contact request, without informing the other user ContactRequestDiscard(ctx context.Context, in *bertytypes.ContactRequestDiscard_Request, opts ...grpc.CallOption) (*bertytypes.ContactRequestDiscard_Reply, error) // ContactBlock blocks a contact from sending requests ContactBlock(ctx context.Context, in *bertytypes.ContactBlock_Request, opts ...grpc.CallOption) (*bertytypes.ContactBlock_Reply, error) // ContactUnblock unblocks a contact from sending requests ContactUnblock(ctx context.Context, in *bertytypes.ContactUnblock_Request, opts ...grpc.CallOption) (*bertytypes.ContactUnblock_Reply, error) // ContactAliasKeySend send an alias key to a contact, the contact will be able to assert that your account is being present on a multi-member group ContactAliasKeySend(ctx context.Context, in *bertytypes.ContactAliasKeySend_Request, opts ...grpc.CallOption) (*bertytypes.ContactAliasKeySend_Reply, error) // MultiMemberGroupCreate creates a new multi-member group MultiMemberGroupCreate(ctx context.Context, in *bertytypes.MultiMemberGroupCreate_Request, opts ...grpc.CallOption) (*bertytypes.MultiMemberGroupCreate_Reply, error) // MultiMemberGroupJoin joins a multi-member group MultiMemberGroupJoin(ctx context.Context, in *bertytypes.MultiMemberGroupJoin_Request, opts ...grpc.CallOption) (*bertytypes.MultiMemberGroupJoin_Reply, error) // MultiMemberGroupLeave leaves a multi-member group MultiMemberGroupLeave(ctx context.Context, in *bertytypes.MultiMemberGroupLeave_Request, opts ...grpc.CallOption) (*bertytypes.MultiMemberGroupLeave_Reply, error) // MultiMemberGroupAliasResolverDisclose discloses your alias resolver key MultiMemberGroupAliasResolverDisclose(ctx context.Context, in *bertytypes.MultiMemberGroupAliasResolverDisclose_Request, opts ...grpc.CallOption) (*bertytypes.MultiMemberGroupAliasResolverDisclose_Reply, error) // MultiMemberGroupAdminRoleGrant grants an admin role to a group member MultiMemberGroupAdminRoleGrant(ctx context.Context, in *bertytypes.MultiMemberGroupAdminRoleGrant_Request, opts ...grpc.CallOption) (*bertytypes.MultiMemberGroupAdminRoleGrant_Reply, error) // MultiMemberGroupInvitationCreate creates an invitation to a multi-member group MultiMemberGroupInvitationCreate(ctx context.Context, in *bertytypes.MultiMemberGroupInvitationCreate_Request, opts ...grpc.CallOption) (*bertytypes.MultiMemberGroupInvitationCreate_Reply, error) // AppMetadataSend adds an app event to the metadata store, the message is encrypted using a symmetric key and readable by future group members AppMetadataSend(ctx context.Context, in *bertytypes.AppMetadataSend_Request, opts ...grpc.CallOption) (*bertytypes.AppMetadataSend_Reply, error) // AppMessageSend adds an app event to the message store, the message is encrypted using a derived key and readable by current group members AppMessageSend(ctx context.Context, in *bertytypes.AppMessageSend_Request, opts ...grpc.CallOption) (*bertytypes.AppMessageSend_Reply, error) // GroupMetadataSubscribe subscribes to a group metadata updates (types.or it can also retrieve the history) GroupMetadataSubscribe(ctx context.Context, in *bertytypes.GroupMetadataSubscribe_Request, opts ...grpc.CallOption) (ProtocolService_GroupMetadataSubscribeClient, error) // GroupMessageSubscribe subscribes to a group message updates (types.or it can also retrieve the history) GroupMessageSubscribe(ctx context.Context, in *bertytypes.GroupMessageSubscribe_Request, opts ...grpc.CallOption) (ProtocolService_GroupMessageSubscribeClient, error) // GroupMetadataList replays metadata events from the group GroupMetadataList(ctx context.Context, in *bertytypes.GroupMetadataList_Request, opts ...grpc.CallOption) (ProtocolService_GroupMetadataListClient, error) // GroupMessageList replays message events from the group GroupMessageList(ctx context.Context, in *bertytypes.GroupMessageList_Request, opts ...grpc.CallOption) (ProtocolService_GroupMessageListClient, error) // GroupInfo retrieves information about a group GroupInfo(ctx context.Context, in *bertytypes.GroupInfo_Request, opts ...grpc.CallOption) (*bertytypes.GroupInfo_Reply, error) // ActivateGroup explicitly opens a group, groups are automatically enabled when actions are performed on them ActivateGroup(ctx context.Context, in *bertytypes.ActivateGroup_Request, opts ...grpc.CallOption) (*bertytypes.ActivateGroup_Reply, error) // DeactivateGroup closes a group DeactivateGroup(ctx context.Context, in *bertytypes.DeactivateGroup_Request, opts ...grpc.CallOption) (*bertytypes.DeactivateGroup_Reply, error) }
ProtocolServiceClient is the client API for ProtocolService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewProtocolServiceClient ¶
func NewProtocolServiceClient(cc *grpc.ClientConn) ProtocolServiceClient
type ProtocolServiceServer ¶
type ProtocolServiceServer interface { // InstanceExportData exports instance data InstanceExportData(context.Context, *bertytypes.InstanceExportData_Request) (*bertytypes.InstanceExportData_Reply, error) // InstanceGetConfiguration gets current configuration of this protocol instance InstanceGetConfiguration(context.Context, *bertytypes.InstanceGetConfiguration_Request) (*bertytypes.InstanceGetConfiguration_Reply, error) // ContactRequestReference retrieves the information required to create a reference (types.ie. included in a shareable link) to the current account ContactRequestReference(context.Context, *bertytypes.ContactRequestReference_Request) (*bertytypes.ContactRequestReference_Reply, error) // ContactRequestDisable disables incoming contact requests ContactRequestDisable(context.Context, *bertytypes.ContactRequestDisable_Request) (*bertytypes.ContactRequestDisable_Reply, error) // ContactRequestEnable enables incoming contact requests ContactRequestEnable(context.Context, *bertytypes.ContactRequestEnable_Request) (*bertytypes.ContactRequestEnable_Reply, error) // ContactRequestResetReference changes the contact request reference ContactRequestResetReference(context.Context, *bertytypes.ContactRequestResetReference_Request) (*bertytypes.ContactRequestResetReference_Reply, error) // ContactRequestSend attempt to send a contact request ContactRequestSend(context.Context, *bertytypes.ContactRequestSend_Request) (*bertytypes.ContactRequestSend_Reply, error) // ContactRequestAccept accepts a contact request ContactRequestAccept(context.Context, *bertytypes.ContactRequestAccept_Request) (*bertytypes.ContactRequestAccept_Reply, error) // ContactRequestDiscard ignores a contact request, without informing the other user ContactRequestDiscard(context.Context, *bertytypes.ContactRequestDiscard_Request) (*bertytypes.ContactRequestDiscard_Reply, error) // ContactBlock blocks a contact from sending requests ContactBlock(context.Context, *bertytypes.ContactBlock_Request) (*bertytypes.ContactBlock_Reply, error) // ContactUnblock unblocks a contact from sending requests ContactUnblock(context.Context, *bertytypes.ContactUnblock_Request) (*bertytypes.ContactUnblock_Reply, error) // ContactAliasKeySend send an alias key to a contact, the contact will be able to assert that your account is being present on a multi-member group ContactAliasKeySend(context.Context, *bertytypes.ContactAliasKeySend_Request) (*bertytypes.ContactAliasKeySend_Reply, error) // MultiMemberGroupCreate creates a new multi-member group MultiMemberGroupCreate(context.Context, *bertytypes.MultiMemberGroupCreate_Request) (*bertytypes.MultiMemberGroupCreate_Reply, error) // MultiMemberGroupJoin joins a multi-member group MultiMemberGroupJoin(context.Context, *bertytypes.MultiMemberGroupJoin_Request) (*bertytypes.MultiMemberGroupJoin_Reply, error) // MultiMemberGroupLeave leaves a multi-member group MultiMemberGroupLeave(context.Context, *bertytypes.MultiMemberGroupLeave_Request) (*bertytypes.MultiMemberGroupLeave_Reply, error) // MultiMemberGroupAliasResolverDisclose discloses your alias resolver key MultiMemberGroupAliasResolverDisclose(context.Context, *bertytypes.MultiMemberGroupAliasResolverDisclose_Request) (*bertytypes.MultiMemberGroupAliasResolverDisclose_Reply, error) // MultiMemberGroupAdminRoleGrant grants an admin role to a group member MultiMemberGroupAdminRoleGrant(context.Context, *bertytypes.MultiMemberGroupAdminRoleGrant_Request) (*bertytypes.MultiMemberGroupAdminRoleGrant_Reply, error) // MultiMemberGroupInvitationCreate creates an invitation to a multi-member group MultiMemberGroupInvitationCreate(context.Context, *bertytypes.MultiMemberGroupInvitationCreate_Request) (*bertytypes.MultiMemberGroupInvitationCreate_Reply, error) // AppMetadataSend adds an app event to the metadata store, the message is encrypted using a symmetric key and readable by future group members AppMetadataSend(context.Context, *bertytypes.AppMetadataSend_Request) (*bertytypes.AppMetadataSend_Reply, error) // AppMessageSend adds an app event to the message store, the message is encrypted using a derived key and readable by current group members AppMessageSend(context.Context, *bertytypes.AppMessageSend_Request) (*bertytypes.AppMessageSend_Reply, error) // GroupMetadataSubscribe subscribes to a group metadata updates (types.or it can also retrieve the history) GroupMetadataSubscribe(*bertytypes.GroupMetadataSubscribe_Request, ProtocolService_GroupMetadataSubscribeServer) error // GroupMessageSubscribe subscribes to a group message updates (types.or it can also retrieve the history) GroupMessageSubscribe(*bertytypes.GroupMessageSubscribe_Request, ProtocolService_GroupMessageSubscribeServer) error // GroupMetadataList replays metadata events from the group GroupMetadataList(*bertytypes.GroupMetadataList_Request, ProtocolService_GroupMetadataListServer) error // GroupMessageList replays message events from the group GroupMessageList(*bertytypes.GroupMessageList_Request, ProtocolService_GroupMessageListServer) error // GroupInfo retrieves information about a group GroupInfo(context.Context, *bertytypes.GroupInfo_Request) (*bertytypes.GroupInfo_Reply, error) // ActivateGroup explicitly opens a group, groups are automatically enabled when actions are performed on them ActivateGroup(context.Context, *bertytypes.ActivateGroup_Request) (*bertytypes.ActivateGroup_Reply, error) // DeactivateGroup closes a group DeactivateGroup(context.Context, *bertytypes.DeactivateGroup_Request) (*bertytypes.DeactivateGroup_Reply, error) }
ProtocolServiceServer is the server API for ProtocolService service.
type ProtocolService_GroupMessageListClient ¶
type ProtocolService_GroupMessageListClient interface { Recv() (*bertytypes.GroupMessageEvent, error) grpc.ClientStream }
type ProtocolService_GroupMessageListServer ¶
type ProtocolService_GroupMessageListServer interface { Send(*bertytypes.GroupMessageEvent) error grpc.ServerStream }
type ProtocolService_GroupMessageSubscribeClient ¶
type ProtocolService_GroupMessageSubscribeClient interface { Recv() (*bertytypes.GroupMessageEvent, error) grpc.ClientStream }
type ProtocolService_GroupMessageSubscribeServer ¶
type ProtocolService_GroupMessageSubscribeServer interface { Send(*bertytypes.GroupMessageEvent) error grpc.ServerStream }
type ProtocolService_GroupMetadataListClient ¶
type ProtocolService_GroupMetadataListClient interface { Recv() (*bertytypes.GroupMetadataEvent, error) grpc.ClientStream }
type ProtocolService_GroupMetadataListServer ¶
type ProtocolService_GroupMetadataListServer interface { Send(*bertytypes.GroupMetadataEvent) error grpc.ServerStream }
type ProtocolService_GroupMetadataSubscribeClient ¶
type ProtocolService_GroupMetadataSubscribeClient interface { Recv() (*bertytypes.GroupMetadataEvent, error) grpc.ClientStream }
type ProtocolService_GroupMetadataSubscribeServer ¶
type ProtocolService_GroupMetadataSubscribeServer interface { Send(*bertytypes.GroupMetadataEvent) error grpc.ServerStream }
type Service ¶ added in v2.35.0
type Service interface { ProtocolServiceServer Close() error Status() Status }
Service is the main Berty Protocol interface
func New ¶
New initializes a new Client
Example (Basic) ¶
client, err := New(Opts{}) if err != nil { panic(err) } ret, err := client.InstanceGetConfiguration(context.Background(), &bertytypes.InstanceGetConfiguration_Request{}) if err != nil { panic(err) } for _, listener := range ret.Listeners { if listener == "/p2p-circuit" { fmt.Println(listener) } }
Output: /p2p-circuit
type TestingOpts ¶ added in v2.39.0
type TestingProtocol ¶ added in v2.39.0
type TestingProtocol struct { Opts *Opts Service Service Client Client IPFS ipfsutil.CoreAPIMock }
func NewTestingProtocol ¶ added in v2.39.0
func NewTestingProtocol(ctx context.Context, t *testing.T, opts *TestingOpts) (*TestingProtocol, func())
type UnimplementedProtocolServiceServer ¶
type UnimplementedProtocolServiceServer struct { }
UnimplementedProtocolServiceServer can be embedded to have forward compatible implementations.
func (*UnimplementedProtocolServiceServer) ActivateGroup ¶
func (*UnimplementedProtocolServiceServer) ActivateGroup(ctx context.Context, req *bertytypes.ActivateGroup_Request) (*bertytypes.ActivateGroup_Reply, error)
func (*UnimplementedProtocolServiceServer) AppMessageSend ¶
func (*UnimplementedProtocolServiceServer) AppMessageSend(ctx context.Context, req *bertytypes.AppMessageSend_Request) (*bertytypes.AppMessageSend_Reply, error)
func (*UnimplementedProtocolServiceServer) AppMetadataSend ¶
func (*UnimplementedProtocolServiceServer) AppMetadataSend(ctx context.Context, req *bertytypes.AppMetadataSend_Request) (*bertytypes.AppMetadataSend_Reply, error)
func (*UnimplementedProtocolServiceServer) ContactAliasKeySend ¶
func (*UnimplementedProtocolServiceServer) ContactAliasKeySend(ctx context.Context, req *bertytypes.ContactAliasKeySend_Request) (*bertytypes.ContactAliasKeySend_Reply, error)
func (*UnimplementedProtocolServiceServer) ContactBlock ¶
func (*UnimplementedProtocolServiceServer) ContactBlock(ctx context.Context, req *bertytypes.ContactBlock_Request) (*bertytypes.ContactBlock_Reply, error)
func (*UnimplementedProtocolServiceServer) ContactRequestAccept ¶
func (*UnimplementedProtocolServiceServer) ContactRequestAccept(ctx context.Context, req *bertytypes.ContactRequestAccept_Request) (*bertytypes.ContactRequestAccept_Reply, error)
func (*UnimplementedProtocolServiceServer) ContactRequestDisable ¶
func (*UnimplementedProtocolServiceServer) ContactRequestDisable(ctx context.Context, req *bertytypes.ContactRequestDisable_Request) (*bertytypes.ContactRequestDisable_Reply, error)
func (*UnimplementedProtocolServiceServer) ContactRequestDiscard ¶
func (*UnimplementedProtocolServiceServer) ContactRequestDiscard(ctx context.Context, req *bertytypes.ContactRequestDiscard_Request) (*bertytypes.ContactRequestDiscard_Reply, error)
func (*UnimplementedProtocolServiceServer) ContactRequestEnable ¶
func (*UnimplementedProtocolServiceServer) ContactRequestEnable(ctx context.Context, req *bertytypes.ContactRequestEnable_Request) (*bertytypes.ContactRequestEnable_Reply, error)
func (*UnimplementedProtocolServiceServer) ContactRequestReference ¶
func (*UnimplementedProtocolServiceServer) ContactRequestReference(ctx context.Context, req *bertytypes.ContactRequestReference_Request) (*bertytypes.ContactRequestReference_Reply, error)
func (*UnimplementedProtocolServiceServer) ContactRequestResetReference ¶
func (*UnimplementedProtocolServiceServer) ContactRequestResetReference(ctx context.Context, req *bertytypes.ContactRequestResetReference_Request) (*bertytypes.ContactRequestResetReference_Reply, error)
func (*UnimplementedProtocolServiceServer) ContactRequestSend ¶
func (*UnimplementedProtocolServiceServer) ContactRequestSend(ctx context.Context, req *bertytypes.ContactRequestSend_Request) (*bertytypes.ContactRequestSend_Reply, error)
func (*UnimplementedProtocolServiceServer) ContactUnblock ¶
func (*UnimplementedProtocolServiceServer) ContactUnblock(ctx context.Context, req *bertytypes.ContactUnblock_Request) (*bertytypes.ContactUnblock_Reply, error)
func (*UnimplementedProtocolServiceServer) DeactivateGroup ¶
func (*UnimplementedProtocolServiceServer) DeactivateGroup(ctx context.Context, req *bertytypes.DeactivateGroup_Request) (*bertytypes.DeactivateGroup_Reply, error)
func (*UnimplementedProtocolServiceServer) GroupInfo ¶
func (*UnimplementedProtocolServiceServer) GroupInfo(ctx context.Context, req *bertytypes.GroupInfo_Request) (*bertytypes.GroupInfo_Reply, error)
func (*UnimplementedProtocolServiceServer) GroupMessageList ¶
func (*UnimplementedProtocolServiceServer) GroupMessageList(req *bertytypes.GroupMessageList_Request, srv ProtocolService_GroupMessageListServer) error
func (*UnimplementedProtocolServiceServer) GroupMessageSubscribe ¶
func (*UnimplementedProtocolServiceServer) GroupMessageSubscribe(req *bertytypes.GroupMessageSubscribe_Request, srv ProtocolService_GroupMessageSubscribeServer) error
func (*UnimplementedProtocolServiceServer) GroupMetadataList ¶
func (*UnimplementedProtocolServiceServer) GroupMetadataList(req *bertytypes.GroupMetadataList_Request, srv ProtocolService_GroupMetadataListServer) error
func (*UnimplementedProtocolServiceServer) GroupMetadataSubscribe ¶
func (*UnimplementedProtocolServiceServer) GroupMetadataSubscribe(req *bertytypes.GroupMetadataSubscribe_Request, srv ProtocolService_GroupMetadataSubscribeServer) error
func (*UnimplementedProtocolServiceServer) InstanceExportData ¶
func (*UnimplementedProtocolServiceServer) InstanceExportData(ctx context.Context, req *bertytypes.InstanceExportData_Request) (*bertytypes.InstanceExportData_Reply, error)
func (*UnimplementedProtocolServiceServer) InstanceGetConfiguration ¶
func (*UnimplementedProtocolServiceServer) InstanceGetConfiguration(ctx context.Context, req *bertytypes.InstanceGetConfiguration_Request) (*bertytypes.InstanceGetConfiguration_Reply, error)
func (*UnimplementedProtocolServiceServer) MultiMemberGroupAdminRoleGrant ¶
func (*UnimplementedProtocolServiceServer) MultiMemberGroupAdminRoleGrant(ctx context.Context, req *bertytypes.MultiMemberGroupAdminRoleGrant_Request) (*bertytypes.MultiMemberGroupAdminRoleGrant_Reply, error)
func (*UnimplementedProtocolServiceServer) MultiMemberGroupAliasResolverDisclose ¶
func (*UnimplementedProtocolServiceServer) MultiMemberGroupAliasResolverDisclose(ctx context.Context, req *bertytypes.MultiMemberGroupAliasResolverDisclose_Request) (*bertytypes.MultiMemberGroupAliasResolverDisclose_Reply, error)
func (*UnimplementedProtocolServiceServer) MultiMemberGroupCreate ¶
func (*UnimplementedProtocolServiceServer) MultiMemberGroupCreate(ctx context.Context, req *bertytypes.MultiMemberGroupCreate_Request) (*bertytypes.MultiMemberGroupCreate_Reply, error)
func (*UnimplementedProtocolServiceServer) MultiMemberGroupInvitationCreate ¶
func (*UnimplementedProtocolServiceServer) MultiMemberGroupInvitationCreate(ctx context.Context, req *bertytypes.MultiMemberGroupInvitationCreate_Request) (*bertytypes.MultiMemberGroupInvitationCreate_Reply, error)
func (*UnimplementedProtocolServiceServer) MultiMemberGroupJoin ¶
func (*UnimplementedProtocolServiceServer) MultiMemberGroupJoin(ctx context.Context, req *bertytypes.MultiMemberGroupJoin_Request) (*bertytypes.MultiMemberGroupJoin_Reply, error)
func (*UnimplementedProtocolServiceServer) MultiMemberGroupLeave ¶
func (*UnimplementedProtocolServiceServer) MultiMemberGroupLeave(ctx context.Context, req *bertytypes.MultiMemberGroupLeave_Request) (*bertytypes.MultiMemberGroupLeave_Reply, error)
Source Files
¶
- api_app.go
- api_client.go
- api_contact.go
- api_contactrequest.go
- api_event.go
- api_group.go
- api_multimember.go
- bertyprotocol.pb.go
- client.go
- doc.go
- events.go
- events_sig_checkers.go
- group.go
- group_context.go
- iface_account.go
- keystore_device.go
- keystore_message.go
- keystore_message_utils.go
- orbitdb.go
- orbitdb_datastore_cache.go
- orbitdb_signed_entry_accesscontroller.go
- orbitdb_signed_entry_identity_provider.go
- orbitdb_signed_entry_keystore.go
- service.go
- service_group.go
- store_message.go
- store_metadata.go
- store_metadata_index.go
- store_options.go
- testing.go