diff --git a/common/capabilities/application.go b/common/capabilities/application.go index 3fd3876aef0..6a74c3f4f9e 100644 --- a/common/capabilities/application.go +++ b/common/capabilities/application.go @@ -71,8 +71,10 @@ func (ap *ApplicationProvider) ForbidDuplicateTXIdInBlock() bool { } // PrivateChannelData returns true if support for private channel data (a.k.a. collections) is enabled. +// In v1.1, the private channel data is experimental and has to be enabled explicitly. +// In v1.2, the private channel data is enabled by default. func (ap *ApplicationProvider) PrivateChannelData() bool { - return ap.v11PvtDataExperimental + return ap.v11PvtDataExperimental || ap.v12 } // V1_1Validation returns true is this channel is configured to perform stricter validation diff --git a/common/capabilities/application_test.go b/common/capabilities/application_test.go index 092c083683a..25732403320 100644 --- a/common/capabilities/application_test.go +++ b/common/capabilities/application_test.go @@ -44,6 +44,12 @@ func TestApplicationPvtDataExperimental(t *testing.T) { ApplicationPvtDataExperimental: {}, }) assert.True(t, op.PrivateChannelData()) + + op = NewApplicationProvider(map[string]*cb.Capability{ + ApplicationV1_2: {}, + }) + assert.True(t, op.PrivateChannelData()) + } func TestChaincodeLifecycleExperimental(t *testing.T) { diff --git a/common/channelconfig/api.go b/common/channelconfig/api.go index 052847e7049..591bf302875 100644 --- a/common/channelconfig/api.go +++ b/common/channelconfig/api.go @@ -127,6 +127,8 @@ type ApplicationCapabilities interface { ResourcesTree() bool // PrivateChannelData returns true if support for private channel data (a.k.a. collections) is enabled. + // In v1.1, the private channel data is experimental and has to be enabled explicitly. + // In v1.2, the private channel data is enabled by default. PrivateChannelData() bool // V1_1Validation returns true is this channel is configured to perform stricter validation