I understand that using a putState() in a transaction would be logged in the ledger, where as putPrivateData() would result in a hash being stored on the ledger. What happens if both are used in one transaction? Would the private data be viewable on the public ledger? Example code:
async SignContract(ctx, collectionName) {
await ctx.stub.putState(key, value);
await ctx.stub.putPrivateData(collectionName, key, privateValue);
}