added more comment consistancy fix

Signed-off-by: Ali Shahverdi <ali@Alis-MacBook-Pro.local>
This commit is contained in:
Ali Shahverdi 2022-10-24 15:37:54 +03:30
parent 615f2fe6f9
commit 1c1b7788e8
10 changed files with 37 additions and 37 deletions

View file

@ -75,7 +75,7 @@ async function main(): Promise<void> {
await getAssetsByRange(contractOrg1);
try{
//Attempt to transfer asset without prior aprroval from Org2, transaction expected to fail.
// Attempt to transfer asset without prior aprroval from Org2, transaction expected to fail.
console.log('\nAttempt TransferAsset without prior AgreeToTransfer');
await transferAsset(contractOrg1, assetID1);
doFail('TransferAsset transaction succeeded when it was expected to fail');

View file

@ -121,7 +121,7 @@ async function initContractFromOrg1Identity() {
try {
// Create a new gateway for connecting to Org's peer node.
const gatewayOrg1 = new Gateway();
//connect using Discovery enabled
// Connect using Discovery enabled
await gatewayOrg1.connect(ccpOrg1,
{ wallet: walletOrg1, identity: Org1UserId, discovery: { enabled: true, asLocalhost: true } });
@ -191,15 +191,15 @@ async function main() {
console.log('\n**************** As Org1 Client ****************');
console.log('Adding Assets to work with:\n--> Submit Transaction: CreateAsset ' + assetID1);
let statefulTxn = contractOrg1.createTransaction('CreateAsset');
//if you need to customize endorsement to specific set of Orgs, use setEndorsingOrganizations
//statefulTxn.setEndorsingOrganizations(mspOrg1);
// if you need to customize endorsement to specific set of Orgs, use setEndorsingOrganizations
// statefulTxn.setEndorsingOrganizations(mspOrg1);
let tmapData = Buffer.from(JSON.stringify(asset1Data));
statefulTxn.setTransient({
asset_properties: tmapData
});
result = await statefulTxn.submit();
//Add asset2
// Add asset2
console.log('\n--> Submit Transaction: CreateAsset ' + assetID2);
statefulTxn = contractOrg1.createTransaction('CreateAsset');
tmapData = Buffer.from(JSON.stringify(asset2Data));
@ -285,13 +285,13 @@ async function main() {
});
result = await statefulTxn.submit();
//Again ReadAsset : results will show that the buyer identity now owns the asset:
// Again ReadAsset : results will show that the buyer identity now owns the asset:
console.log('\n--> Evaluate Transaction: ReadAsset ' + assetID1);
result = await contractOrg1.evaluateTransaction('ReadAsset', assetID1);
console.log(`<-- result: ${prettyJSONString(result.toString())}`);
verifyAssetData(mspOrg1, result, assetID1, 'green', 20, Org2UserId);
//Confirm that transfer removed the private details from the Org1 collection:
// Confirm that transfer removed the private details from the Org1 collection:
console.log('\n--> Evaluate Transaction: ReadAssetPrivateDetails');
// ReadAssetPrivateDetails reads data from Org's private collection: Should return empty
result = await contractOrg1.evaluateTransaction('ReadAssetPrivateDetails', org1PrivateCollectionName, assetID1);
@ -307,7 +307,7 @@ async function main() {
console.log('\n********* Demo deleting asset **************');
let dataForDelete = { assetID: assetID2 };
try {
//Non-owner Org2 should not be able to DeleteAsset. Expect an error from DeleteAsset
// Non-owner Org2 should not be able to DeleteAsset. Expect an error from DeleteAsset
console.log('--> Attempt Transaction: as Org2 DeleteAsset ' + assetID2);
statefulTxn = contractOrg2.createTransaction('DeleteAsset');
tmapData = Buffer.from(JSON.stringify(dataForDelete));

View file

@ -23,7 +23,7 @@ func (s *SmartContract) ReadAsset(ctx contractapi.TransactionContextInterface, a
return nil, fmt.Errorf("failed to read asset: %v", err)
}
//No Asset found, return empty response
// No Asset found, return empty response
if assetJSON == nil {
log.Printf("%v does not exist in collection %v", assetID, assetCollection)
return nil, nil

View file

@ -53,7 +53,7 @@ func TestReadAssetPrivateDetails(t *testing.T) {
require.NoError(t, err)
require.Nil(t, assetBytes)
//read from the collection with no access
// read from the collection with no access
chaincodeStub.GetPrivateDataReturns(nil, fmt.Errorf("collection not found"))
assetBytes, err = assetTransferCC.ReadAssetPrivateDetails(transactionContext, myOrg2PrivCollection, "id1")
require.EqualError(t, err, "failed to read asset details: collection not found")
@ -72,7 +72,7 @@ func TestReadTransferAgreement(t *testing.T) {
transactionContext, chaincodeStub := prepMocksAsOrg1()
assetTransferCC := chaincode.SmartContract{}
//TransferAgreement does not exist
// TransferAgreement does not exist
assetBytes, err := assetTransferCC.ReadTransferAgreement(transactionContext, "id1")
require.NoError(t, err)
require.Nil(t, assetBytes)
@ -115,7 +115,7 @@ func TestQueryAssetByOwner(t *testing.T) {
func TestQueryAssets(t *testing.T) {
transactionContext, chaincodeStub := prepMocksAsOrg1()
//Iterator with no records
// Iterator with no records
iterator := &mocks.StateQueryIterator{}
iterator.HasNextReturns(false)
chaincodeStub.GetPrivateDataQueryResultReturns(iterator, nil)
@ -150,7 +150,7 @@ func TestQueryAssets(t *testing.T) {
func TestGetAssetByRange(t *testing.T) {
transactionContext, chaincodeStub := prepMocksAsOrg1()
//Iterator with no records
// Iterator with no records
iterator := &mocks.StateQueryIterator{}
iterator.HasNextReturns(false)
chaincodeStub.GetPrivateDataByRangeReturns(iterator, nil)

View file

@ -59,7 +59,7 @@ func (s *SmartContract) CreateAsset(ctx contractapi.TransactionContextInterface)
// Asset properties are private, therefore they get passed in transient field, instead of func args
transientAssetJSON, ok := transientMap["asset_properties"]
if !ok {
//log error to stdout
// log error to stdout
return fmt.Errorf("asset not found in the transient map input")
}

View file

@ -127,7 +127,7 @@ func TestCreateAssetSuccessful(t *testing.T) {
setReturnAssetPropsInTransientMap(t, chaincodeStub, testAsset)
err := assetTransferCC.CreateAsset(transactionContext)
require.NoError(t, err)
//Validate PutPrivateData calls
// Validate PutPrivateData calls
calledCollection, calledId, _ := chaincodeStub.PutPrivateDataArgsForCall(0)
require.Equal(t, assetCollectionName, calledCollection)
require.Equal(t, "id1", calledId)
@ -149,7 +149,7 @@ func TestAgreeToTransferBadInput(t *testing.T) {
assetPrivDetail := &chaincode.AssetPrivateDetails{
ID: "id1",
//no AppraisedValue
// no AppraisedValue
}
setReturnAssetPrivateDetailsInTransientMap(t, chaincodeStub, assetPrivDetail)
origAsset := chaincode.Asset{
@ -165,7 +165,7 @@ func TestAgreeToTransferBadInput(t *testing.T) {
require.EqualError(t, err, "appraisedValue field must be a positive integer")
assetPrivDetail = &chaincode.AssetPrivateDetails{
//no ID
// no ID
AppraisedValue: 500,
}
setReturnAssetPrivateDetailsInTransientMap(t, chaincodeStub, assetPrivDetail)
@ -177,7 +177,7 @@ func TestAgreeToTransferBadInput(t *testing.T) {
AppraisedValue: 500,
}
setReturnAssetPrivateDetailsInTransientMap(t, chaincodeStub, assetPrivDetail)
//asset does not exist
// asset does not exist
setReturnPrivateDataInStub(t, chaincodeStub, nil)
err = assetTransferCC.AgreeToTransfer(transactionContext)
require.EqualError(t, err, "id1 does not exist")
@ -232,7 +232,7 @@ func TestTransferAssetBadInput(t *testing.T) {
BuyerMSP: myOrg2Msp,
}
setReturnAssetOwnerInTransientMap(t, chaincodeStub, assetNewOwner)
//asset does not exist
// asset does not exist
setReturnPrivateDataInStub(t, chaincodeStub, nil)
err = assetTransferCC.TransferAsset(transactionContext)
require.EqualError(t, err, "id1 does not exist")
@ -254,15 +254,15 @@ func TestTransferAssetSuccessful(t *testing.T) {
Owner: myOrg1Clientid,
}
setReturnPrivateDataInStub(t, chaincodeStub, &origAsset)
//to ensure we pass data hash verification
// to ensure we pass data hash verification
chaincodeStub.GetPrivateDataHashReturns([]byte("datahash"), nil)
//to ensure that ReadTransferAgreement call returns org2 client ID
// to ensure that ReadTransferAgreement call returns org2 client ID
chaincodeStub.GetPrivateDataReturnsOnCall(1, []byte(myOrg2Clientid), nil)
chaincodeStub.CreateCompositeKeyReturns(transferAgreementObjectType+"id1", nil)
err := assetTransferCC.TransferAsset(transactionContext)
require.NoError(t, err)
//Validate PutPrivateData calls
// Validate PutPrivateData calls
expectedNewAsset := origAsset
expectedNewAsset.Owner = myOrg2Clientid
expectedNewAssetBytes, err := json.Marshal(expectedNewAsset)
@ -289,7 +289,7 @@ func TestTransferAssetByNonOwner(t *testing.T) {
BuyerMSP: myOrg1Msp,
}
setReturnAssetOwnerInTransientMap(t, chaincodeStub, assetNewOwner)
//Try to transfer asset owned by Org2
// Try to transfer asset owned by Org2
org2Asset := chaincode.Asset{
ID: "id1",
Type: "testfulasset",
@ -318,10 +318,10 @@ func TestTransferAssetWithoutAnAgreement(t *testing.T) {
Owner: myOrg1Clientid,
}
setReturnPrivateDataInStub(t, chaincodeStub, &orgAsset)
//to ensure we pass data hash verification
// to ensure we pass data hash verification
chaincodeStub.GetPrivateDataHashReturns([]byte("datahash"), nil)
chaincodeStub.CreateCompositeKeyReturns(transferAgreementObjectType+"id1", nil)
//ReadTransferAgreement call returns no buyer client ID
// ReadTransferAgreement call returns no buyer client ID
chaincodeStub.GetPrivateDataReturnsOnCall(1, []byte{}, nil)
err := assetTransferCC.TransferAsset(transactionContext)
@ -346,7 +346,7 @@ func TestTransferAssetNonMatchingAppraisalValue(t *testing.T) {
}
setReturnPrivateDataInStub(t, chaincodeStub, &orgAsset)
chaincodeStub.CreateCompositeKeyReturns(transferAgreementObjectType+"id1", nil)
//data hash different in each collection
// data hash different in each collection
chaincodeStub.GetPrivateDataHashReturnsOnCall(0, []byte("datahash1"), nil)
chaincodeStub.GetPrivateDataHashReturnsOnCall(1, []byte("datahash2"), nil)
@ -369,7 +369,7 @@ func prepMocks(orgMSP, clientId string) (*mocks.TransactionContext, *mocks.Chain
clientIdentity := &mocks.ClientIdentity{}
clientIdentity.GetMSPIDReturns(orgMSP, nil)
clientIdentity.GetIDReturns(clientId, nil)
//set matching msp ID using peer shim env variable
// set matching msp ID using peer shim env variable
os.Setenv("CORE_PEER_LOCALMSPID", orgMSP)
transactionContext.GetClientIdentityReturns(clientIdentity)
return transactionContext, chaincodeStub

View file

@ -319,7 +319,7 @@ public final class AssetTransfer implements ContractInterface {
// write private data from this peer.
verifyClientOrgMatchesPeerOrg(ctx);
//Make submitting client the owner
// Make submitting client the owner
asset.setOwner(clientID);
System.out.printf("CreateAsset Put: collection %s, ID %s\n", ASSET_COLLECTION_NAME, assetID);
System.out.printf("Put: collection %s, ID %s\n", ASSET_COLLECTION_NAME, new String(asset.serialize()));
@ -328,7 +328,7 @@ public final class AssetTransfer implements ContractInterface {
// Get collection name for this organization.
String orgCollectionName = getCollectionName(ctx);
//Save AssetPrivateDetails to org collection
// Save AssetPrivateDetails to org collection
AssetPrivateDetails assetPriv = new AssetPrivateDetails(assetID, appraisedValue);
System.out.printf("Put AssetPrivateDetails: collection %s, ID %s\n", orgCollectionName, assetID);
stub.putPrivateData(orgCollectionName, assetID, assetPriv.serialize());
@ -392,12 +392,12 @@ public final class AssetTransfer implements ContractInterface {
verifyClientOrgMatchesPeerOrg(ctx);
//Save AssetPrivateDetails to org collection
// Save AssetPrivateDetails to org collection
System.out.printf("Put AssetPrivateDetails: collection %s, ID %s\n", orgCollectionName, assetID);
stub.putPrivateData(orgCollectionName, assetID, assetPriv.serialize());
String clientID = ctx.getClientIdentity().getId();
//Write the AgreeToTransfer key in assetCollection
// Write the AgreeToTransfer key in assetCollection
CompositeKey aggKey = stub.createCompositeKey(AGREEMENT_KEYPREFIX, assetID);
System.out.printf("AgreeToTransfer Put: collection %s, ID %s, Key %s\n", ASSET_COLLECTION_NAME, assetID, aggKey);
stub.putPrivateData(ASSET_COLLECTION_NAME, aggKey.toString(), clientID);
@ -470,15 +470,15 @@ public final class AssetTransfer implements ContractInterface {
String newOwner = transferAgreement.getBuyerID();
thisAsset.setOwner(newOwner);
//Save updated Asset to collection
// Save updated Asset to collection
System.out.printf("Transfer Asset: collection %s, ID %s to owner %s\n", ASSET_COLLECTION_NAME, assetID, newOwner);
stub.putPrivateData(ASSET_COLLECTION_NAME, assetID, thisAsset.serialize());
// delete the key from owners collection
// Delete the key from owners collection
String ownersCollectionName = getCollectionName(ctx);
stub.delPrivateData(ownersCollectionName, assetID);
//Delete the transfer agreement from the asset collection
// Delete the transfer agreement from the asset collection
CompositeKey aggKey = stub.createCompositeKey(AGREEMENT_KEYPREFIX, assetID);
System.out.printf("AgreeToTransfer deleteKey: collection %s, ID %s, Key %s\n", ASSET_COLLECTION_NAME, assetID, aggKey);
stub.delPrivateData(ASSET_COLLECTION_NAME, aggKey.toString());

View file

@ -134,7 +134,7 @@ export class AssetContract extends Contract {
sigsPolicies.push(signedBy);
});
// create the policy such that it requires any N signature's from all of the principals provided
// Create the policy such that it requires any N signature's from all of the principals provided
const allOf = {
n: nOrgs,
rules: sigsPolicies

View file

@ -13,7 +13,7 @@ import { RED, RESET } from './utils';
const channelName = 'mychannel';
const chaincodeName = 'secured';
//Use a random key so that we can run multiple times
// Use a random key so that we can run multiple times
const now = Date.now().toString();
let assetKey: string;

View file

@ -73,7 +73,7 @@ export const peerEndpointOrg2 = 'localhost:9051';
export const peerNameOrg1 = 'peer0.org1.example.com';
export const peerNameOrg2 = 'peer0.org2.example.com';
//Collection Names
// Collection Names
export const org1PrivateCollectionName = 'Org1MSPPrivateCollection';
export const org2PrivateCollectionName = 'Org2MSPPrivateCollection';