func (_m *Plugin) TransferBLOB(ctx context.Context, peerID string, payloadRef string) (string, error) {
	ret := _m.Called(ctx, peerID, payloadRef)
	var r0 string
	if rf, ok := ret.Get(0).(func(context.Context, string, string) string); ok {
		r0 = rf(ctx, peerID, payloadRef)
	} else {
		r0 = ret.Get(0).(string)
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, string, string) error); ok {
		r1 = rf(ctx, peerID, payloadRef)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
TransferBLOB provides a mock function with given fields: ctx, peerID, payloadRef
package dataexchangemocks
import (
	context "context"
	config "github.com/hyperledger/firefly/internal/config"
	dataexchange "github.com/hyperledger/firefly/pkg/dataexchange"
	fftypes "github.com/hyperledger/firefly/pkg/fftypes"
	io "io"
	mock "github.com/stretchr/testify/mock"
)
type Plugin struct {
	mock.Mock
}
func (_m *Plugin) AddPeer(ctx context.Context, peerID string, endpoint fftypes.JSONObject) error {
	ret := _m.Called(ctx, peerID, endpoint)
	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, string, fftypes.JSONObject) error); ok {
		r0 = rf(ctx, peerID, endpoint)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Plugin) Capabilities() *dataexchange.Capabilities {
	ret := _m.Called()
	var r0 *dataexchange.Capabilities
	if rf, ok := ret.Get(0).(func() *dataexchange.Capabilities); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*dataexchange.Capabilities)
		}
	}
	return r0
}
func (_m *Plugin) CheckBLOBReceived(ctx context.Context, peerID string, ns string, id fftypes.UUID) (*fftypes.Bytes32, error) {
	ret := _m.Called(ctx, peerID, ns, id)
	var r0 *fftypes.Bytes32
	if rf, ok := ret.Get(0).(func(context.Context, string, string, fftypes.UUID) *fftypes.Bytes32); ok {
		r0 = rf(ctx, peerID, ns, id)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*fftypes.Bytes32)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, string, string, fftypes.UUID) error); ok {
		r1 = rf(ctx, peerID, ns, id)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Plugin) DownloadBLOB(ctx context.Context, payloadRef string) (io.ReadCloser, error) {
	ret := _m.Called(ctx, payloadRef)
	var r0 io.ReadCloser
	if rf, ok := ret.Get(0).(func(context.Context, string) io.ReadCloser); ok {
		r0 = rf(ctx, payloadRef)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(io.ReadCloser)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, string) error); ok {
		r1 = rf(ctx, payloadRef)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Plugin) GetEndpointInfo(ctx context.Context) (string, fftypes.JSONObject, error) {
	ret := _m.Called(ctx)
	var r0 string
	if rf, ok := ret.Get(0).(func(context.Context) string); ok {
		r0 = rf(ctx)
	} else {
		r0 = ret.Get(0).(string)
	}
	var r1 fftypes.JSONObject
	if rf, ok := ret.Get(1).(func(context.Context) fftypes.JSONObject); ok {
		r1 = rf(ctx)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(fftypes.JSONObject)
		}
	}
	var r2 error
	if rf, ok := ret.Get(2).(func(context.Context) error); ok {
		r2 = rf(ctx)
	} else {
		r2 = ret.Error(2)
	}
	return r0, r1, r2
}
func (_m *Plugin) Init(ctx context.Context, prefix config.Prefix, callbacks dataexchange.Callbacks) error {
	ret := _m.Called(ctx, prefix, callbacks)
	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, config.Prefix, dataexchange.Callbacks) error); ok {
		r0 = rf(ctx, prefix, callbacks)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *Plugin) InitPrefix(prefix config.Prefix) {
	_m.Called(prefix)
}
func (_m *Plugin) Name() string {
	ret := _m.Called()
	var r0 string
	if rf, ok := ret.Get(0).(func() string); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(string)
	}
	return r0
}
func (_m *Plugin) SendMessage(ctx context.Context, peerID string, data []byte) (string, error) {
	ret := _m.Called(ctx, peerID, data)
	var r0 string
	if rf, ok := ret.Get(0).(func(context.Context, string, []byte) string); ok {
		r0 = rf(ctx, peerID, data)
	} else {
		r0 = ret.Get(0).(string)
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, string, []byte) error); ok {
		r1 = rf(ctx, peerID, data)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *Plugin) Start() error {
	ret := _m.Called()
	var r0 error
	if rf, ok := ret.Get(0).(func() error); ok {
		r0 = rf()
	} else {
		r0 = ret.Error(0)
	}
	return r0
}