From 0fd0102f9c598ffd78c9e235f810b2f14cb06c27 Mon Sep 17 00:00:00 2001 From: "Mark S. Lewis" Date: Fri, 27 Sep 2024 18:00:55 +0100 Subject: [PATCH] Update version following v2.5.7 release Signed-off-by: Mark S. Lewis --- apis/fabric-contract-api/package.json | 4 +- apis/fabric-shim-api/package.json | 2 +- docker/fabric-nodeenv/package.json | 2 +- docs/package.json | 4 +- libraries/fabric-ledger/package.json | 4 +- libraries/fabric-shim/package.json | 6 +- test/chaincodes/annotations/package.json | 6 +- .../src/test_contract/expected-metadata.json | 14 +-- test/chaincodes/clientidentity/package.json | 6 +- test/chaincodes/crosschaincode/package.json | 6 +- test/chaincodes/crosschaincode2/package.json | 6 +- test/chaincodes/crud/package.json | 6 +- test/chaincodes/events/package.json | 6 +- test/chaincodes/ledger/package.json | 8 +- test/chaincodes/privateData/package.json | 6 +- test/chaincodes/query/package.json | 6 +- test/chaincodes/scenario/package.json | 6 +- test/e2e/package.json | 2 +- test/e2e/scenario.js | 109 ++++++++++++------ test/fv/package.json | 8 +- 20 files changed, 123 insertions(+), 94 deletions(-) diff --git a/apis/fabric-contract-api/package.json b/apis/fabric-contract-api/package.json index 5ee8606f..8bae9a0b 100644 --- a/apis/fabric-contract-api/package.json +++ b/apis/fabric-contract-api/package.json @@ -1,6 +1,6 @@ { "name": "fabric-contract-api", - "version": "2.5.7", + "version": "2.5.8", "tag": "latest", "description": "A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other", "main": "index.js", @@ -45,7 +45,7 @@ "lines": 100 }, "dependencies": { - "fabric-shim-api": "2.5.7", + "fabric-shim-api": "2.5.8", "class-transformer": "^0.4.0", "fast-safe-stringify": "^2.1.1", "get-params": "^0.1.2", diff --git a/apis/fabric-shim-api/package.json b/apis/fabric-shim-api/package.json index 799a68fe..5e3a2178 100644 --- a/apis/fabric-shim-api/package.json +++ b/apis/fabric-shim-api/package.json @@ -1,6 +1,6 @@ { "name": "fabric-shim-api", - "version": "2.5.7", + "version": "2.5.8", "tag": "latest", "description": "A node.js API of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other", "main": "index.js", diff --git a/docker/fabric-nodeenv/package.json b/docker/fabric-nodeenv/package.json index b61018dd..8877e93e 100644 --- a/docker/fabric-nodeenv/package.json +++ b/docker/fabric-nodeenv/package.json @@ -1,6 +1,6 @@ { "name": "fabric-nodeenv", - "version": "2.5.7", + "version": "2.5.8", "description": "", "main": "docker.js", "scripts": { diff --git a/docs/package.json b/docs/package.json index 9585f128..5ae250d3 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,6 +1,6 @@ { "name": "fabric-shim-docs", - "version": "2.5.7", + "version": "2.5.8", "description": "", "private": true, "scripts": { @@ -8,7 +8,7 @@ "docs": "rimraf ./gen && jsdoc -c ./_jsdoc.json" }, "dependencies": { - "fabric-ledger": "2.5.7" + "fabric-ledger": "2.5.8" }, "devDependencies": { "ink-docstrap": "^1.3.2", diff --git a/libraries/fabric-ledger/package.json b/libraries/fabric-ledger/package.json index 3f545d44..52d899ed 100644 --- a/libraries/fabric-ledger/package.json +++ b/libraries/fabric-ledger/package.json @@ -1,6 +1,6 @@ { "name": "fabric-ledger", - "version": "2.5.7", + "version": "2.5.8", "tag": "latest", "description": "A node.js implementation of Hyperledger Fabric ledger api, to allow access to ledger data from smart contracts", "main": "lib/index.js", @@ -48,7 +48,7 @@ "lines": 100 }, "dependencies": { - "fabric-contract-api": "2.5.7", + "fabric-contract-api": "2.5.8", "winston": "^3.7.2" }, "devDependencies": { diff --git a/libraries/fabric-shim/package.json b/libraries/fabric-shim/package.json index 730593bd..b084121a 100644 --- a/libraries/fabric-shim/package.json +++ b/libraries/fabric-shim/package.json @@ -1,6 +1,6 @@ { "name": "fabric-shim", - "version": "2.5.7", + "version": "2.5.8", "tag": "latest", "description": "A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other", "main": "index.js", @@ -58,8 +58,8 @@ "@hyperledger/fabric-protos": "^0.2.2", "@types/node": "^16.11.1", "ajv": "^6.12.2", - "fabric-contract-api": "2.5.7", - "fabric-shim-api": "2.5.7", + "fabric-contract-api": "2.5.8", + "fabric-shim-api": "2.5.8", "fast-safe-stringify": "^2.1.1", "long": "^5.2.3", "reflect-metadata": "^0.1.13", diff --git a/test/chaincodes/annotations/package.json b/test/chaincodes/annotations/package.json index 235d4a76..66fd71d1 100644 --- a/test/chaincodes/annotations/package.json +++ b/test/chaincodes/annotations/package.json @@ -13,13 +13,13 @@ "typings": "dist/index.d.ts", "engine-strict": true, "engineStrict": true, - "version": "2.5.7", + "version": "2.5.8", "author": "", "license": "APACHE-2.0", "dependencies": { "@types/node": "^16.11.4", - "fabric-contract-api": "2.5.7", - "fabric-shim": "2.5.7", + "fabric-contract-api": "2.5.8", + "fabric-shim": "2.5.8", "ts-node": "^3.3.0", "tslint": "^5.6.0", "typescript": "^4.0.2" diff --git a/test/chaincodes/annotations/src/test_contract/expected-metadata.json b/test/chaincodes/annotations/src/test_contract/expected-metadata.json index c56b3b18..61f39d70 100644 --- a/test/chaincodes/annotations/src/test_contract/expected-metadata.json +++ b/test/chaincodes/annotations/src/test_contract/expected-metadata.json @@ -9,10 +9,7 @@ }, "transactions": [ { - "tag": [ - "SUBMIT", - "submitTx" - ], + "tag": ["SUBMIT", "submitTx"], "parameters": [ { "name": "id", @@ -53,10 +50,7 @@ "name": "createAsset" }, { - "tag": [ - "SUBMIT", - "submitTx" - ], + "tag": ["SUBMIT", "submitTx"], "parameters": [ { "name": "asset", @@ -107,7 +101,7 @@ } }, "info": { - "version": "2.5.7", + "version": "2.5.8", "title": "ts_chaincode" }, "components": { @@ -185,4 +179,4 @@ } } } -} \ No newline at end of file +} diff --git a/test/chaincodes/clientidentity/package.json b/test/chaincodes/clientidentity/package.json index d4846966..15a76866 100644 --- a/test/chaincodes/clientidentity/package.json +++ b/test/chaincodes/clientidentity/package.json @@ -10,11 +10,11 @@ "main": "index.js", "engine-strict": true, "engineStrict": true, - "version": "2.5.7", + "version": "2.5.8", "author": "", "license": "Apache-2.0", "dependencies": { - "fabric-shim": "2.5.7", - "fabric-contract-api": "2.5.7" + "fabric-shim": "2.5.8", + "fabric-contract-api": "2.5.8" } } diff --git a/test/chaincodes/crosschaincode/package.json b/test/chaincodes/crosschaincode/package.json index e76395ee..1da4a776 100644 --- a/test/chaincodes/crosschaincode/package.json +++ b/test/chaincodes/crosschaincode/package.json @@ -10,11 +10,11 @@ "main": "index.js", "engine-strict": true, "engineStrict": true, - "version": "2.5.7", + "version": "2.5.8", "author": "", "license": "Apache-2.0", "dependencies": { - "fabric-shim": "2.5.7", - "fabric-contract-api": "2.5.7" + "fabric-shim": "2.5.8", + "fabric-contract-api": "2.5.8" } } diff --git a/test/chaincodes/crosschaincode2/package.json b/test/chaincodes/crosschaincode2/package.json index 6513119e..d4a1db20 100644 --- a/test/chaincodes/crosschaincode2/package.json +++ b/test/chaincodes/crosschaincode2/package.json @@ -10,11 +10,11 @@ "main": "index.js", "engine-strict": true, "engineStrict": true, - "version": "2.5.7", + "version": "2.5.8", "author": "", "license": "Apache-2.0", "dependencies": { - "fabric-shim": "2.5.7", - "fabric-contract-api": "2.5.7" + "fabric-shim": "2.5.8", + "fabric-contract-api": "2.5.8" } } diff --git a/test/chaincodes/crud/package.json b/test/chaincodes/crud/package.json index 607704de..a57a3d9e 100644 --- a/test/chaincodes/crud/package.json +++ b/test/chaincodes/crud/package.json @@ -10,11 +10,11 @@ "main": "index.js", "engine-strict": true, "engineStrict": true, - "version": "2.5.7", + "version": "2.5.8", "author": "", "license": "Apache-2.0", "dependencies": { - "fabric-shim": "2.5.7", - "fabric-contract-api": "2.5.7" + "fabric-shim": "2.5.8", + "fabric-contract-api": "2.5.8" } } diff --git a/test/chaincodes/events/package.json b/test/chaincodes/events/package.json index 60b8ad13..3579e687 100644 --- a/test/chaincodes/events/package.json +++ b/test/chaincodes/events/package.json @@ -10,11 +10,11 @@ "main": "index.js", "engine-strict": true, "engineStrict": true, - "version": "2.5.7", + "version": "2.5.8", "author": "", "license": "Apache-2.0", "dependencies": { - "fabric-shim": "2.5.7", - "fabric-contract-api": "2.5.7" + "fabric-shim": "2.5.8", + "fabric-contract-api": "2.5.8" } } diff --git a/test/chaincodes/ledger/package.json b/test/chaincodes/ledger/package.json index 74cc5eba..4eba69a7 100644 --- a/test/chaincodes/ledger/package.json +++ b/test/chaincodes/ledger/package.json @@ -10,12 +10,12 @@ "main": "index.js", "engine-strict": true, "engineStrict": true, - "version": "2.5.7", + "version": "2.5.8", "author": "", "license": "Apache-2.0", "dependencies": { - "fabric-shim": "2.5.7", - "fabric-contract-api": "2.5.7", - "fabric-ledger": "2.5.7" + "fabric-shim": "2.5.8", + "fabric-contract-api": "2.5.8", + "fabric-ledger": "2.5.8" } } diff --git a/test/chaincodes/privateData/package.json b/test/chaincodes/privateData/package.json index 91362745..dfaf58fc 100644 --- a/test/chaincodes/privateData/package.json +++ b/test/chaincodes/privateData/package.json @@ -10,11 +10,11 @@ "main": "index.js", "engine-strict": true, "engineStrict": true, - "version": "2.5.7", + "version": "2.5.8", "author": "", "license": "Apache-2.0", "dependencies": { - "fabric-shim": "2.5.7", - "fabric-contract-api": "2.5.7" + "fabric-shim": "2.5.8", + "fabric-contract-api": "2.5.8" } } diff --git a/test/chaincodes/query/package.json b/test/chaincodes/query/package.json index 78fa98aa..0d849517 100644 --- a/test/chaincodes/query/package.json +++ b/test/chaincodes/query/package.json @@ -10,11 +10,11 @@ "main": "index.js", "engine-strict": true, "engineStrict": true, - "version": "2.5.7", + "version": "2.5.8", "author": "", "license": "Apache-2.0", "dependencies": { - "fabric-shim": "2.5.7", - "fabric-contract-api": "2.5.7" + "fabric-shim": "2.5.8", + "fabric-contract-api": "2.5.8" } } diff --git a/test/chaincodes/scenario/package.json b/test/chaincodes/scenario/package.json index 7ad7bdfd..7c512679 100644 --- a/test/chaincodes/scenario/package.json +++ b/test/chaincodes/scenario/package.json @@ -10,11 +10,11 @@ "main": "index.js", "engine-strict": true, "engineStrict": true, - "version": "2.5.7", + "version": "2.5.8", "author": "", "license": "Apache-2.0", "dependencies": { - "fabric-shim": "2.5.7", - "fabric-contract-api": "2.5.7" + "fabric-shim": "2.5.8", + "fabric-contract-api": "2.5.8" } } diff --git a/test/e2e/package.json b/test/e2e/package.json index 3ca63a3e..94a94839 100644 --- a/test/e2e/package.json +++ b/test/e2e/package.json @@ -1,6 +1,6 @@ { "name": "fabric-e2e-tests", - "version": "2.5.7", + "version": "2.5.8", "description": "", "main": "docker.js", "scripts": { diff --git a/test/e2e/scenario.js b/test/e2e/scenario.js index e3e2963d..5dfa7255 100644 --- a/test/e2e/scenario.js +++ b/test/e2e/scenario.js @@ -5,14 +5,14 @@ */ 'use strict'; -const {series} = require('gulp'); +const { series } = require('gulp'); const delay = require('delay'); const util = require('node:util'); const fs = require('node:fs'); const path = require('node:path'); -const { shell: runcmds , getTLSArgs, getPeerAddresses } = require('toolchain'); +const { shell: runcmds, getTLSArgs, getPeerAddresses } = require('toolchain'); const Ajv = require('ajv'); const ip = require('ip'); @@ -20,35 +20,46 @@ const CHANNEL_NAME = 'mychannel'; /* eslint-disable no-console */ const dir = path.join(__dirname, '..', '..', 'fabric-samples'); -const exportPeerCommand = async(org) => { +const exportPeerCommand = async (org) => { const port = org === 'org1' ? 7051 : 9051; const role = 'Admin'; - const args = `export PATH=${dir}/bin:$PATH && export FABRIC_CFG_PATH=${dir}/config/ && ` + - `export CORE_PEER_TLS_ENABLED=true && export CORE_PEER_LOCALMSPID="${org[0].toUpperCase() + org.slice(1)}MSP" && ` + + const args = + `export PATH=${dir}/bin:$PATH && export FABRIC_CFG_PATH=${dir}/config/ && ` + + `export CORE_PEER_TLS_ENABLED=true && export CORE_PEER_LOCALMSPID="${ + org[0].toUpperCase() + org.slice(1) + }MSP" && ` + `export CORE_PEER_TLS_ROOTCERT_FILE=${dir}/test-network/organizations/peerOrganizations/${org}.example.com/peers/peer0.${org}.example.com/tls/ca.crt && ` + `export CORE_PEER_MSPCONFIGPATH=${dir}/test-network/organizations/peerOrganizations/${org}.example.com/users/${role}@${org}.example.com/msp && ` + `export CORE_PEER_ADDRESS=localhost:${port}`; return args; -} +}; const invokeFunctions = async () => { - const args = await exportPeerCommand('org1') + ' && ' + util.format( - 'peer chaincode invoke -o localhost:7050 %s -C %s -n %s -c %s --waitForEvent', - getTLSArgs(), - CHANNEL_NAME, - 'mysmartcontract', - '\'{"Args":["setNewAssetValue","\'42\'"]}\''); + const args = + (await exportPeerCommand('org1')) + + ' && ' + + util.format( + 'peer chaincode invoke -o localhost:7050 %s -C %s -n %s -c %s --waitForEvent', + getTLSArgs(), + CHANNEL_NAME, + 'mysmartcontract', + '\'{"Args":["setNewAssetValue","\'42\'"]}\'' + ); await runcmds([args]); }; const queryFunctions = async () => { - const args = await exportPeerCommand('org2') + ' && ' + util.format( - 'peer chaincode query -o localhost:7050 %s -C %s -n %s -c %s', - getTLSArgs(), - CHANNEL_NAME, - 'mysmartcontract', - '\'{"Args":["org.hyperledger.fabric:GetMetadata"]}\''); + const args = + (await exportPeerCommand('org2')) + + ' && ' + + util.format( + 'peer chaincode query -o localhost:7050 %s -C %s -n %s -c %s', + getTLSArgs(), + CHANNEL_NAME, + 'mysmartcontract', + '\'{"Args":["org.hyperledger.fabric:GetMetadata"]}\'' + ); const stdoutList = await runcmds([args]); const stdout = stdoutList[0]; @@ -57,11 +68,17 @@ const queryFunctions = async () => { const metadata = JSON.parse(stdout); - const expectedMetadata = '{"$schema":"https://hyperledger.github.io/fabric-chaincode-node/main/api/contract-schema.json","contracts":{"UpdateValues":{"name":"UpdateValues","contractInstance":{"name":"UpdateValues","logBuffer":{"output":[]},"default":true},"transactions":[{"name":"setup","tags":["SUBMIT","submitTx"]},{"name":"setNewAssetValue","tags":["SUBMIT","submitTx"],"parameters":[{"name":"arg0","description":"Argument 0","schema":{"type":"string"}}]},{"name":"doubleAssetValue","tags":["SUBMIT","submitTx"]}],"info":{"title":"","version":""}},"RemoveValues":{"name":"RemoveValues","contractInstance":{"name":"RemoveValues"},"transactions":[{"name":"quarterAssetValue","tags":["SUBMIT","submitTx"]},{"name":"getAssetValue","tags":["SUBMIT","submitTx"]}],"info":{"title":"","version":""}},"org.hyperledger.fabric":{"name":"org.hyperledger.fabric","contractInstance":{"name":"org.hyperledger.fabric"},"transactions":[{"name":"GetMetadata"}],"info":{"title":"","version":""}}},"info":{"version":"2.5.7","title":"chaincode"},"components":{"schemas":{}}}'; + const expectedMetadata = + '{"$schema":"https://hyperledger.github.io/fabric-chaincode-node/main/api/contract-schema.json","contracts":{"UpdateValues":{"name":"UpdateValues","contractInstance":{"name":"UpdateValues","logBuffer":{"output":[]},"default":true},"transactions":[{"name":"setup","tags":["SUBMIT","submitTx"]},{"name":"setNewAssetValue","tags":["SUBMIT","submitTx"],"parameters":[{"name":"arg0","description":"Argument 0","schema":{"type":"string"}}]},{"name":"doubleAssetValue","tags":["SUBMIT","submitTx"]}],"info":{"title":"","version":""}},"RemoveValues":{"name":"RemoveValues","contractInstance":{"name":"RemoveValues"},"transactions":[{"name":"quarterAssetValue","tags":["SUBMIT","submitTx"]},{"name":"getAssetValue","tags":["SUBMIT","submitTx"]}],"info":{"title":"","version":""}},"org.hyperledger.fabric":{"name":"org.hyperledger.fabric","contractInstance":{"name":"org.hyperledger.fabric"},"transactions":[{"name":"GetMetadata"}],"info":{"title":"","version":""}}},"info":{"version":"2.5.8","title":"chaincode"},"components":{"schemas":{}}}'; - const schema = fs.readFileSync(path.join(__dirname, '../../apis/fabric-contract-api/schema/contract-schema.json')); + const schema = fs.readFileSync( + path.join( + __dirname, + '../../apis/fabric-contract-api/schema/contract-schema.json' + ) + ); - const ajv = new Ajv({schemaId: 'id'}); + const ajv = new Ajv({ schemaId: 'id' }); ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-04.json')); if (!ajv.validate(JSON.parse(schema), metadata)) { @@ -69,30 +86,35 @@ const queryFunctions = async () => { } if (JSON.stringify(metadata) !== expectedMetadata) { - throw new Error(`Expected query response to equal ${expectedMetadata} \ninstead recieved: \n${JSON.stringify(metadata)}`); + throw new Error( + `Expected query response to equal ${expectedMetadata} \ninstead recieved: \n${JSON.stringify( + metadata + )}` + ); } - }; - const instantiateChaincode = async () => { // Invoke init function await runcmds([ - await exportPeerCommand('org1') + ' && ' + - util.format( - 'peer chaincode invoke -o localhost:7050 %s -C %s -n %s -c %s --waitForEvent', - getTLSArgs(), - CHANNEL_NAME, - 'mysmartcontract', - '\'{"Args":["UpdateValues:setup"]}\'' - ) + (await exportPeerCommand('org1')) + + ' && ' + + util.format( + 'peer chaincode invoke -o localhost:7050 %s -C %s -n %s -c %s --waitForEvent', + getTLSArgs(), + CHANNEL_NAME, + 'mysmartcontract', + '\'{"Args":["UpdateValues:setup"]}\'' + ), ]); }; const findPackageId = (queryOutput, label) => { const output = JSON.parse(queryOutput); - const cc = output.installed_chaincodes.filter((chaincode) => chaincode.label === label); + const cc = output.installed_chaincodes.filter( + (chaincode) => chaincode.label === label + ); if (cc.length !== 1) { throw new Error('Failed to find installed chaincode'); } @@ -112,20 +134,33 @@ const installChaincode = async () => { 'peer lifecycle chaincode install %s', '/tmp/scenario.tar.gz' ); - const npmrc = path.join(__dirname, '..', '..', 'test', 'chaincodes','scenario', '.npmrc'); + const npmrc = path.join( + __dirname, + '..', + '..', + 'test', + 'chaincodes', + 'scenario', + '.npmrc' + ); const CCDir = path.join(__dirname, '..', 'chaincodes', 'scenario'); await runcmds([ `echo "registry=http://${ip.address()}:4873" > ${npmrc}`, util.format( - await exportPeerCommand('org1') + ' && ', + (await exportPeerCommand('org1')) + ' && ', `cd ${dir}/test-network && ./network.sh deployCC -ccn mysmartcontract -ccp ${CCDir} -ccl javascript -ccep "OR('Org1MSP.peer','Org2MSP.peer')"` - ) + ), ]); }; -const clientTests = series(installChaincode, instantiateChaincode, invokeFunctions, queryFunctions); +const clientTests = series( + installChaincode, + instantiateChaincode, + invokeFunctions, + queryFunctions +); const serverTests = require('./server').default; exports.default = series(clientTests); diff --git a/test/fv/package.json b/test/fv/package.json index 8b179637..df38638a 100644 --- a/test/fv/package.json +++ b/test/fv/package.json @@ -1,6 +1,6 @@ { "name": "fvtests", - "version": "2.5.7", + "version": "2.5.8", "description": "fv tests", "testFabricVersion": "main", "testFabricThirdParty": "0.4.15", @@ -25,9 +25,9 @@ "del": "^3.0.0", "delay": "5.0.0", "eslint": "^6.6.0", - "fabric-contract-api": "2.5.7", - "fabric-shim": "2.5.7", - "fabric-shim-api": "2.5.7", + "fabric-contract-api": "2.5.8", + "fabric-shim": "2.5.8", + "fabric-shim-api": "2.5.8", "git-rev-sync": "3.0.1", "gulp": "^4.0.2", "ip": "^1.1.5",