bertyprotocol

package
v2.53.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2020 License: Apache-2.0, MIT Imports: 66 Imported by: 0

README

Berty go/

go.dev reference

Please, read the main README.md file first.

Get the code

go get -u berty.tech/berty/v2/go/pkg/bertyprotocol

Examples

TODO: add links to internal examples + links to external repos using the protocol

Documentation

Overview

Package bertyprotocol contains code for integrating the Berty protocol in your project.

See https://berty.tech/protocol for more information.

Index

Examples

Constants

View Source
const CurrentGroupVersion = 1

Variables

This section is empty.

Functions

func ActivateGroupContext

func ActivateGroupContext(ctx context.Context, gc *groupContext) error

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 FillMessageKeysHolderUsingNewData

func FillMessageKeysHolderUsingNewData(ctx context.Context, gc *groupContext) error

func FillMessageKeysHolderUsingPreviousData

func FillMessageKeysHolderUsingPreviousData(ctx context.Context, gc *groupContext) 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 NewOrbitDatastoreCache(ds datastore.Batching) cache.Interface

func NewSimpleAccessController added in v2.32.1

NewSimpleAccessController Returns a non configurable access controller

func RegisterProtocolServiceServer

func RegisterProtocolServiceServer(s *grpc.Server, srv ProtocolServiceServer)

func SendSecretsToExistingMembers

func SendSecretsToExistingMembers(ctx context.Context, gctx *groupContext) error

func WatchNewMembersAndSendSecrets

func WatchNewMembersAndSendSecrets(ctx context.Context, logger *zap.Logger, gctx *groupContext)

Types

type AccountKeys

type AccountKeys 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)
}

type BertySignedKeyStore added in v2.32.1

type BertySignedKeyStore struct {
	sync.Map
}

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

func (*BertySignedKeyStore) Sign added in v2.32.1

func (s *BertySignedKeyStore) Sign(privKey crypto.PrivKey, bytes []byte) ([]byte, error)

func (*BertySignedKeyStore) Verify added in v2.32.1

func (s *BertySignedKeyStore) Verify(signature []byte, publicKey crypto.PubKey, data []byte) 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 NewClientFromServer(s *grpc.Server, svc Service, opts ...grpc.DialOption) (Client, error)

func TestingClient

func TestingClient(t *testing.T, svc Service, opts ...grpc.ServerOption) (client Client, cleanup func())

func TestingClientFromServer added in v2.39.0

func TestingClientFromServer(t *testing.T, s *grpc.Server, svc Service, dialOpts ...grpc.DialOption) (client Client, cleanup func())

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 (m *MessageKeystore) DelPrecomputedKey(ctx context.Context, device crypto.PubKey, counter uint64) error

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 (m *MessageKeystore) GetKeyForCID(ctx context.Context, id cid.Cid) (*[32]byte, error)

func (*MessageKeystore) GetPrecomputedKey added in v2.32.1

func (m *MessageKeystore) GetPrecomputedKey(ctx context.Context, device crypto.PubKey, counter uint64) (*[32]byte, error)

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 (m *MessageKeystore) PutKeyForCID(ctx context.Context, id cid.Cid, key *[32]byte) error

func (*MessageKeystore) PutPrecomputedKey added in v2.32.1

func (m *MessageKeystore) PutPrecomputedKey(ctx context.Context, device crypto.PubKey, counter uint64, mk *[32]byte) error

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

type OwnMemberDevice struct {
	Member crypto.PrivKey
	Device crypto.PrivKey
}

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

func New(opts Opts) (Service, error)

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

func TestingService added in v2.39.0

func TestingService(t *testing.T, opts Opts) (Service, func())

TestingService returns a configured Client struct with in-memory contexts.

type Status

type Status struct {
	DB       error
	Protocol error
}

Status contains results of status checks

type TestingOpts added in v2.39.0

type TestingOpts struct {
	Logger  *zap.Logger
	Mocknet libp2p_mocknet.Mocknet
	RDVPeer peer.AddrInfo
}

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) AppMessageSend

func (*UnimplementedProtocolServiceServer) AppMetadataSend

func (*UnimplementedProtocolServiceServer) ContactBlock

func (*UnimplementedProtocolServiceServer) ContactRequestSend

func (*UnimplementedProtocolServiceServer) ContactUnblock

func (*UnimplementedProtocolServiceServer) DeactivateGroup

func (*UnimplementedProtocolServiceServer) GroupInfo

func (*UnimplementedProtocolServiceServer) GroupMessageList

func (*UnimplementedProtocolServiceServer) GroupMetadataList

func (*UnimplementedProtocolServiceServer) InstanceExportData

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL