diff --git a/message/message1_1/message.go b/message/message1_1/message.go
deleted file mode 100644
index c52471f..0000000
--- a/message/message1_1/message.go
+++ /dev/null
@@ -1,196 +0,0 @@
-package message1_1
-
-import (
-	"bytes"
-	"io"
-
-	"github.com/ipfs/go-cid"
-	"github.com/ipld/go-ipld-prime"
-	"github.com/ipld/go-ipld-prime/codec/dagcbor"
-	"github.com/ipld/go-ipld-prime/datamodel"
-	cborgen "github.com/whyrusleeping/cbor-gen"
-	xerrors "golang.org/x/xerrors"
-
-	datatransfer "github.com/filecoin-project/go-data-transfer/v2"
-	"github.com/filecoin-project/go-data-transfer/v2/encoding"
-	"github.com/filecoin-project/go-data-transfer/v2/message/types"
-)
-
-// NewRequest generates a new request for the data transfer protocol
-func NewRequest(id datatransfer.TransferID, isRestart bool, isPull bool, vtype datatransfer.TypeIdentifier, voucher encoding.Encodable, baseCid cid.Cid, selector ipld.Node) (datatransfer.Request, error) {
-	vbytes, err := encoding.Encode(voucher)
-	if err != nil {
-		return nil, xerrors.Errorf("Creating request: %w", err)
-	}
-	if baseCid == cid.Undef {
-		return nil, xerrors.Errorf("base CID must be defined")
-	}
-	selBytes, err := encoding.Encode(selector)
-	if err != nil {
-		return nil, xerrors.Errorf("Error encoding selector")
-	}
-
-	var typ uint64
-	if isRestart {
-		typ = uint64(types.RestartMessage)
-	} else {
-		typ = uint64(types.NewMessage)
-	}
-
-	return &TransferRequest1_1{
-		Type:   typ,
-		Pull:   isPull,
-		Vouch:  &cborgen.Deferred{Raw: vbytes},
-		Stor:   &cborgen.Deferred{Raw: selBytes},
-		BCid:   &baseCid,
-		VTyp:   vtype,
-		XferID: uint64(id),
-	}, nil
-}
-
-// RestartExistingChannelRequest creates a request to ask the other side to restart an existing channel
-func RestartExistingChannelRequest(channelId datatransfer.ChannelID) datatransfer.Request {
-
-	return &TransferRequest1_1{Type: uint64(types.RestartExistingChannelRequestMessage),
-		RestartChannel: channelId}
-}
-
-// CancelRequest request generates a request to cancel an in progress request
-func CancelRequest(id datatransfer.TransferID) datatransfer.Request {
-	return &TransferRequest1_1{
-		Type:   uint64(types.CancelMessage),
-		XferID: uint64(id),
-	}
-}
-
-// UpdateRequest generates a new request update
-func UpdateRequest(id datatransfer.TransferID, isPaused bool) datatransfer.Request {
-	return &TransferRequest1_1{
-		Type:   uint64(types.UpdateMessage),
-		Paus:   isPaused,
-		XferID: uint64(id),
-	}
-}
-
-// VoucherRequest generates a new request for the data transfer protocol
-func VoucherRequest(id datatransfer.TransferID, vtype datatransfer.TypeIdentifier, voucher encoding.Encodable) (datatransfer.Request, error) {
-	vbytes, err := encoding.Encode(voucher)
-	if err != nil {
-		return nil, xerrors.Errorf("Creating request: %w", err)
-	}
-	return &TransferRequest1_1{
-		Type:   uint64(types.VoucherMessage),
-		Vouch:  &cborgen.Deferred{Raw: vbytes},
-		VTyp:   vtype,
-		XferID: uint64(id),
-	}, nil
-}
-
-// RestartResponse builds a new Data Transfer response
-func RestartResponse(id datatransfer.TransferID, accepted bool, isPaused bool, voucherResultType datatransfer.TypeIdentifier, voucherResult encoding.Encodable) (datatransfer.Response, error) {
-	vbytes, err := encoding.Encode(voucherResult)
-	if err != nil {
-		return nil, xerrors.Errorf("Creating request: %w", err)
-	}
-	return &TransferResponse1_1{
-		Acpt:   accepted,
-		Type:   uint64(types.RestartMessage),
-		Paus:   isPaused,
-		XferID: uint64(id),
-		VTyp:   voucherResultType,
-		VRes:   &cborgen.Deferred{Raw: vbytes},
-	}, nil
-}
-
-// NewResponse builds a new Data Transfer response
-func NewResponse(id datatransfer.TransferID, accepted bool, isPaused bool, voucherResultType datatransfer.TypeIdentifier, voucherResult encoding.Encodable) (datatransfer.Response, error) {
-	vbytes, err := encoding.Encode(voucherResult)
-	if err != nil {
-		return nil, xerrors.Errorf("Creating request: %w", err)
-	}
-	return &TransferResponse1_1{
-		Acpt:   accepted,
-		Type:   uint64(types.NewMessage),
-		Paus:   isPaused,
-		XferID: uint64(id),
-		VTyp:   voucherResultType,
-		VRes:   &cborgen.Deferred{Raw: vbytes},
-	}, nil
-}
-
-// VoucherResultResponse builds a new response for a voucher result
-func VoucherResultResponse(id datatransfer.TransferID, accepted bool, isPaused bool, voucherResultType datatransfer.TypeIdentifier, voucherResult encoding.Encodable) (datatransfer.Response, error) {
-	vbytes, err := encoding.Encode(voucherResult)
-	if err != nil {
-		return nil, xerrors.Errorf("Creating request: %w", err)
-	}
-	return &TransferResponse1_1{
-		Acpt:   accepted,
-		Type:   uint64(types.VoucherResultMessage),
-		Paus:   isPaused,
-		XferID: uint64(id),
-		VTyp:   voucherResultType,
-		VRes:   &cborgen.Deferred{Raw: vbytes},
-	}, nil
-}
-
-// UpdateResponse returns a new update response
-func UpdateResponse(id datatransfer.TransferID, isPaused bool) datatransfer.Response {
-	return &TransferResponse1_1{
-		Type:   uint64(types.UpdateMessage),
-		Paus:   isPaused,
-		XferID: uint64(id),
-	}
-}
-
-// CancelResponse makes a new cancel response message
-func CancelResponse(id datatransfer.TransferID) datatransfer.Response {
-	return &TransferResponse1_1{
-		Type:   uint64(types.CancelMessage),
-		XferID: uint64(id),
-	}
-}
-
-// CompleteResponse returns a new complete response message
-func CompleteResponse(id datatransfer.TransferID, isAccepted bool, isPaused bool, voucherResultType datatransfer.TypeIdentifier, voucherResult encoding.Encodable) (datatransfer.Response, error) {
-	vbytes, err := encoding.Encode(voucherResult)
-	if err != nil {
-		return nil, xerrors.Errorf("Creating request: %w", err)
-	}
-	return &TransferResponse1_1{
-		Type:   uint64(types.CompleteMessage),
-		Acpt:   isAccepted,
-		Paus:   isPaused,
-		VTyp:   voucherResultType,
-		VRes:   &cborgen.Deferred{Raw: vbytes},
-		XferID: uint64(id),
-	}, nil
-}
-
-// FromNet can read a network stream to deserialize a GraphSyncMessage
-func FromNet(r io.Reader) (datatransfer.Message, error) {
-	tresp := TransferMessage1_1{}
-	err := tresp.UnmarshalCBOR(r)
-	if err != nil {
-		return nil, err
-	}
-
-	if (tresp.IsRequest() && tresp.Request == nil) || (!tresp.IsRequest() && tresp.Response == nil) {
-		return nil, xerrors.Errorf("invalid/malformed message")
-	}
-
-	if tresp.IsRequest() {
-		return tresp.Request, nil
-	}
-	return tresp.Response, nil
-}
-
-// FromNet can read a network stream to deserialize a GraphSyncMessage
-func FromIPLD(nd datamodel.Node) (datatransfer.Message, error) {
-	buf := new(bytes.Buffer)
-	err := dagcbor.Encode(nd, buf)
-	if err != nil {
-		return nil, err
-	}
-	return FromNet(buf)
-}
diff --git a/message/message1_1/message_test.go b/message/message1_1/message_test.go
deleted file mode 100644
index 3e69fa9..0000000
--- a/message/message1_1/message_test.go
+++ /dev/null
@@ -1,549 +0,0 @@
-package message1_1_test
-
-import (
-	"bytes"
-	"encoding/hex"
-	"fmt"
-	"math/rand"
-	"testing"
-
-	"github.com/ipfs/go-cid"
-	basicnode "github.com/ipld/go-ipld-prime/node/basic"
-	"github.com/ipld/go-ipld-prime/traversal/selector/builder"
-	"github.com/libp2p/go-libp2p-core/peer"
-	"github.com/stretchr/testify/assert"
-	"github.com/stretchr/testify/require"
-
-	datatransfer "github.com/filecoin-project/go-data-transfer/v2"
-	"github.com/filecoin-project/go-data-transfer/v2/message/message1_1"
-	"github.com/filecoin-project/go-data-transfer/v2/testutil"
-)
-
-func TestNewRequest(t *testing.T) {
-	baseCid := testutil.GenerateCids(1)[0]
-	selector := builder.NewSelectorSpecBuilder(basicnode.Prototype.Any).Matcher().Node()
-	isPull := true
-	id := datatransfer.TransferID(rand.Int31())
-	voucher := testutil.NewFakeDTType()
-	request, err := message1_1.NewRequest(id, false, isPull, voucher.Type(), voucher, baseCid, selector)
-	require.NoError(t, err)
-	assert.Equal(t, id, request.TransferID())
-	assert.False(t, request.IsCancel())
-	assert.False(t, request.IsUpdate())
-	assert.True(t, request.IsPull())
-	assert.True(t, request.IsRequest())
-	assert.Equal(t, baseCid.String(), request.BaseCid().String())
-	testutil.AssertFakeDTVoucher(t, request, voucher)
-	receivedSelector, err := request.Selector()
-	require.NoError(t, err)
-	require.Equal(t, selector, receivedSelector)
-	// Sanity check to make sure we can cast to datatransfer.Message
-	msg, ok := request.(datatransfer.Message)
-	require.True(t, ok)
-
-	assert.True(t, msg.IsRequest())
-	assert.Equal(t, request.TransferID(), msg.TransferID())
-	assert.False(t, msg.IsRestart())
-	assert.True(t, msg.IsNew())
-}
-
-func TestRestartRequest(t *testing.T) {
-	baseCid := testutil.GenerateCids(1)[0]
-	selector := builder.NewSelectorSpecBuilder(basicnode.Prototype.Any).Matcher().Node()
-	isPull := true
-	id := datatransfer.TransferID(rand.Int31())
-	voucher := testutil.NewFakeDTType()
-	request, err := message1_1.NewRequest(id, true, isPull, voucher.Type(), voucher, baseCid, selector)
-	require.NoError(t, err)
-	assert.Equal(t, id, request.TransferID())
-	assert.False(t, request.IsCancel())
-	assert.False(t, request.IsUpdate())
-	assert.True(t, request.IsPull())
-	assert.True(t, request.IsRequest())
-	assert.Equal(t, baseCid.String(), request.BaseCid().String())
-	testutil.AssertFakeDTVoucher(t, request, voucher)
-	receivedSelector, err := request.Selector()
-	require.NoError(t, err)
-	require.Equal(t, selector, receivedSelector)
-	// Sanity check to make sure we can cast to datatransfer.Message
-	msg, ok := request.(datatransfer.Message)
-	require.True(t, ok)
-
-	assert.True(t, msg.IsRequest())
-	assert.Equal(t, request.TransferID(), msg.TransferID())
-	assert.True(t, msg.IsRestart())
-	assert.False(t, msg.IsNew())
-}
-
-func TestRestartExistingChannelRequest(t *testing.T) {
-	t.Run("round-trip", func(t *testing.T) {
-		peers := testutil.GeneratePeers(2)
-		tid := uint64(1)
-		chid := datatransfer.ChannelID{Initiator: peers[0],
-			Responder: peers[1], ID: datatransfer.TransferID(tid)}
-		req := message1_1.RestartExistingChannelRequest(chid)
-
-		wbuf := new(bytes.Buffer)
-		require.NoError(t, req.ToNet(wbuf))
-
-		desMsg, err := message1_1.FromNet(wbuf)
-		require.NoError(t, err)
-		req, ok := (desMsg).(datatransfer.Request)
-		require.True(t, ok)
-		require.True(t, req.IsRestartExistingChannelRequest())
-		achid, err := req.RestartChannelId()
-		require.NoError(t, err)
-		require.Equal(t, chid, achid)
-	})
-	t.Run("ipld-prime compat", func(t *testing.T) {
-		msg, _ := hex.DecodeString("a36449735271f56752657175657374aa6442436964f66454797065076450617573f46450617274f46450756c6cf46453746f72f665566f756368f664565479706066586665724944006e526573746172744368616e6e656c83613161320168526573706f6e7365f6")
-		desMsg, err := message1_1.FromNet(bytes.NewReader(msg))
-		require.NoError(t, err)
-		req, ok := (desMsg).(datatransfer.Request)
-		require.True(t, ok)
-		require.True(t, req.IsRestartExistingChannelRequest())
-		achid, err := req.RestartChannelId()
-		require.NoError(t, err)
-		tid := uint64(1)
-		chid := datatransfer.ChannelID{Initiator: peer.ID("1"),
-			Responder: peer.ID("2"), ID: datatransfer.TransferID(tid)}
-		require.Equal(t, chid, achid)
-	})
-}
-
-func TestTransferRequest_MarshalCBOR(t *testing.T) {
-	// sanity check MarshalCBOR does its thing w/o error
-	req, err := NewTestTransferRequest()
-	require.NoError(t, err)
-	wbuf := new(bytes.Buffer)
-	require.NoError(t, req.MarshalCBOR(wbuf))
-	assert.Greater(t, wbuf.Len(), 0)
-}
-func TestTransferRequest_UnmarshalCBOR(t *testing.T) {
-	t.Run("round-trip", func(t *testing.T) {
-		req, err := NewTestTransferRequest()
-		require.NoError(t, err)
-		wbuf := new(bytes.Buffer)
-		// use ToNet / message1_1.FromNet
-		require.NoError(t, req.ToNet(wbuf))
-
-		desMsg, err := message1_1.FromNet(wbuf)
-		require.NoError(t, err)
-
-		// Verify round-trip
-		assert.Equal(t, req.TransferID(), desMsg.TransferID())
-		assert.Equal(t, req.IsRequest(), desMsg.IsRequest())
-
-		desReq := desMsg.(datatransfer.Request)
-		assert.Equal(t, req.IsPull(), desReq.IsPull())
-		assert.Equal(t, req.IsCancel(), desReq.IsCancel())
-		assert.Equal(t, req.BaseCid(), desReq.BaseCid())
-		testutil.AssertEqualFakeDTVoucher(t, &req, desReq)
-		testutil.AssertEqualSelector(t, &req, desReq)
-	})
-	t.Run("ipld-prime compat", func(t *testing.T) {
-		req, err := NewTestTransferRequest()
-		require.NoError(t, err)
-
-		msg, _ := hex.DecodeString("a36449735271f56752657175657374aa6442436964d82a58230012204bf5122f344554c53bde2ebb8cd2b7e3d1600ad631c385a5d7cce23c7785459a6450617274f46450617573f46450756c6cf46453746f72a1612ea064547970650064565479706a46616b6544545479706565566f756368817864f55ff8f12508b63ef2bfeca7557ae90df6311a5ec1631b4a1fa843310bd9c3a710eaace5a1bdd72ad0bfe049771c11e756338bd93865e645f1adec9b9c99ef407fbd4fc6859e7904c5ad7dc9bd10a5cc16973d5b28ec1a6dd43d9f82f9f18c3d03418e35665866657249441a4d6582216e526573746172744368616e6e656c8360600068526573706f6e7365f6")
-		desMsg, err := message1_1.FromNet(bytes.NewReader(msg))
-		require.NoError(t, err)
-
-		// Verify round-trip
-		assert.Equal(t, datatransfer.TransferID(1298498081), desMsg.TransferID())
-		assert.Equal(t, req.IsRequest(), desMsg.IsRequest())
-
-		desReq := desMsg.(datatransfer.Request)
-		assert.Equal(t, req.IsPull(), desReq.IsPull())
-		assert.Equal(t, req.IsCancel(), desReq.IsCancel())
-		c, _ := cid.Parse("QmTTA2daxGqo5denp6SwLzzkLJm3fuisYEi9CoWsuHpzfb")
-		assert.Equal(t, c, desReq.BaseCid())
-		testutil.AssertEqualFakeDTVoucher(t, &req, desReq)
-		testutil.AssertEqualSelector(t, &req, desReq)
-	})
-}
-
-func TestResponses(t *testing.T) {
-	id := datatransfer.TransferID(rand.Int31())
-	voucherResult := testutil.NewFakeDTType()
-	response, err := message1_1.NewResponse(id, false, true, voucherResult.Type(), voucherResult) // not accepted
-	require.NoError(t, err)
-	assert.Equal(t, response.TransferID(), id)
-	assert.False(t, response.Accepted())
-	assert.True(t, response.IsNew())
-	assert.False(t, response.IsUpdate())
-	assert.True(t, response.IsPaused())
-	assert.False(t, response.IsRequest())
-	testutil.AssertFakeDTVoucherResult(t, response, voucherResult)
-	// Sanity check to make sure we can cast to datatransfer.Message
-	msg, ok := response.(datatransfer.Message)
-	require.True(t, ok)
-
-	assert.False(t, msg.IsRequest())
-	assert.True(t, msg.IsNew())
-	assert.False(t, msg.IsUpdate())
-	assert.True(t, msg.IsPaused())
-	assert.Equal(t, response.TransferID(), msg.TransferID())
-}
-
-func TestTransferResponse_MarshalCBOR(t *testing.T) {
-	id := datatransfer.TransferID(rand.Int31())
-	voucherResult := testutil.NewFakeDTType()
-	response, err := message1_1.NewResponse(id, true, false, voucherResult.Type(), voucherResult) // accepted
-	require.NoError(t, err)
-
-	// sanity check that we can marshal data
-	wbuf := new(bytes.Buffer)
-	require.NoError(t, response.ToNet(wbuf))
-	assert.Greater(t, wbuf.Len(), 0)
-}
-
-func TestTransferResponse_UnmarshalCBOR(t *testing.T) {
-	t.Run("round-trip", func(t *testing.T) {
-		id := datatransfer.TransferID(rand.Int31())
-		voucherResult := testutil.NewFakeDTType()
-		response, err := message1_1.NewResponse(id, true, false, voucherResult.Type(), voucherResult) // accepted
-		require.NoError(t, err)
-
-		wbuf := new(bytes.Buffer)
-		require.NoError(t, response.ToNet(wbuf))
-
-		// verify round trip
-		desMsg, err := message1_1.FromNet(wbuf)
-		require.NoError(t, err)
-		assert.False(t, desMsg.IsRequest())
-		assert.True(t, desMsg.IsNew())
-		assert.False(t, desMsg.IsUpdate())
-		assert.False(t, desMsg.IsPaused())
-		assert.Equal(t, id, desMsg.TransferID())
-
-		desResp, ok := desMsg.(datatransfer.Response)
-		require.True(t, ok)
-		assert.True(t, desResp.Accepted())
-		assert.True(t, desResp.IsNew())
-		assert.False(t, desResp.IsUpdate())
-		assert.False(t, desMsg.IsPaused())
-		testutil.AssertFakeDTVoucherResult(t, desResp, voucherResult)
-	})
-	t.Run("ipld-prime compat", func(t *testing.T) {
-		voucherResult := testutil.NewFakeDTType()
-		voucherResult.Data = "\xf5_\xf8\xf1%\b\xb6>\xf2\xbf\xec\xa7Uz\xe9\r\xf61\x1a^\xc1c\x1bJ\x1f\xa8C1\v\xd9ç\x10\xea\xac塽\xd7*п\xe0Iw\x1c\x11\xe7V3\x8b\xd98e\xe6E\xf1\xad웜\x99\xef@\u007f\xbdOƅ\x9ey\x04ŭ}ɽ\x10\xa5\xcc\x16\x97=[(\xec\x1am\xd4=\x9f\x82\xf9\xf1\x8c=\x03A\x8e5"
-
-		msg, _ := hex.DecodeString("a36449735271f46752657175657374f668526573706f6e7365a66441637074f56450617573f46454797065006456526573817864f55ff8f12508b63ef2bfeca7557ae90df6311a5ec1631b4a1fa843310bd9c3a710eaace5a1bdd72ad0bfe049771c11e756338bd93865e645f1adec9b9c99ef407fbd4fc6859e7904c5ad7dc9bd10a5cc16973d5b28ec1a6dd43d9f82f9f18c3d03418e3564565479706a46616b65445454797065665866657249441a4d658221")
-		desMsg, err := message1_1.FromNet(bytes.NewReader(msg))
-		require.NoError(t, err)
-		assert.False(t, desMsg.IsRequest())
-		assert.True(t, desMsg.IsNew())
-		assert.False(t, desMsg.IsUpdate())
-		assert.False(t, desMsg.IsPaused())
-		assert.Equal(t, datatransfer.TransferID(1298498081), desMsg.TransferID())
-
-		desResp, ok := desMsg.(datatransfer.Response)
-		require.True(t, ok)
-		assert.True(t, desResp.Accepted())
-		assert.True(t, desResp.IsNew())
-		assert.False(t, desResp.IsUpdate())
-		assert.False(t, desMsg.IsPaused())
-		testutil.AssertFakeDTVoucherResult(t, desResp, voucherResult)
-	})
-}
-
-func TestRequestCancel(t *testing.T) {
-	t.Run("round-trip", func(t *testing.T) {
-		id := datatransfer.TransferID(rand.Int31())
-		req := message1_1.CancelRequest(id)
-		require.Equal(t, req.TransferID(), id)
-		require.True(t, req.IsRequest())
-		require.True(t, req.IsCancel())
-		require.False(t, req.IsUpdate())
-
-		wbuf := new(bytes.Buffer)
-		require.NoError(t, req.ToNet(wbuf))
-
-		deserialized, err := message1_1.FromNet(wbuf)
-		require.NoError(t, err)
-
-		deserializedRequest, ok := deserialized.(datatransfer.Request)
-		require.True(t, ok)
-		require.Equal(t, deserializedRequest.TransferID(), req.TransferID())
-		require.Equal(t, deserializedRequest.IsCancel(), req.IsCancel())
-		require.Equal(t, deserializedRequest.IsRequest(), req.IsRequest())
-		require.Equal(t, deserializedRequest.IsUpdate(), req.IsUpdate())
-	})
-	t.Run("ipld-prime compat", func(t *testing.T) {
-		id := datatransfer.TransferID(1298498081)
-		req := message1_1.CancelRequest(id)
-		require.Equal(t, req.TransferID(), id)
-		require.True(t, req.IsRequest())
-		require.True(t, req.IsCancel())
-		require.False(t, req.IsUpdate())
-
-		msg, _ := hex.DecodeString("a36449735271f56752657175657374aa6442436964f66450617274f46450617573f46450756c6cf46453746f72f664547970650264565479706065566f756368f6665866657249441a4d6582216e526573746172744368616e6e656c8360600068526573706f6e7365f6")
-		deserialized, err := message1_1.FromNet(bytes.NewReader(msg))
-		require.NoError(t, err)
-
-		deserializedRequest, ok := deserialized.(datatransfer.Request)
-		require.True(t, ok)
-		require.Equal(t, deserializedRequest.TransferID(), req.TransferID())
-		require.Equal(t, deserializedRequest.IsCancel(), req.IsCancel())
-		require.Equal(t, deserializedRequest.IsRequest(), req.IsRequest())
-		require.Equal(t, deserializedRequest.IsUpdate(), req.IsUpdate())
-	})
-}
-
-func TestRequestUpdate(t *testing.T) {
-	t.Run("round-trip", func(t *testing.T) {
-		id := datatransfer.TransferID(rand.Int31())
-		req := message1_1.UpdateRequest(id, true)
-		require.Equal(t, req.TransferID(), id)
-		require.True(t, req.IsRequest())
-		require.False(t, req.IsCancel())
-		require.True(t, req.IsUpdate())
-		require.True(t, req.IsPaused())
-
-		wbuf := new(bytes.Buffer)
-		require.NoError(t, req.ToNet(wbuf))
-
-		deserialized, err := message1_1.FromNet(wbuf)
-		require.NoError(t, err)
-
-		deserializedRequest, ok := deserialized.(datatransfer.Request)
-		require.True(t, ok)
-		require.Equal(t, deserializedRequest.TransferID(), req.TransferID())
-		require.Equal(t, deserializedRequest.IsCancel(), req.IsCancel())
-		require.Equal(t, deserializedRequest.IsRequest(), req.IsRequest())
-		require.Equal(t, deserializedRequest.IsUpdate(), req.IsUpdate())
-		require.Equal(t, deserializedRequest.IsPaused(), req.IsPaused())
-	})
-	t.Run("ipld-prime compat", func(t *testing.T) {
-		id := datatransfer.TransferID(1298498081)
-		req := message1_1.UpdateRequest(id, true)
-
-		msg, _ := hex.DecodeString("a36449735271f56752657175657374aa6442436964f66450617274f46450617573f56450756c6cf46453746f72f664547970650164565479706065566f756368f6665866657249441a4d6582216e526573746172744368616e6e656c8360600068526573706f6e7365f6")
-		deserialized, err := message1_1.FromNet(bytes.NewReader(msg))
-		require.NoError(t, err)
-
-		deserializedRequest, ok := deserialized.(datatransfer.Request)
-		require.True(t, ok)
-		require.Equal(t, deserializedRequest.TransferID(), req.TransferID())
-		require.Equal(t, deserializedRequest.IsCancel(), req.IsCancel())
-		require.Equal(t, deserializedRequest.IsRequest(), req.IsRequest())
-		require.Equal(t, deserializedRequest.IsUpdate(), req.IsUpdate())
-		require.Equal(t, deserializedRequest.IsPaused(), req.IsPaused())
-	})
-}
-
-func TestUpdateResponse(t *testing.T) {
-	id := datatransfer.TransferID(rand.Int31())
-	response := message1_1.UpdateResponse(id, true) // not accepted
-	assert.Equal(t, response.TransferID(), id)
-	assert.False(t, response.Accepted())
-	assert.False(t, response.IsNew())
-	assert.True(t, response.IsUpdate())
-	assert.True(t, response.IsPaused())
-	assert.False(t, response.IsRequest())
-
-	// Sanity check to make sure we can cast to datatransfer.Message
-	msg, ok := response.(datatransfer.Message)
-	require.True(t, ok)
-
-	assert.False(t, msg.IsRequest())
-	assert.False(t, msg.IsNew())
-	assert.True(t, msg.IsUpdate())
-	assert.True(t, msg.IsPaused())
-	assert.Equal(t, response.TransferID(), msg.TransferID())
-}
-
-func TestCancelResponse(t *testing.T) {
-	id := datatransfer.TransferID(rand.Int31())
-	response := message1_1.CancelResponse(id)
-	assert.Equal(t, response.TransferID(), id)
-	assert.False(t, response.IsNew())
-	assert.False(t, response.IsUpdate())
-	assert.True(t, response.IsCancel())
-	assert.False(t, response.IsRequest())
-	// Sanity check to make sure we can cast to datatransfer.Message
-	msg, ok := response.(datatransfer.Message)
-	require.True(t, ok)
-
-	assert.False(t, msg.IsRequest())
-	assert.False(t, msg.IsNew())
-	assert.False(t, msg.IsUpdate())
-	assert.True(t, msg.IsCancel())
-	assert.Equal(t, response.TransferID(), msg.TransferID())
-}
-
-func TestCompleteResponse(t *testing.T) {
-	id := datatransfer.TransferID(rand.Int31())
-	response, err := message1_1.CompleteResponse(id, true, true, datatransfer.EmptyTypeIdentifier, nil)
-	require.NoError(t, err)
-	assert.Equal(t, response.TransferID(), id)
-	assert.False(t, response.IsNew())
-	assert.False(t, response.IsUpdate())
-	assert.True(t, response.IsPaused())
-	assert.True(t, response.IsValidationResult())
-	assert.True(t, response.EmptyVoucherResult())
-	assert.True(t, response.IsComplete())
-	assert.False(t, response.IsRequest())
-	// Sanity check to make sure we can cast to datatransfer.Message
-	msg, ok := response.(datatransfer.Message)
-	require.True(t, ok)
-
-	assert.False(t, msg.IsRequest())
-	assert.False(t, msg.IsNew())
-	assert.False(t, msg.IsUpdate())
-	assert.Equal(t, response.TransferID(), msg.TransferID())
-}
-func TestToNetFromNetEquivalency(t *testing.T) {
-	t.Run("round-trip", func(t *testing.T) {
-		baseCid := testutil.GenerateCids(1)[0]
-		selector := builder.NewSelectorSpecBuilder(basicnode.Prototype.Any).Matcher().Node()
-		isPull := false
-		id := datatransfer.TransferID(rand.Int31())
-		accepted := false
-		voucher := testutil.NewFakeDTType()
-		voucherResult := testutil.NewFakeDTType()
-		request, err := message1_1.NewRequest(id, false, isPull, voucher.Type(), voucher, baseCid, selector)
-		require.NoError(t, err)
-		buf := new(bytes.Buffer)
-		err = request.ToNet(buf)
-		require.NoError(t, err)
-		require.Greater(t, buf.Len(), 0)
-		deserialized, err := message1_1.FromNet(buf)
-		require.NoError(t, err)
-
-		deserializedRequest, ok := deserialized.(datatransfer.Request)
-		require.True(t, ok)
-
-		require.Equal(t, deserializedRequest.TransferID(), request.TransferID())
-		require.Equal(t, deserializedRequest.IsCancel(), request.IsCancel())
-		require.Equal(t, deserializedRequest.IsPull(), request.IsPull())
-		require.Equal(t, deserializedRequest.IsRequest(), request.IsRequest())
-		require.Equal(t, deserializedRequest.BaseCid(), request.BaseCid())
-		testutil.AssertEqualFakeDTVoucher(t, request, deserializedRequest)
-		testutil.AssertEqualSelector(t, request, deserializedRequest)
-
-		response, err := message1_1.NewResponse(id, accepted, false, voucherResult.Type(), voucherResult)
-		require.NoError(t, err)
-		err = response.ToNet(buf)
-		require.NoError(t, err)
-		deserialized, err = message1_1.FromNet(buf)
-		require.NoError(t, err)
-
-		deserializedResponse, ok := deserialized.(datatransfer.Response)
-		require.True(t, ok)
-
-		require.Equal(t, deserializedResponse.TransferID(), response.TransferID())
-		require.Equal(t, deserializedResponse.Accepted(), response.Accepted())
-		require.Equal(t, deserializedResponse.IsRequest(), response.IsRequest())
-		require.Equal(t, deserializedResponse.IsUpdate(), response.IsUpdate())
-		require.Equal(t, deserializedResponse.IsPaused(), response.IsPaused())
-		testutil.AssertEqualFakeDTVoucherResult(t, response, deserializedResponse)
-
-		request = message1_1.CancelRequest(id)
-		err = request.ToNet(buf)
-		require.NoError(t, err)
-		deserialized, err = message1_1.FromNet(buf)
-		require.NoError(t, err)
-
-		deserializedRequest, ok = deserialized.(datatransfer.Request)
-		require.True(t, ok)
-
-		require.Equal(t, deserializedRequest.TransferID(), request.TransferID())
-		require.Equal(t, deserializedRequest.IsCancel(), request.IsCancel())
-		require.Equal(t, deserializedRequest.IsRequest(), request.IsRequest())
-	})
-	t.Run("ipld-prime compat", func(t *testing.T) {
-		baseCid := testutil.GenerateCids(1)[0]
-		selector := builder.NewSelectorSpecBuilder(basicnode.Prototype.Any).Matcher().Node()
-		isPull := false
-		id := datatransfer.TransferID(1298498081)
-		accepted := false
-		voucher := testutil.NewFakeDTType()
-		voucherResult := testutil.NewFakeDTType()
-		request, err := message1_1.NewRequest(id, false, isPull, voucher.Type(), voucher, baseCid, selector)
-		require.NoError(t, err)
-		buf := new(bytes.Buffer)
-		err = request.ToNet(buf)
-		require.NoError(t, err)
-		require.Greater(t, buf.Len(), 0)
-		msg, _ := hex.DecodeString("a36449735271f56752657175657374aa6442436964d82a58230012204bf5122f344554c53bde2ebb8cd2b7e3d1600ad631c385a5d7cce23c7785459a6450617274f46450617573f46450756c6cf46453746f72a1612ea064547970650064565479706a46616b6544545479706565566f756368817864f55ff8f12508b63ef2bfeca7557ae90df6311a5ec1631b4a1fa843310bd9c3a710eaace5a1bdd72ad0bfe049771c11e756338bd93865e645f1adec9b9c99ef407fbd4fc6859e7904c5ad7dc9bd10a5cc16973d5b28ec1a6dd43d9f82f9f18c3d03418e35665866657249441a4d6582216e526573746172744368616e6e656c8360600068526573706f6e7365f6")
-		deserialized, err := message1_1.FromNet(bytes.NewReader(msg))
-		require.NoError(t, err)
-
-		deserializedRequest, ok := deserialized.(datatransfer.Request)
-		require.True(t, ok)
-
-		require.Equal(t, deserializedRequest.TransferID(), request.TransferID())
-		require.Equal(t, deserializedRequest.IsCancel(), request.IsCancel())
-		require.Equal(t, deserializedRequest.IsPull(), request.IsPull())
-		require.Equal(t, deserializedRequest.IsRequest(), request.IsRequest())
-		c, _ := cid.Parse("QmTTA2daxGqo5denp6SwLzzkLJm3fuisYEi9CoWsuHpzfb")
-		assert.Equal(t, c, deserializedRequest.BaseCid())
-		testutil.AssertEqualFakeDTVoucher(t, request, deserializedRequest)
-		testutil.AssertEqualSelector(t, request, deserializedRequest)
-
-		response, err := message1_1.NewResponse(id, accepted, false, voucherResult.Type(), voucherResult)
-		require.NoError(t, err)
-		err = response.ToNet(buf)
-		require.NoError(t, err)
-		msg, _ = hex.DecodeString("a36449735271f46752657175657374f668526573706f6e7365a66441637074f46450617573f464547970650064565265738178644204cb9a1e34c5f08e9b20aa76090e70020bb56c0ca3d3af7296cd1058a5112890fed218488f084d8df9e4835fb54ad045ffd936e3bf7261b0426c51352a097816ed74482bb9084b4a7ed8adc517f3371e0e0434b511625cd1a41792243dccdcfe88094b64565479706a46616b65445454797065665866657249441a4d658221")
-		deserialized, err = message1_1.FromNet(bytes.NewReader(msg))
-		require.NoError(t, err)
-
-		deserializedResponse, ok := deserialized.(datatransfer.Response)
-		require.True(t, ok)
-
-		require.Equal(t, deserializedResponse.TransferID(), response.TransferID())
-		require.Equal(t, deserializedResponse.Accepted(), response.Accepted())
-		require.Equal(t, deserializedResponse.IsRequest(), response.IsRequest())
-		require.Equal(t, deserializedResponse.IsUpdate(), response.IsUpdate())
-		require.Equal(t, deserializedResponse.IsPaused(), response.IsPaused())
-		testutil.AssertEqualFakeDTVoucherResult(t, response, deserializedResponse)
-
-		request = message1_1.CancelRequest(id)
-		err = request.ToNet(buf)
-		require.NoError(t, err)
-		msg, _ = hex.DecodeString("a36449735271f56752657175657374aa6442436964f66450617274f46450617573f46450756c6cf46453746f72f664547970650264565479706065566f756368f6665866657249441a4d6582216e526573746172744368616e6e656c8360600068526573706f6e7365f6")
-		deserialized, err = message1_1.FromNet(bytes.NewReader(msg))
-		require.NoError(t, err)
-
-		deserializedRequest, ok = deserialized.(datatransfer.Request)
-		require.True(t, ok)
-
-		require.Equal(t, deserializedRequest.TransferID(), request.TransferID())
-		require.Equal(t, deserializedRequest.IsCancel(), request.IsCancel())
-		require.Equal(t, deserializedRequest.IsRequest(), request.IsRequest())
-	})
-}
-
-func TestFromNetMessageValidation(t *testing.T) {
-	// craft request message with nil request struct
-	buf := []byte{0x83, 0xf5, 0xf6, 0xf6}
-	msg, err := message1_1.FromNet(bytes.NewBuffer(buf))
-	assert.Error(t, err)
-	assert.Nil(t, msg)
-
-	// craft response message with nil response struct
-	buf = []byte{0x83, 0xf4, 0xf6, 0xf6}
-	msg, err = message1_1.FromNet(bytes.NewBuffer(buf))
-	assert.Error(t, err)
-	assert.Nil(t, msg)
-}
-
-func NewTestTransferRequest() (message1_1.TransferRequest1_1, error) {
-	bcid := testutil.GenerateCids(1)[0]
-	selector := builder.NewSelectorSpecBuilder(basicnode.Prototype.Any).Matcher().Node()
-	isPull := false
-	id := datatransfer.TransferID(rand.Int31())
-	voucher := testutil.NewFakeDTType()
-	req, err := message1_1.NewRequest(id, false, isPull, voucher.Type(), voucher, bcid, selector)
-	if err != nil {
-		return message1_1.TransferRequest1_1{}, err
-	}
-	tr, ok := req.(*message1_1.TransferRequest1_1)
-	if !ok {
-		return message1_1.TransferRequest1_1{}, fmt.Errorf("expected *TransferRequest1_1")
-	}
-	return *tr, nil
-}
diff --git a/message/message1_1/transfer_message.go b/message/message1_1/transfer_message.go
deleted file mode 100644
index f4e04f3..0000000
--- a/message/message1_1/transfer_message.go
+++ /dev/null
@@ -1,59 +0,0 @@
-package message1_1
-
-import (
-	"bytes"
-	"io"
-
-	"github.com/ipld/go-ipld-prime/codec/dagcbor"
-	"github.com/ipld/go-ipld-prime/datamodel"
-	basicnode "github.com/ipld/go-ipld-prime/node/basic"
-
-	datatransfer "github.com/filecoin-project/go-data-transfer/v2"
-)
-
-//go:generate cbor-gen-for --map-encoding TransferMessage1_1
-
-// transferMessage1_1 is the transfer message for the 1.1 Data Transfer Protocol.
-type TransferMessage1_1 struct {
-	IsRq bool
-
-	Request  *TransferRequest1_1
-	Response *TransferResponse1_1
-}
-
-// ========= datatransfer.Message interface
-
-// IsRequest returns true if this message is a data request
-func (tm *TransferMessage1_1) IsRequest() bool {
-	return tm.IsRq
-}
-
-// TransferID returns the TransferID of this message
-func (tm *TransferMessage1_1) TransferID() datatransfer.TransferID {
-	if tm.IsRequest() {
-		return tm.Request.TransferID()
-	}
-	return tm.Response.TransferID()
-}
-
-// ToNet serializes a transfer message type. It is simply a wrapper for MarshalCBOR, to provide
-// symmetry with FromNet
-func (tm *TransferMessage1_1) ToIPLD() (datamodel.Node, error) {
-	buf := new(bytes.Buffer)
-	err := tm.ToNet(buf)
-	if err != nil {
-		return nil, err
-	}
-	nb := basicnode.Prototype.Any.NewBuilder()
-	err = dagcbor.Decode(nb, buf)
-	if err != nil {
-		return nil, err
-	}
-	return nb.Build(), nil
-}
-
-// ToNet serializes a transfer message type. It is simply a wrapper for MarshalCBOR, to provide
-// symmetry with FromNet
-func (tm *TransferMessage1_1) ToNet(w io.Writer) error {
-	return tm.MarshalCBOR(w)
-}
diff --git a/message/message1_1/transfer_message_cbor_gen.go b/message/message1_1/transfer_message_cbor_gen.go
deleted file mode 100644
index b7b25e8..0000000
--- a/message/message1_1/transfer_message_cbor_gen.go
+++ /dev/null
@@ -1,179 +0,0 @@
-// Code generated by github.com/whyrusleeping/cbor-gen. DO NOT EDIT.
-
-package message1_1
-
-import (
-	"fmt"
-	"io"
-	"sort"
-
-	cid "github.com/ipfs/go-cid"
-	cbg "github.com/whyrusleeping/cbor-gen"
-	xerrors "golang.org/x/xerrors"
-)
-
-var _ = xerrors.Errorf
-var _ = cid.Undef
-var _ = sort.Sort
-
-func (t *TransferMessage1_1) MarshalCBOR(w io.Writer) error {
-	if t == nil {
-		_, err := w.Write(cbg.CborNull)
-		return err
-	}
-	if _, err := w.Write([]byte{163}); err != nil {
-		return err
-	}
-
-	scratch := make([]byte, 9)
-
-	// t.IsRq (bool) (bool)
-	if len("IsRq") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"IsRq\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("IsRq"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("IsRq")); err != nil {
-		return err
-	}
-
-	if err := cbg.WriteBool(w, t.IsRq); err != nil {
-		return err
-	}
-
-	// t.Request (message1_1.TransferRequest1_1) (struct)
-	if len("Request") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"Request\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("Request"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("Request")); err != nil {
-		return err
-	}
-
-	if err := t.Request.MarshalCBOR(w); err != nil {
-		return err
-	}
-
-	// t.Response (message1_1.TransferResponse1_1) (struct)
-	if len("Response") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"Response\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("Response"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("Response")); err != nil {
-		return err
-	}
-
-	if err := t.Response.MarshalCBOR(w); err != nil {
-		return err
-	}
-	return nil
-}
-
-func (t *TransferMessage1_1) UnmarshalCBOR(r io.Reader) error {
-	*t = TransferMessage1_1{}
-
-	br := cbg.GetPeeker(r)
-	scratch := make([]byte, 8)
-
-	maj, extra, err := cbg.CborReadHeaderBuf(br, scratch)
-	if err != nil {
-		return err
-	}
-	if maj != cbg.MajMap {
-		return fmt.Errorf("cbor input should be of type map")
-	}
-
-	if extra > cbg.MaxLength {
-		return fmt.Errorf("TransferMessage1_1: map struct too large (%d)", extra)
-	}
-
-	var name string
-	n := extra
-
-	for i := uint64(0); i < n; i++ {
-
-		{
-			sval, err := cbg.ReadStringBuf(br, scratch)
-			if err != nil {
-				return err
-			}
-
-			name = string(sval)
-		}
-
-		switch name {
-		// t.IsRq (bool) (bool)
-		case "IsRq":
-
-			maj, extra, err = cbg.CborReadHeaderBuf(br, scratch)
-			if err != nil {
-				return err
-			}
-			if maj != cbg.MajOther {
-				return fmt.Errorf("booleans must be major type 7")
-			}
-			switch extra {
-			case 20:
-				t.IsRq = false
-			case 21:
-				t.IsRq = true
-			default:
-				return fmt.Errorf("booleans are either major type 7, value 20 or 21 (got %d)", extra)
-			}
-			// t.Request (message1_1.TransferRequest1_1) (struct)
-		case "Request":
-
-			{
-
-				b, err := br.ReadByte()
-				if err != nil {
-					return err
-				}
-				if b != cbg.CborNull[0] {
-					if err := br.UnreadByte(); err != nil {
-						return err
-					}
-					t.Request = new(TransferRequest1_1)
-					if err := t.Request.UnmarshalCBOR(br); err != nil {
-						return xerrors.Errorf("unmarshaling t.Request pointer: %w", err)
-					}
-				}
-
-			}
-			// t.Response (message1_1.TransferResponse1_1) (struct)
-		case "Response":
-
-			{
-
-				b, err := br.ReadByte()
-				if err != nil {
-					return err
-				}
-				if b != cbg.CborNull[0] {
-					if err := br.UnreadByte(); err != nil {
-						return err
-					}
-					t.Response = new(TransferResponse1_1)
-					if err := t.Response.UnmarshalCBOR(br); err != nil {
-						return xerrors.Errorf("unmarshaling t.Response pointer: %w", err)
-					}
-				}
-
-			}
-
-		default:
-			// Field doesn't exist on this type, so ignore it
-			cbg.ScanForLinks(r, func(cid.Cid) {})
-		}
-	}
-
-	return nil
-}
diff --git a/message/message1_1/transfer_request.go b/message/message1_1/transfer_request.go
deleted file mode 100644
index a751ed3..0000000
--- a/message/message1_1/transfer_request.go
+++ /dev/null
@@ -1,166 +0,0 @@
-package message1_1
-
-import (
-	"bytes"
-	"io"
-
-	"github.com/ipfs/go-cid"
-	"github.com/ipld/go-ipld-prime"
-	"github.com/ipld/go-ipld-prime/codec/dagcbor"
-	"github.com/ipld/go-ipld-prime/datamodel"
-	basicnode "github.com/ipld/go-ipld-prime/node/basic"
-	"github.com/libp2p/go-libp2p-core/protocol"
-	cbg "github.com/whyrusleeping/cbor-gen"
-	xerrors "golang.org/x/xerrors"
-
-	datatransfer "github.com/filecoin-project/go-data-transfer/v2"
-	"github.com/filecoin-project/go-data-transfer/v2/encoding"
-	"github.com/filecoin-project/go-data-transfer/v2/message/types"
-)
-
-//go:generate cbor-gen-for --map-encoding TransferRequest1_1
-
-// TransferRequest1_1 is a struct for the 1.1 Data Transfer Protocol that fulfills the datatransfer.Request interface.
-// its members are exported to be used by cbor-gen
-type TransferRequest1_1 struct {
-	BCid   *cid.Cid
-	Type   uint64
-	Paus   bool
-	Part   bool
-	Pull   bool
-	Stor   *cbg.Deferred
-	Vouch  *cbg.Deferred
-	VTyp   datatransfer.TypeIdentifier
-	XferID uint64
-
-	RestartChannel datatransfer.ChannelID
-}
-
-func (trq *TransferRequest1_1) MessageForProtocol(targetProtocol protocol.ID) (datatransfer.Message, error) {
-	switch targetProtocol {
-	case datatransfer.ProtocolDataTransfer1_2:
-		return trq, nil
-	default:
-		return nil, xerrors.Errorf("protocol not supported")
-	}
-}
-
-// IsRequest always returns true in this case because this is a transfer request
-func (trq *TransferRequest1_1) IsRequest() bool {
-	return true
-}
-
-func (trq *TransferRequest1_1) IsRestart() bool {
-	return trq.Type == uint64(types.RestartMessage)
-}
-
-func (trq *TransferRequest1_1) IsRestartExistingChannelRequest() bool {
-	return trq.Type == uint64(types.RestartExistingChannelRequestMessage)
-}
-
-func (trq *TransferRequest1_1) RestartChannelId() (datatransfer.ChannelID, error) {
-	if !trq.IsRestartExistingChannelRequest() {
-		return datatransfer.ChannelID{}, xerrors.New("not a restart request")
-	}
-	return trq.RestartChannel, nil
-}
-
-func (trq *TransferRequest1_1) IsNew() bool {
-	return trq.Type == uint64(types.NewMessage)
-}
-
-func (trq *TransferRequest1_1) IsUpdate() bool {
-	return trq.Type == uint64(types.UpdateMessage)
-}
-
-func (trq *TransferRequest1_1) IsVoucher() bool {
-	return trq.Type == uint64(types.VoucherMessage) || trq.Type == uint64(types.NewMessage)
-}
-
-func (trq *TransferRequest1_1) IsPaused() bool {
-	return trq.Paus
-}
-
-func (trq *TransferRequest1_1) TransferID() datatransfer.TransferID {
-	return datatransfer.TransferID(trq.XferID)
-}
-
-// ========= datatransfer.Request interface
-// IsPull returns true if this is a data pull request
-func (trq *TransferRequest1_1) IsPull() bool {
-	return trq.Pull
-}
-
-// VoucherType returns the Voucher ID
-func (trq *TransferRequest1_1) VoucherType() datatransfer.TypeIdentifier {
-	return trq.VTyp
-}
-
-// Voucher returns the Voucher bytes
-func (trq *TransferRequest1_1) Voucher(decoder encoding.Decoder) (encoding.Encodable, error) {
-	if trq.Vouch == nil {
-		return nil, xerrors.New("No voucher present to read")
-	}
-	return decoder.DecodeFromCbor(trq.Vouch.Raw)
-}
-
-func (trq *TransferRequest1_1) EmptyVoucher() bool {
-	return trq.VTyp == datatransfer.EmptyTypeIdentifier
-}
-
-// BaseCid returns the Base CID
-func (trq *TransferRequest1_1) BaseCid() cid.Cid {
-	if trq.BCid == nil {
-		return cid.Undef
-	}
-	return *trq.BCid
-}
-
-// Selector returns the message Selector bytes
-func (trq *TransferRequest1_1) Selector() (ipld.Node, error) {
-	if trq.Stor == nil {
-		return nil, xerrors.New("No selector present to read")
-	}
-	builder := basicnode.Prototype.Any.NewBuilder()
-	reader := bytes.NewReader(trq.Stor.Raw)
-	err := dagcbor.Decode(builder, reader)
-	if err != nil {
-		return nil, xerrors.Errorf("Error decoding selector: %w", err)
-	}
-	return builder.Build(), nil
-}
-
-// IsCancel returns true if this is a cancel request
-func (trq *TransferRequest1_1) IsCancel() bool {
-	return trq.Type == uint64(types.CancelMessage)
-}
-
-// IsPartial returns true if this is a partial request
-func (trq *TransferRequest1_1) IsPartial() bool {
-	return trq.Part
-}
-
-func (trq *TransferRequest1_1) ToIPLD() (datamodel.Node, error) {
-	buf := new(bytes.Buffer)
-	err := trq.ToNet(buf)
-	if err != nil {
-		return nil, err
-	}
-	nb := basicnode.Prototype.Any.NewBuilder()
-	err = dagcbor.Decode(nb, buf)
-	if err != nil {
-		return nil, err
-	}
-	return nb.Build(), nil
-}
-
-// ToNet serializes a transfer request. It's a wrapper for MarshalCBOR to provide
-// symmetry with FromNet
-func (trq *TransferRequest1_1) ToNet(w io.Writer) error {
-	msg := TransferMessage1_1{
-		IsRq:     true,
-		Request:  trq,
-		Response: nil,
-	}
-	return msg.MarshalCBOR(w)
-}
diff --git a/message/message1_1/transfer_request_cbor_gen.go b/message/message1_1/transfer_request_cbor_gen.go
deleted file mode 100644
index 056fe96..0000000
--- a/message/message1_1/transfer_request_cbor_gen.go
+++ /dev/null
@@ -1,397 +0,0 @@
-// Code generated by github.com/whyrusleeping/cbor-gen. DO NOT EDIT.
-
-package message1_1
-
-import (
-	"fmt"
-	"io"
-	"sort"
-
-	datatransfer "github.com/filecoin-project/go-data-transfer/v2"
-	cid "github.com/ipfs/go-cid"
-	cbg "github.com/whyrusleeping/cbor-gen"
-	xerrors "golang.org/x/xerrors"
-)
-
-var _ = xerrors.Errorf
-var _ = cid.Undef
-var _ = sort.Sort
-
-func (t *TransferRequest1_1) MarshalCBOR(w io.Writer) error {
-	if t == nil {
-		_, err := w.Write(cbg.CborNull)
-		return err
-	}
-	if _, err := w.Write([]byte{170}); err != nil {
-		return err
-	}
-
-	scratch := make([]byte, 9)
-
-	// t.BCid (cid.Cid) (struct)
-	if len("BCid") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"BCid\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("BCid"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("BCid")); err != nil {
-		return err
-	}
-
-	if t.BCid == nil {
-		if _, err := w.Write(cbg.CborNull); err != nil {
-			return err
-		}
-	} else {
-		if err := cbg.WriteCidBuf(scratch, w, *t.BCid); err != nil {
-			return xerrors.Errorf("failed to write cid field t.BCid: %w", err)
-		}
-	}
-
-	// t.Type (uint64) (uint64)
-	if len("Type") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"Type\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("Type"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("Type")); err != nil {
-		return err
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajUnsignedInt, uint64(t.Type)); err != nil {
-		return err
-	}
-
-	// t.Paus (bool) (bool)
-	if len("Paus") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"Paus\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("Paus"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("Paus")); err != nil {
-		return err
-	}
-
-	if err := cbg.WriteBool(w, t.Paus); err != nil {
-		return err
-	}
-
-	// t.Part (bool) (bool)
-	if len("Part") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"Part\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("Part"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("Part")); err != nil {
-		return err
-	}
-
-	if err := cbg.WriteBool(w, t.Part); err != nil {
-		return err
-	}
-
-	// t.Pull (bool) (bool)
-	if len("Pull") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"Pull\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("Pull"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("Pull")); err != nil {
-		return err
-	}
-
-	if err := cbg.WriteBool(w, t.Pull); err != nil {
-		return err
-	}
-
-	// t.Stor (typegen.Deferred) (struct)
-	if len("Stor") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"Stor\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("Stor"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("Stor")); err != nil {
-		return err
-	}
-
-	if err := t.Stor.MarshalCBOR(w); err != nil {
-		return err
-	}
-
-	// t.Vouch (typegen.Deferred) (struct)
-	if len("Vouch") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"Vouch\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("Vouch"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("Vouch")); err != nil {
-		return err
-	}
-
-	if err := t.Vouch.MarshalCBOR(w); err != nil {
-		return err
-	}
-
-	// t.VTyp (datatransfer.TypeIdentifier) (string)
-	if len("VTyp") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"VTyp\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("VTyp"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("VTyp")); err != nil {
-		return err
-	}
-
-	if len(t.VTyp) > cbg.MaxLength {
-		return xerrors.Errorf("Value in field t.VTyp was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len(t.VTyp))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string(t.VTyp)); err != nil {
-		return err
-	}
-
-	// t.XferID (uint64) (uint64)
-	if len("XferID") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"XferID\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("XferID"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("XferID")); err != nil {
-		return err
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajUnsignedInt, uint64(t.XferID)); err != nil {
-		return err
-	}
-
-	// t.RestartChannel (datatransfer.ChannelID) (struct)
-	if len("RestartChannel") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"RestartChannel\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("RestartChannel"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("RestartChannel")); err != nil {
-		return err
-	}
-
-	if err := t.RestartChannel.MarshalCBOR(w); err != nil {
-		return err
-	}
-	return nil
-}
-
-func (t *TransferRequest1_1) UnmarshalCBOR(r io.Reader) error {
-	*t = TransferRequest1_1{}
-
-	br := cbg.GetPeeker(r)
-	scratch := make([]byte, 8)
-
-	maj, extra, err := cbg.CborReadHeaderBuf(br, scratch)
-	if err != nil {
-		return err
-	}
-	if maj != cbg.MajMap {
-		return fmt.Errorf("cbor input should be of type map")
-	}
-
-	if extra > cbg.MaxLength {
-		return fmt.Errorf("TransferRequest1_1: map struct too large (%d)", extra)
-	}
-
-	var name string
-	n := extra
-
-	for i := uint64(0); i < n; i++ {
-
-		{
-			sval, err := cbg.ReadStringBuf(br, scratch)
-			if err != nil {
-				return err
-			}
-
-			name = string(sval)
-		}
-
-		switch name {
-		// t.BCid (cid.Cid) (struct)
-		case "BCid":
-
-			{
-
-				b, err := br.ReadByte()
-				if err != nil {
-					return err
-				}
-				if b != cbg.CborNull[0] {
-					if err := br.UnreadByte(); err != nil {
-						return err
-					}
-
-					c, err := cbg.ReadCid(br)
-					if err != nil {
-						return xerrors.Errorf("failed to read cid field t.BCid: %w", err)
-					}
-
-					t.BCid = &c
-				}
-
-			}
-			// t.Type (uint64) (uint64)
-		case "Type":
-
-			{
-
-				maj, extra, err = cbg.CborReadHeaderBuf(br, scratch)
-				if err != nil {
-					return err
-				}
-				if maj != cbg.MajUnsignedInt {
-					return fmt.Errorf("wrong type for uint64 field")
-				}
-				t.Type = uint64(extra)
-
-			}
-			// t.Paus (bool) (bool)
-		case "Paus":
-
-			maj, extra, err = cbg.CborReadHeaderBuf(br, scratch)
-			if err != nil {
-				return err
-			}
-			if maj != cbg.MajOther {
-				return fmt.Errorf("booleans must be major type 7")
-			}
-			switch extra {
-			case 20:
-				t.Paus = false
-			case 21:
-				t.Paus = true
-			default:
-				return fmt.Errorf("booleans are either major type 7, value 20 or 21 (got %d)", extra)
-			}
-			// t.Part (bool) (bool)
-		case "Part":
-
-			maj, extra, err = cbg.CborReadHeaderBuf(br, scratch)
-			if err != nil {
-				return err
-			}
-			if maj != cbg.MajOther {
-				return fmt.Errorf("booleans must be major type 7")
-			}
-			switch extra {
-			case 20:
-				t.Part = false
-			case 21:
-				t.Part = true
-			default:
-				return fmt.Errorf("booleans are either major type 7, value 20 or 21 (got %d)", extra)
-			}
-			// t.Pull (bool) (bool)
-		case "Pull":
-
-			maj, extra, err = cbg.CborReadHeaderBuf(br, scratch)
-			if err != nil {
-				return err
-			}
-			if maj != cbg.MajOther {
-				return fmt.Errorf("booleans must be major type 7")
-			}
-			switch extra {
-			case 20:
-				t.Pull = false
-			case 21:
-				t.Pull = true
-			default:
-				return fmt.Errorf("booleans are either major type 7, value 20 or 21 (got %d)", extra)
-			}
-			// t.Stor (typegen.Deferred) (struct)
-		case "Stor":
-
-			{
-
-				t.Stor = new(cbg.Deferred)
-
-				if err := t.Stor.UnmarshalCBOR(br); err != nil {
-					return xerrors.Errorf("failed to read deferred field: %w", err)
-				}
-			}
-			// t.Vouch (typegen.Deferred) (struct)
-		case "Vouch":
-
-			{
-
-				t.Vouch = new(cbg.Deferred)
-
-				if err := t.Vouch.UnmarshalCBOR(br); err != nil {
-					return xerrors.Errorf("failed to read deferred field: %w", err)
-				}
-			}
-			// t.VTyp (datatransfer.TypeIdentifier) (string)
-		case "VTyp":
-
-			{
-				sval, err := cbg.ReadStringBuf(br, scratch)
-				if err != nil {
-					return err
-				}
-
-				t.VTyp = datatransfer.TypeIdentifier(sval)
-			}
-			// t.XferID (uint64) (uint64)
-		case "XferID":
-
-			{
-
-				maj, extra, err = cbg.CborReadHeaderBuf(br, scratch)
-				if err != nil {
-					return err
-				}
-				if maj != cbg.MajUnsignedInt {
-					return fmt.Errorf("wrong type for uint64 field")
-				}
-				t.XferID = uint64(extra)
-
-			}
-			// t.RestartChannel (datatransfer.ChannelID) (struct)
-		case "RestartChannel":
-
-			{
-
-				if err := t.RestartChannel.UnmarshalCBOR(br); err != nil {
-					return xerrors.Errorf("unmarshaling t.RestartChannel: %w", err)
-				}
-
-			}
-
-		default:
-			// Field doesn't exist on this type, so ignore it
-			cbg.ScanForLinks(r, func(cid.Cid) {})
-		}
-	}
-
-	return nil
-}
diff --git a/message/message1_1/transfer_request_test.go b/message/message1_1/transfer_request_test.go
deleted file mode 100644
index 7ea148f..0000000
--- a/message/message1_1/transfer_request_test.go
+++ /dev/null
@@ -1,41 +0,0 @@
-package message1_1_test
-
-import (
-	"math/rand"
-	"testing"
-
-	basicnode "github.com/ipld/go-ipld-prime/node/basic"
-	"github.com/ipld/go-ipld-prime/traversal/selector/builder"
-	"github.com/stretchr/testify/require"
-
-	datatransfer "github.com/filecoin-project/go-data-transfer/v2"
-	"github.com/filecoin-project/go-data-transfer/v2/message/message1_1"
-	"github.com/filecoin-project/go-data-transfer/v2/testutil"
-)
-
-func TestRequestMessageForProtocol(t *testing.T) {
-	baseCid := testutil.GenerateCids(1)[0]
-	selector := builder.NewSelectorSpecBuilder(basicnode.Prototype.Any).Matcher().Node()
-	isPull := true
-	id := datatransfer.TransferID(rand.Int31())
-	voucher := testutil.NewFakeDTType()
-
-	// for the new protocols
-	request, err := message1_1.NewRequest(id, false, isPull, voucher.Type(), voucher, baseCid, selector)
-	require.NoError(t, err)
-
-	out12, err := request.MessageForProtocol(datatransfer.ProtocolDataTransfer1_2)
-	require.NoError(t, err)
-	require.Equal(t, request, out12)
-
-	req, ok := out12.(datatransfer.Request)
-	require.True(t, ok)
-	require.False(t, req.IsRestart())
-	require.False(t, req.IsRestartExistingChannelRequest())
-	require.Equal(t, baseCid, req.BaseCid())
-	require.True(t, req.IsPull())
-	n, err := req.Selector()
-	require.NoError(t, err)
-	require.Equal(t, selector, n)
-	require.Equal(t, voucher.Type(), req.VoucherType())
-}
diff --git a/message/message1_1/transfer_response.go b/message/message1_1/transfer_response.go
deleted file mode 100644
index 105e19a..0000000
--- a/message/message1_1/transfer_response.go
+++ /dev/null
@@ -1,127 +0,0 @@
-package message1_1
-
-import (
-	"bytes"
-	"io"
-
-	"github.com/ipld/go-ipld-prime/codec/dagcbor"
-	"github.com/ipld/go-ipld-prime/datamodel"
-	basicnode "github.com/ipld/go-ipld-prime/node/basic"
-	"github.com/libp2p/go-libp2p-core/protocol"
-	cbg "github.com/whyrusleeping/cbor-gen"
-	xerrors "golang.org/x/xerrors"
-
-	datatransfer "github.com/filecoin-project/go-data-transfer/v2"
-	"github.com/filecoin-project/go-data-transfer/v2/encoding"
-	"github.com/filecoin-project/go-data-transfer/v2/message/types"
-)
-
-//go:generate cbor-gen-for --map-encoding TransferResponse1_1
-
-// TransferResponse1_1 is a private struct that satisfies the datatransfer.Response interface
-// It is the response message for the Data Transfer 1.1 and 1.2 Protocol.
-type TransferResponse1_1 struct {
-	Type   uint64
-	Acpt   bool
-	Paus   bool
-	XferID uint64
-	VRes   *cbg.Deferred
-	VTyp   datatransfer.TypeIdentifier
-}
-
-func (trsp *TransferResponse1_1) TransferID() datatransfer.TransferID {
-	return datatransfer.TransferID(trsp.XferID)
-}
-
-// IsRequest always returns false in this case because this is a transfer response
-func (trsp *TransferResponse1_1) IsRequest() bool {
-	return false
-}
-
-// IsNew returns true if this is the first response sent
-func (trsp *TransferResponse1_1) IsNew() bool {
-	return trsp.Type == uint64(types.NewMessage)
-}
-
-// IsUpdate returns true if this response is an update
-func (trsp *TransferResponse1_1) IsUpdate() bool {
-	return trsp.Type == uint64(types.UpdateMessage)
-}
-
-// IsPaused returns true if the responder is paused
-func (trsp *TransferResponse1_1) IsPaused() bool {
-	return trsp.Paus
-}
-
-// IsCancel returns true if the responder has cancelled this response
-func (trsp *TransferResponse1_1) IsCancel() bool {
-	return trsp.Type == uint64(types.CancelMessage)
-}
-
-// IsComplete returns true if the responder has completed this response
-func (trsp *TransferResponse1_1) IsComplete() bool {
-	return trsp.Type == uint64(types.CompleteMessage)
-}
-
-func (trsp *TransferResponse1_1) IsValidationResult() bool {
-	return trsp.Type == uint64(types.VoucherResultMessage) || trsp.Type == uint64(types.NewMessage) || trsp.Type == uint64(types.CompleteMessage) ||
-		trsp.Type == uint64(types.RestartMessage)
-}
-
-// 	Accepted returns true if the request is accepted in the response
-func (trsp *TransferResponse1_1) Accepted() bool {
-	return trsp.Acpt
-}
-
-func (trsp *TransferResponse1_1) VoucherResultType() datatransfer.TypeIdentifier {
-	return trsp.VTyp
-}
-
-func (trsp *TransferResponse1_1) VoucherResult(decoder encoding.Decoder) (encoding.Encodable, error) {
-	if trsp.VRes == nil {
-		return nil, xerrors.New("No voucher present to read")
-	}
-	return decoder.DecodeFromCbor(trsp.VRes.Raw)
-}
-
-func (trq *TransferResponse1_1) IsRestart() bool {
-	return trq.Type == uint64(types.RestartMessage)
-}
-
-func (trsp *TransferResponse1_1) EmptyVoucherResult() bool {
-	return trsp.VTyp == datatransfer.EmptyTypeIdentifier
-}
-
-func (trsp *TransferResponse1_1) MessageForProtocol(targetProtocol protocol.ID) (datatransfer.Message, error) {
-	switch targetProtocol {
-	case datatransfer.ProtocolDataTransfer1_2:
-		return trsp, nil
-	default:
-		return nil, xerrors.Errorf("protocol %s not supported", targetProtocol)
-	}
-}
-
-func (trsp *TransferResponse1_1) ToIPLD() (datamodel.Node, error) {
-	buf := new(bytes.Buffer)
-	err := trsp.ToNet(buf)
-	if err != nil {
-		return nil, err
-	}
-	nb := basicnode.Prototype.Any.NewBuilder()
-	err = dagcbor.Decode(nb, buf)
-	if err != nil {
-		return nil, err
-	}
-	return nb.Build(), nil
-}
-
-// ToNet serializes a transfer response. It's a wrapper for MarshalCBOR to provide
-// symmetry with FromNet
-func (trsp *TransferResponse1_1) ToNet(w io.Writer) error {
-	msg := TransferMessage1_1{
-		IsRq:     false,
-		Request:  nil,
-		Response: trsp,
-	}
-	return msg.MarshalCBOR(w)
-}
diff --git a/message/message1_1/transfer_response_cbor_gen.go b/message/message1_1/transfer_response_cbor_gen.go
deleted file mode 100644
index 0a9badc..0000000
--- a/message/message1_1/transfer_response_cbor_gen.go
+++ /dev/null
@@ -1,265 +0,0 @@
-// Code generated by github.com/whyrusleeping/cbor-gen. DO NOT EDIT.
-
-package message1_1
-
-import (
-	"fmt"
-	"io"
-	"sort"
-
-	datatransfer "github.com/filecoin-project/go-data-transfer/v2"
-	cid "github.com/ipfs/go-cid"
-	cbg "github.com/whyrusleeping/cbor-gen"
-	xerrors "golang.org/x/xerrors"
-)
-
-var _ = xerrors.Errorf
-var _ = cid.Undef
-var _ = sort.Sort
-
-func (t *TransferResponse1_1) MarshalCBOR(w io.Writer) error {
-	if t == nil {
-		_, err := w.Write(cbg.CborNull)
-		return err
-	}
-	if _, err := w.Write([]byte{166}); err != nil {
-		return err
-	}
-
-	scratch := make([]byte, 9)
-
-	// t.Type (uint64) (uint64)
-	if len("Type") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"Type\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("Type"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("Type")); err != nil {
-		return err
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajUnsignedInt, uint64(t.Type)); err != nil {
-		return err
-	}
-
-	// t.Acpt (bool) (bool)
-	if len("Acpt") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"Acpt\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("Acpt"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("Acpt")); err != nil {
-		return err
-	}
-
-	if err := cbg.WriteBool(w, t.Acpt); err != nil {
-		return err
-	}
-
-	// t.Paus (bool) (bool)
-	if len("Paus") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"Paus\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("Paus"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("Paus")); err != nil {
-		return err
-	}
-
-	if err := cbg.WriteBool(w, t.Paus); err != nil {
-		return err
-	}
-
-	// t.XferID (uint64) (uint64)
-	if len("XferID") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"XferID\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("XferID"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("XferID")); err != nil {
-		return err
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajUnsignedInt, uint64(t.XferID)); err != nil {
-		return err
-	}
-
-	// t.VRes (typegen.Deferred) (struct)
-	if len("VRes") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"VRes\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("VRes"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("VRes")); err != nil {
-		return err
-	}
-
-	if err := t.VRes.MarshalCBOR(w); err != nil {
-		return err
-	}
-
-	// t.VTyp (datatransfer.TypeIdentifier) (string)
-	if len("VTyp") > cbg.MaxLength {
-		return xerrors.Errorf("Value in field \"VTyp\" was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len("VTyp"))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string("VTyp")); err != nil {
-		return err
-	}
-
-	if len(t.VTyp) > cbg.MaxLength {
-		return xerrors.Errorf("Value in field t.VTyp was too long")
-	}
-
-	if err := cbg.WriteMajorTypeHeaderBuf(scratch, w, cbg.MajTextString, uint64(len(t.VTyp))); err != nil {
-		return err
-	}
-	if _, err := io.WriteString(w, string(t.VTyp)); err != nil {
-		return err
-	}
-	return nil
-}
-
-func (t *TransferResponse1_1) UnmarshalCBOR(r io.Reader) error {
-	*t = TransferResponse1_1{}
-
-	br := cbg.GetPeeker(r)
-	scratch := make([]byte, 8)
-
-	maj, extra, err := cbg.CborReadHeaderBuf(br, scratch)
-	if err != nil {
-		return err
-	}
-	if maj != cbg.MajMap {
-		return fmt.Errorf("cbor input should be of type map")
-	}
-
-	if extra > cbg.MaxLength {
-		return fmt.Errorf("TransferResponse1_1: map struct too large (%d)", extra)
-	}
-
-	var name string
-	n := extra
-
-	for i := uint64(0); i < n; i++ {
-
-		{
-			sval, err := cbg.ReadStringBuf(br, scratch)
-			if err != nil {
-				return err
-			}
-
-			name = string(sval)
-		}
-
-		switch name {
-		// t.Type (uint64) (uint64)
-		case "Type":
-
-			{
-
-				maj, extra, err = cbg.CborReadHeaderBuf(br, scratch)
-				if err != nil {
-					return err
-				}
-				if maj != cbg.MajUnsignedInt {
-					return fmt.Errorf("wrong type for uint64 field")
-				}
-				t.Type = uint64(extra)
-
-			}
-			// t.Acpt (bool) (bool)
-		case "Acpt":
-
-			maj, extra, err = cbg.CborReadHeaderBuf(br, scratch)
-			if err != nil {
-				return err
-			}
-			if maj != cbg.MajOther {
-				return fmt.Errorf("booleans must be major type 7")
-			}
-			switch extra {
-			case 20:
-				t.Acpt = false
-			case 21:
-				t.Acpt = true
-			default:
-				return fmt.Errorf("booleans are either major type 7, value 20 or 21 (got %d)", extra)
-			}
-			// t.Paus (bool) (bool)
-		case "Paus":
-
-			maj, extra, err = cbg.CborReadHeaderBuf(br, scratch)
-			if err != nil {
-				return err
-			}
-			if maj != cbg.MajOther {
-				return fmt.Errorf("booleans must be major type 7")
-			}
-			switch extra {
-			case 20:
-				t.Paus = false
-			case 21:
-				t.Paus = true
-			default:
-				return fmt.Errorf("booleans are either major type 7, value 20 or 21 (got %d)", extra)
-			}
-			// t.XferID (uint64) (uint64)
-		case "XferID":
-
-			{
-
-				maj, extra, err = cbg.CborReadHeaderBuf(br, scratch)
-				if err != nil {
-					return err
-				}
-				if maj != cbg.MajUnsignedInt {
-					return fmt.Errorf("wrong type for uint64 field")
-				}
-				t.XferID = uint64(extra)
-
-			}
-			// t.VRes (typegen.Deferred) (struct)
-		case "VRes":
-
-			{
-
-				t.VRes = new(cbg.Deferred)
-
-				if err := t.VRes.UnmarshalCBOR(br); err != nil {
-					return xerrors.Errorf("failed to read deferred field: %w", err)
-				}
-			}
-			// t.VTyp (datatransfer.TypeIdentifier) (string)
-		case "VTyp":
-
-			{
-				sval, err := cbg.ReadStringBuf(br, scratch)
-				if err != nil {
-					return err
-				}
-
-				t.VTyp = datatransfer.TypeIdentifier(sval)
-			}
-
-		default:
-			// Field doesn't exist on this type, so ignore it
-			cbg.ScanForLinks(r, func(cid.Cid) {})
-		}
-	}
-
-	return nil
-}
diff --git a/message/message1_1/transfer_response_test.go b/message/message1_1/transfer_response_test.go
deleted file mode 100644
index 02c9cff..0000000
--- a/message/message1_1/transfer_response_test.go
+++ /dev/null
@@ -1,35 +0,0 @@
-package message1_1_test
-
-import (
-	"math/rand"
-	"testing"
-
-	"github.com/stretchr/testify/require"
-
-	datatransfer "github.com/filecoin-project/go-data-transfer/v2"
-	"github.com/filecoin-project/go-data-transfer/v2/message/message1_1"
-	"github.com/filecoin-project/go-data-transfer/v2/testutil"
-)
-
-func TestResponseMessageForProtocol(t *testing.T) {
-	id := datatransfer.TransferID(rand.Int31())
-	voucherResult := testutil.NewFakeDTType()
-	response, err := message1_1.NewResponse(id, false, true, voucherResult.Type(), voucherResult) // not accepted
-	require.NoError(t, err)
-
-	// v1.2 protocol
-	out, err := response.MessageForProtocol(datatransfer.ProtocolDataTransfer1_2)
-	require.NoError(t, err)
-	require.Equal(t, response, out)
-
-	resp, ok := (out).(datatransfer.Response)
-	require.True(t, ok)
-	require.True(t, resp.IsPaused())
-	require.Equal(t, voucherResult.Type(), resp.VoucherResultType())
-	require.True(t, resp.IsValidationResult())
-
-	// random protocol
-	out, err = response.MessageForProtocol("RAND")
-	require.Error(t, err)
-	require.Nil(t, out)
-}