{"_id":"vehicle-manufacture-network","_rev":"38-60aa84251c9ebec78e64773e79f4a63e","name":"vehicle-manufacture-network","dist-tags":{"unstable":"0.2.6-20190830080852","latest":"0.2.5"},"versions":{"0.1.14-20180209104957":{"engines":{"composer":"^0.16.0"},"name":"vehicle-manufacture-network","version":"0.1.14-20180209104957","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache-2.0","devDependencies":{"chai":"^3.5.0","composer-admin":"^0.16.0","composer-cli":"^0.16.0","composer-client":"^0.16.0","composer-connector-embedded":"^0.16.0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check":"^1.1.5","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-config":{"src":["**/*.js","!./coverage/**/*","!./node_modules/**/*","!./out/**/*","!./scripts/**/*"],"path":"header.txt","blocking":true,"logInfo":false,"logError":true},"bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.1.14-20180209104957","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-m3zkeznVgigxjldULs+0+GT4Q7K3QlS33/vcYXp2U4sgF7CeaA0DiwkGE9UKRaFkqPVzj5EF80c0x1/Nuv3iaA==","shasum":"6f54f95f5dfeed7bde3d8b0ffb8de35d50eb0855","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.1.14-20180209104957.tgz","fileCount":15,"unpackedSize":80981,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDko/aBgBVrP6nHj2He9vQfDsg9641wPl0JKA5NCTVCzQIgYWC8g5amPwSJpA2jTuhzgBn39LXctuTrY7FeXHaKIL0="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.1.14-20180209104957_1518173416942_0.6810743133904784"},"_hasShrinkwrap":false},"0.2.1-20180209105111":{"engines":{"composer":"^0.17.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.1-20180209105111","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai-as-promised":"^6.0.0","chai":"^3.5.0","composer-admin":"^0.17.0-0","composer-cli":"^0.17.0-0","composer-client":"^0.17.0-0","composer-connector-embedded":"^0.17.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.4.1","license-check":"^1.1.5","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-config":{"src":["**/*.js","!./coverage/**/*","!./node_modules/**/*","!./out/**/*","!./scripts/**/*"],"path":"header.txt","blocking":true,"logInfo":false,"logError":true},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in. ","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.1-20180209105111","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-C6eDUCrZ1zfcxR+OFEOmvvlA/v90Phpo1Aih9VafQViQSZgfnXgaGXlSQhaXk4QzcPznpaSqv7EOnHcYqNy45w==","shasum":"892f8ee131cea8df8dfb5d3781e0fc0501820a81","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.1-20180209105111.tgz","fileCount":15,"unpackedSize":76068,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCw3I5Z1e8Jq1/4sAgNwA625KfuXABNMYFDLprYqQ+mfAIgJ/isNlhDzUUeDa8oDWb9WiEc2MIfTIZNA7MiZZaZakw="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.1-20180209105111_1518173494162_0.7271723204609337"},"_hasShrinkwrap":false},"0.2.1":{"engines":{"composer":"^0.17.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.1","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai-as-promised":"^6.0.0","chai":"^3.5.0","composer-admin":"^0.17.0-0","composer-cli":"^0.17.0-0","composer-client":"^0.17.0-0","composer-connector-embedded":"^0.17.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.4.1","license-check":"^1.1.5","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-config":{"src":["**/*.js","!./coverage/**/*","!./node_modules/**/*","!./out/**/*","!./scripts/**/*"],"path":"header.txt","blocking":true,"logInfo":false,"logError":true},"bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-KltoA5sJv82QD5NTPvT5gAAxZYfQfRbevJgqcCvGmUhFYEq57mBFuXYV6M+gfScZwqlefJV2KhMYdaAGsgRbAA==","shasum":"f449d2a289cf7773b8d6cc7317bfa412d6a35a0b","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.1.tgz","fileCount":15,"unpackedSize":76025,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCz9d8VvbJ5LtUhtRANec3cgu4TtA1fDpfU0c1+N/9/cQIhAOzsxIGcRvc8r7CA3ztEUW3v1kAN1ql7IzKwLlnuYOj4"}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.1_1519832931338_0.34290919289565913"},"_hasShrinkwrap":false,"deprecated":"Hyperledger Composer has been deprecated. Please see the README for more details: https://github.com/hyperledger/composer/blob/master/README.md"},"0.2.2-20180228181717":{"engines":{"composer":"^0.17.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.2-20180228181717","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.17.0-0","composer-cli":"^0.17.0-0","composer-client":"^0.17.0-0","composer-connector-embedded":"^0.17.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.4.1","license-check":"^1.1.5","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-config":{"src":["**/*.js","!./coverage/**/*","!./node_modules/**/*","!./out/**/*","!./scripts/**/*"],"path":"header.txt","blocking":true,"logInfo":false,"logError":true},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in. ","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.2-20180228181717","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-i7nuGxRadv5rsYKKupCzIR2cNTM4wQ4g1vttWBAj1Xlr5flfn6X/QTRNGLjMxLi2JNAuIZx/aE/6R9QyKbM/WA==","shasum":"2b3a44a3e5fe304bc2c28a364094d24fac18565c","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.2-20180228181717.tgz","fileCount":15,"unpackedSize":76068,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEENoHXaksRRXWKhQ0o8dtU8EYQBKORwf7vj2Q+Yh0/HAiEAm77lHuBB6hcPOz6N4uCK7vJGj8Mg5UIYYB1nYuwxsao="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.2-20180228181717_1519841853881_0.30060080792796806"},"_hasShrinkwrap":false},"0.2.2-20180228214049":{"engines":{"composer":"^0.18.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.2-20180228214049","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.18.0-0","composer-cli":"^0.18.0-0","composer-client":"^0.18.0-0","composer-connector-embedded":"^0.18.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.4.1","license-check":"^1.1.5","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-config":{"src":["**/*.js","!./coverage/**/*","!./node_modules/**/*","!./out/**/*","!./scripts/**/*"],"path":"header.txt","blocking":true,"logInfo":false,"logError":true},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in. ","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.2-20180228214049","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-0C83y7s08LMzNnKQlwplQSy+v95WR+BSQ4kUPA12IxAEBYZ5YBedIHS+JncGZ/a4faWmSuNoVMaZsm84/RXL+A==","shasum":"e91bff2cbbf324cfa85512ac3a807ef459cef164","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.2-20180228214049.tgz","fileCount":15,"unpackedSize":75928,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBmxNWgrfMZNzORAkT2rh1hv1gzSw1TdNOyaZgtze/n3AiEA8IRTE2nOaDMz7wVfV2AVuHCt//TOQKaTx+1ZKhznp2E="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.2-20180228214049_1519854068433_0.8578458999864131"},"_hasShrinkwrap":false},"0.1.14-20180301124701":{"engines":{"composer":"^0.16.0"},"name":"vehicle-manufacture-network","version":"0.1.14-20180301124701","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache-2.0","devDependencies":{"chai":"^3.5.0","composer-admin":"^0.16.0","composer-cli":"^0.16.0","composer-client":"^0.16.0","composer-connector-embedded":"^0.16.0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check":"^1.1.5","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-config":{"src":["**/*.js","!./coverage/**/*","!./node_modules/**/*","!./out/**/*","!./scripts/**/*"],"path":"header.txt","blocking":true,"logInfo":false,"logError":true},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-lifecycle\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in. ","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.1.14-20180301124701","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-zLItpAwCZzf5Z9vfHqnD13xhkqO+E11wjMW2/lD+z+fxv1O9Z7CN0kwbL9k+pv8yFYlFmHAug30cLpFRPPAS7Q==","shasum":"8b84bd826238133134de83d2d9c281f39ce23ed0","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.1.14-20180301124701.tgz","fileCount":15,"unpackedSize":81115,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEpJqf3dKn4j5+RqUoSTWwufAlcjHwADFp0xjEkzLKPqAiB2F7FeNEkAh1WCpvueMxRA4dTj9ABfOgYq6R1AGBTtrQ=="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.1.14-20180301124701_1519908437803_0.1301640741498249"},"_hasShrinkwrap":false},"0.2.2-20180301135319":{"engines":{"composer":"^0.18.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.2-20180301135319","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.18.0-0","composer-cli":"^0.18.0-0","composer-client":"^0.18.0-0","composer-connector-embedded":"^0.18.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.4.1","license-check":"^1.1.5","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-config":{"src":["**/*.js","!./coverage/**/*","!./node_modules/**/*","!./out/**/*","!./scripts/**/*"],"path":"header.txt","blocking":true,"logInfo":false,"logError":true},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in. ","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.2-20180301135319","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-9+xhoVE6SK1bp4Ig4PoAy4W0EV4zGvNa+ldFagdPSenCn2nV6lsWkKVEblQnSEYp/nMfIlai71w3ww1xtdQiuw==","shasum":"0b6ee7211b216ac06ac49733b057514deca9387b","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.2-20180301135319.tgz","fileCount":15,"unpackedSize":76123,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6qpyw7RKwEzK42P4eyYeD+RvC4F9Q1uXR9Um6xuYUwwIgCXo5EfQjeF5MtA8x3pVGmsGDDqss4/XUU994ANPusEw="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.2-20180301135319_1519912425200_0.4077416517398429"},"_hasShrinkwrap":false},"0.1.14":{"engines":{"composer":"^0.16.0"},"name":"vehicle-manufacture-network","version":"0.1.14","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache-2.0","devDependencies":{"chai":"^3.5.0","composer-admin":"^0.16.0","composer-cli":"^0.16.0","composer-client":"^0.16.0","composer-connector-embedded":"^0.16.0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check":"^1.1.5","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-config":{"src":["**/*.js","!./coverage/**/*","!./node_modules/**/*","!./out/**/*","!./scripts/**/*"],"path":"header.txt","blocking":true,"logInfo":false,"logError":true},"bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.1.14","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-nuldDYPIGJeVwkAJvPXB1D70ZCmLhBmPiA43EGXDtelv7RQBj6CNq0KN7FWavHDZif7ymb7qtGzyQjCzTjwacg==","shasum":"a41171f71a3e4d6ee86c3ebb6000915014cf8077","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.1.14.tgz","fileCount":15,"unpackedSize":80986,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDu+YDq8ZdWOS0X1hc00AjUF74FSsRvVDLhGv3LO8HyJAiBtcfSVfuEOLNUFBOf1VJ8pFeIaSU5QE3BXGrI+VQhrcA=="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.1.14_1521040550092_0.522252775011093"},"_hasShrinkwrap":false,"deprecated":"Hyperledger Composer has been deprecated. Please see the README for more details: https://github.com/hyperledger/composer/blob/master/README.md"},"0.2.2":{"engines":{"composer":"^0.18.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.2","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.18.0-0","composer-cli":"^0.18.0-0","composer-client":"^0.18.0-0","composer-connector-embedded":"^0.18.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.4.1","license-check":"^1.1.5","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-config":{"src":["**/*.js","!./coverage/**/*","!./node_modules/**/*","!./out/**/*","!./scripts/**/*"],"path":"header.txt","blocking":true,"logInfo":false,"logError":true},"bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.2","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-+jvEpfNbXKlU/z8ej90lHPpYLAivNA8V8XamQ9RH6D8ZIvLnueUvrG1atrW1WgC4t8oRk3sMi4I0mbEdWmtJNw==","shasum":"9ce935a6e43965499e05462e082f8c218cb4ca55","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.2.tgz","fileCount":15,"unpackedSize":75990,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWN3MhoSxn+AcB7D3nLwVM141ab2o6njNM4zqbvhVpLQIhANETBBU4qTnG+KDxjmURlHF8ddsPfbAEeAylHgjsBVCs"}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.2_1521040556727_0.7323133525657985"},"_hasShrinkwrap":false,"deprecated":"Hyperledger Composer has been deprecated. Please see the README for more details: https://github.com/hyperledger/composer/blob/master/README.md"},"0.2.3-20180314152012":{"engines":{"composer":"^0.18.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.3-20180314152012","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.18.0-0","composer-cli":"^0.18.0-0","composer-client":"^0.18.0-0","composer-connector-embedded":"^0.18.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.4.1","license-check":"^1.1.5","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-config":{"src":["**/*.js","!./coverage/**/*","!./node_modules/**/*","!./out/**/*","!./scripts/**/*"],"path":"header.txt","blocking":true,"logInfo":false,"logError":true},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in. ","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.3-20180314152012","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-QIrEEd1poeyZGZt5O6fRHGUnZgemRpYZmoGSEd7qB1bCny/rf5u3RQ1idG1wKyc1Nf/B9fIrdGGJwgklrYEcjA==","shasum":"2891f1aa48030d75205b56f3ef605ee30f6545d2","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.3-20180314152012.tgz","fileCount":15,"unpackedSize":76123,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHtgoiCH4zN/hiEiHHe3gQ72XXyfErmITL9p9TMZTPgWAiEAkZ8JVywq8QD9M8NLsUC8srkH0bbWvpGca0/FH52bgaE="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.3-20180314152012_1521040828795_0.6316722452854093"},"_hasShrinkwrap":false},"0.2.3-20180314171154":{"engines":{"composer":"^0.18.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.3-20180314171154","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.18.0-0","composer-cli":"^0.18.0-0","composer-client":"^0.18.0-0","composer-connector-embedded":"^0.18.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.4.1","license-check":"^1.1.5","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-config":{"src":["**/*.js","!./coverage/**/*","!./node_modules/**/*","!./out/**/*","!./scripts/**/*"],"path":"header.txt","blocking":true,"logInfo":false,"logError":true},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in. ","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.3-20180314171154","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-qzwimAkd/Eui/iibr5cdkudNvBfwQHbkUiQBIZJAbncA0V7t9yR7ql6jpa9qQVdROjJakAUMr64sEIPEi8SK3A==","shasum":"6e934bf685aa79dd4bcc2440f85ea05a7c998a9f","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.3-20180314171154.tgz","fileCount":15,"unpackedSize":76123,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID0eQ9E61strf/udzXmO3K097mmyVg9ezOpUGjXjfez0AiBGtLein4eoBp3yjKYusZ/yg+jnOMv/xUnkbiLkAH+ezg=="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.3-20180314171154_1521047537475_0.18838039534574125"},"_hasShrinkwrap":false},"0.2.3-20180326082813":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.3-20180326082813","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.0.6","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".md",".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in. ","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.3-20180326082813","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-/26jTNfDSmFfgrWm/A8z0bwwTGc2z1pkmXRuq86kzCsMJD9U7Qk2qAnIzMABftDW9SonUNka7JzE9yKNVKoyAw==","shasum":"29e750ca5f848c8eb931889b2e929f076394fdbc","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.3-20180326082813.tgz","fileCount":15,"unpackedSize":79489,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIrNqPIYAFC8FpKRREk3FnRfJ3kI6NZO1hDiuttKtnywIgHOQIvaYPzck9BqIkXFQLh/X+5q6zXXuTee5KQsP4yTo="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.3-20180326082813_1522052913884_0.8596548454276816"},"_hasShrinkwrap":false},"0.2.3-20180407081039":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.3-20180407081039","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.0.6","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".md",".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in. ","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.3-20180407081039","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-FbzBQA2CCkKcEr3F3AF0ChuF6k99Zqqmm29KOQh2KHd0cEm83xzjNGov2bzv7eHL9T5m/xJdgZWW4gYMkyrqNg==","shasum":"5ad95179976f8b543ea7875b90f4eeaa30bafbfa","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.3-20180407081039.tgz","fileCount":15,"unpackedSize":79489,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzkMENFBvBERJ1aaTnnaLdnxUYtoEMA3/R0cYt+MS55AIhAPzueGwxSacEBtz6aO08/ZS4X4TH1IdjOXY45Z1FZRNG"}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.3-20180407081039_1523088656311_0.12707085840415755"},"_hasShrinkwrap":false},"0.2.3":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.3","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.0.6","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".md",".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}}}},"bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.3","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-LxJjAsrl24qBtRA73/4MsMsiO8guwyX3WM7mx0ZK7TZtzqnDp+4CbGuSEjDHtq9gXNlsNOnwboa1q1OEOiHo7w==","shasum":"e6f848aa27954182bf2150aa09e51bb28d62a338","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.3.tgz","fileCount":15,"unpackedSize":79313,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHetGiAQxPBikPG7PImsfsoMVnjxU/3hzZlE87eqE188AiEA1LmuvtpL+RuWaZEptYif88omDhLCWvBqmravM5NHf6s="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.3_1523089155376_0.7378381211014344"},"_hasShrinkwrap":false,"deprecated":"Hyperledger Composer has been deprecated. Please see the README for more details: https://github.com/hyperledger/composer/blob/master/README.md"},"0.2.3-20180407081906":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.3-20180407081906","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.0.6","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".md",".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in. ","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.3-20180407081906","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-LOv6qOsCor+9GKmlj+zTTNtwzKhhiJP9RuaAIOljq6IHWFzwmQyE+WfgjS+ryGS4XUFX2++/Mp4Vu7/Sxe3hOQ==","shasum":"d93503ca3ece0b88e29cac5d7aa77bb07f6a2972","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.3-20180407081906.tgz","fileCount":15,"unpackedSize":79489,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAsYFCvRRP+nsUUkXi6A5DdT2DXuUbRtGxnMfM37HqUDAiEAiDnFWUHqUeouS60hcghLldRXHisPXcUDMkJmTxJ5NtE="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.3-20180407081906_1523089160418_0.3317034954135032"},"_hasShrinkwrap":false},"0.2.4-20180407084500":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.4-20180407084500","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.0.6","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".md",".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in. ","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.4-20180407084500","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-xg73T7bHNejz1x6+eInZeqwDmDXGK/cqPXivvGOao4eFIeeBOmgczOQGW9HaqMmAs6fhWDYfV4gydwylUBeokA==","shasum":"da019d4746ebaa8268983d58c71a88313fe4c99e","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.4-20180407084500.tgz","fileCount":15,"unpackedSize":79489,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAp6cDNrAdybR86bZfUqRgdF8yZ1OdujOzuJefNaKOerAiEAtJelUndG5lQP3pbSvoqCtoUVWFsBdRgmDk7mtemrfSU="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.4-20180407084500_1523090717993_0.2591990470469252"},"_hasShrinkwrap":false},"0.2.4-20180419125626":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.4-20180419125626","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.0.6","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".md",".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in. ","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.4-20180419125626","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-Bv33aUbf2wr6HvoMwdrMDhlT9trcKUyiQR9aWKFwRqDwGTTmzWrlr+4b7+tykWsKlfOmMQGufKDUIQRwNN4UMg==","shasum":"9f3d830023d0bcb50fa3baaec6490c5bc816d681","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.4-20180419125626.tgz","fileCount":15,"unpackedSize":79489,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa2JIYCRA9TVsSAnZWagAAzksP/3xPWbkCUbZJt5hPAZe3\nCq1669SQbMMg8i8GKWbGF0H0K7PR8tFEBJdQRDfqfSU81s/Rlesm0Gkai2x8\nRAsPpBrf8N8mst8d2XWW32DGh0ygltak3fthlwl7MrpGI5LnlPwF/PaaY+d5\n3sJGafaTztLpznkPwGw68wk3vGszElb+oYw4+O4lMS2QHV3oXzLaoNFDn3hW\nZI3ov7aP4QzzLOVXLcu+ISJkueKZaSXXYYx81YWIx3jJKT204gLaGwsukGZ+\ngNY9Oggrwy4om2sHe0GYWn7a1nHhWSlP/KLMAt0vqsaS6+L9i69CSSGEFzdk\nklGcifM1CMh8UUMbRoYV7INUeDGG2OxNciz9KaaDhuu87lLNv4HFRlpL+98b\noSQRTp31t22psgDw7ycrvlXS6aSqD2qDb3RgTF+pCptmTvb2+fPETh/Q1YzD\nKVCWp0F9PGO+h3l0OfXCTuMV+xI7dPAZ+clezE8KoEwmGUBa8Fha9fwpJqf8\nDTXJ6MGoC1i+rPZdr4WmqgbE6QaVUELE7/lm4ck7+Om5frUin7TzXUyGwbQ4\n0DG59CvrAj965nmVBzz1BkbQ/jXDALOZo78cLNfMWR2taFMQAvDiqJVdpWg1\nXGk5Yc4pAcgmH01vJ5AV2oZVwIYCKFTCeEQdakYtXhDsIWLJqpspq9qs5XIW\nU1Ea\r\n=oP6c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYlYY6BzV3/wpo4LhdNrBlTAX1KQdsUyc94iOohr/kDgIhAL7WAyCzZ0XAwirimQ6AwMWnBoH6yG1N8jF13GEGkF7G"}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.4-20180419125626_1524142616077_0.6855566763862095"},"_hasShrinkwrap":false},"0.2.4-20180426144018":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.4-20180426144018","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.0.6","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".md",".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in. ","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.4-20180426144018","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-sz/3TnBJGIG+jddKxJEvQoRQDbvXoK1NqmPvymwRzbJiJOvJ9gEfFUZ6PT8ZmOmdgKcdmHpfadFIAG87qkelxA==","shasum":"2695cd7746707dc19b93dd808ee907b529dca26a","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.4-20180426144018.tgz","fileCount":15,"unpackedSize":79489,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa4eTvCRA9TVsSAnZWagAAENUP/RdIv0wId9Ycpc4i+r7V\nE+ASiKpsmoXwPHSXLYLmjH5B7v7cY0tEQVr3SDArrG+F10DKtP4oOD3lLqQ7\n+YWBBqENjkPpq+6e6IkjWh5gSDzJ8KhDjeErLTbKUB5mEJzbaEJFiEU0VZt9\nIew004d+qqvIsR/Y22lLl5h9ip6VoqCqMTSGN78z7DoGHhynMWLovtYDiVjE\nS5Tz59/QvlcKm7bn/A7MlZ+ErLNQzWRpvP+baaH4nUxHv1e0Oht/w5OumBLf\n4yV4Il+TJxSsrYSsDlyeXTjefjCK6XJKcYP1l4UbMLLZPbKWBZiKIsWo5YSP\n3dtnsfwqSfLv4VEJraABvrsQKHo+DCb0viqWxQpScVhpbfSjFQ0RyFCRNO2+\njK5EVc4hTfbPC3p/tqbAz+hTl94X5vIIP8aY6zh/vLDBrFWSIDBwGRc2y0rf\nZ9qUrHJVWZVaaMKk9M/dNkoIksHpSWUqorG5nlmJPsLtWdqv8Bbtnxc4INn6\nHIvjPncejrGSoYJM7tWuzmGuBcRamBO/ilmwlmHcmODBCTekVNZ86q9payqP\nVPPAzYdcMgNtDmHb5CuseZpdAC81tRQJh6E3NUwNAjytXmziEfUNxupq34l9\nHrweJs5654qySZYWP5t+6x9dgmqHJImEPmzi5xohWXzu8dpNtskxs1M+C97X\nFrcD\r\n=5g0a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAdAn5TKQGMvWL7SkNO42YSzixEfOWI1DZNVDuHHtWUhAiEAhHfE6NUdF2xZqO1VtL3IAPKRt8fRlyL2ut/y/WaBZ1k="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.4-20180426144018_1524753646876_0.33802406107496474"},"_hasShrinkwrap":false},"0.2.4-20180509083608":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.4-20180509083608","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.3.0","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}},"md":{"file":"../../markdown-license.txt"}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in.\n\n## License <a name=\"license\"></a>\nHyperledger Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Hyperledger Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.4-20180509083608","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-1qHL+pEHEFvfSyJTLfRKXR+y4J4b+l1nd8EUI1CRVsKLdmWhEA05yJcGggC8Em0MtDHqnz6Zx8K/h8KF6M11DA==","shasum":"09a119bec413018fc2583afddcdb282826111857","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.4-20180509083608.tgz","fileCount":15,"unpackedSize":80315,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa8rMTCRA9TVsSAnZWagAA1XcQAKGOdH/vPRhqq0pQT+Jf\nqFvsS/hMk6NzE6ggE9ppUr9wC1hent7WgtiKx0kiVQ4Pnt+Pt5G+RQ4yP1zg\nHuDxN3sCJeEfp98l5hlmUZ4Gecjoj51asDmZBOeKQ1nj+jSHAjN9E2tGUDkm\nvo25kcYfBUHytfGIekn57UY1oOO8x+M5K+IB277GaxbXWv8TndxokA7q5QNm\nQTpu7xdHUXqq7xM0LR45xMcPfq6p3wwglBAKIBakcCLV6oeu9Q/a8SMwB4hU\n+r8E+XnBWB6W4tzg4RHUkAyBw3sDaOnHlOCd5rD/dMwaz5PwobUyUA4ywsvJ\nbbjwfuBzt39shK8MdN6bheLe2yX7j3+N67SLhCVVB6qB7QHZiyJV1f8z85HV\nB3BxjCui4Mm+VeTJfljWQUc2zXw4kZCwpUyuLgRR7FfyLO21X/3keAh9rxot\nCi0ZW6mGAKNutOUVcK/QrzAdWs/21efZk8QlEAYw/kKodxce5AWmDVj/RBQc\nsR720uj2k7IN4B/v3dASZJbjSRfumNXpgzPzHqVESheOXYMljM0+faJtQATh\nwegan4bNc+Oj6zoloW/lR9SK0ohnKSw2n2AHccaglxhMIQV3iJl7uejQwIli\nYy+9TWftpoh4R48PAr0oGJdX147AH3bwNMUqa+A2SYCEftcm8ulfpW/q2LXY\nE91r\r\n=d2Rx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDHIekr2FawWTN7Bst1CBSIcOm4GkWXjD/KgTcd47YMTAiBQdKiGL7QJkDsM06mbbfOebiFzcV+W2R0fDjkqG3x2Sw=="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.4-20180509083608_1525854994568_0.9743390846995239"},"_hasShrinkwrap":false},"0.2.4-20180523082558":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.4-20180523082558","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.3.0","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}},"md":{"file":"../../markdown-license.txt"}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in.\n\n## License <a name=\"license\"></a>\nHyperledger Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Hyperledger Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.4-20180523082558","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-56T0ri0rXLLk0SnpxzpYCtd3XyTxU7MBxKIuP/BdxJeo+KGEVIpO/uLSUHGdR7T0fg7DlY6a8CJC3+lvz+vELA==","shasum":"f1da49828379c36c92207f4f3bef55a2ec4961bd","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.4-20180523082558.tgz","fileCount":15,"unpackedSize":80315,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbBSXACRA9TVsSAnZWagAAbQkP/3YslJpHpuYj+X7xvosJ\nV5+jOs45s2lqlukt0FYSc6Bdsm2CC+ew4YBGsHkpICJm1YnJilvLY/a0915G\noVs0RAsXaLJwuuFvfimWppPvTLJv4dFWS1uekcCDR3GqJqMKrE74kPmjhQvO\ncXA7Wg8Ek6PsYzrPfyLQLFFrxkoffUK99AhY8a6o3Y7vVK606tuf/Zu1OTqT\nJOisXfwvKLuP4jj0FDYl2qlZJMsaYY+6AIqGSgAY+KWL/xR9JQdkuTgtBnDl\nixLIpRVD7/O0nv4bocqCbi1G9KFud8hj/ErBZn39e+7TG/TUg52XCov0u5jf\nWheqEg54+BsbSNiDJD+PynKh/5uSJc4Knwjd0Lgh3UZLeE9WeOmWzk7qhJNX\n+eHbzcbYENKGsKL7u8ocRU/NlAN07Ik25/ZSh5ZmC+LZVrGL0ENDRHh8smXA\njOHDxDlePv1EVJ49cKOxIjB2I4TlEpXCPqBO9tNZQYYUNN5Zz1QsJHp2u8hs\nZSGPv/xXlpatURYlqeaO+Sz+YbZJ6oyKGdJKoCNvwNcgfwAuOeXJQHAZyyzg\nk8yM5mYZuceHUbc/U+oHP7W/O7XbiYf3rdS6dRJ9COkFw1O8ofVT6PoEt68S\nNZPywQkeETx/35ZzfratxRVWgmppY31nrNuFwzhTY0bBWVwpNiIGHb8NLMZd\n6wfM\r\n=3pCT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBW7QNjkDan+1m6WyieRN/WdTGiXOr9GMfOOUDh5/7XrAiA7+frMKN5j9xD9kETyTwImDbuQcCmqCooD+MTv2OHR2Q=="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.4-20180523082558_1527063999499_0.6139207773030488"},"_hasShrinkwrap":false},"0.2.4-20180530105641":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.4-20180530105641","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.3.0","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}},"md":{"file":"../../markdown-license.txt"}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in.\n\n## License <a name=\"license\"></a>\nHyperledger Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Hyperledger Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.4-20180530105641","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-eFDabP42G7e3cLSzkyTsL+77sw87ZkZU6Lzu/UW/rOxCO+9o0u+tbdsJayD+NiGnM+ODhr1zLk2HxMeLQXjqvA==","shasum":"fac7d553ff53aa13439e3777f22281a7bf20744d","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.4-20180530105641.tgz","fileCount":15,"unpackedSize":80318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDoOMCRA9TVsSAnZWagAAESsP+wbHJjdq0ef9q1KlrX30\nubbouVICha5pu4qTLThYpPRbtvbkWwh7gllZEGrDetezZ7g3WxQ8wpPlLt9s\nl5mDpaWDm9XCRnDNm+zGE8S2R3sQYyf2RgdAcoi+R3lFpl3TsLIKXPIXoCKV\n5blWtTuUUGnwA8uWbiTPfbRQgKnrq6p+rqQZ6ECwmTrhACu5pUIoI+HcmjxJ\nQ4zpzAZADVojPY6MYJ2EJ+M2ZnyjVXQJ5GchnTC/51141nAzdIHB+eFi/2I9\nUK3sqhVToEAl0HSMhxkAXdL/w1whYqt+H0ORDITa6h6TsouANUtiKlcLnne1\nNK16iIZYGKb5RFBTlOgFTRtXubIZA9ftruDq0V52/7oWePYh7KSV2M4ByCsX\n4W6kDAhjycd8b+ICnIsOV1bEibgPUGFIWUNT7IHSDY1HsWaLH+FBd6/yPnnF\ntEk60b3Qz4wSma8fKK9sTwErs04vric2KxvKsX+uVLIRj3PT/yCtQp17NWuw\nlJRd8Suw/U/2VbbYfCiDa2eIlpQ7XEE8icgI5UGUQE8XeGcZLVrHzLbeNpZD\nXWxlTlVS3VlFuMjxwoL+8QdBKnA7rFkw1eXItLg0OYfXdR0jgARxjcljRw49\nB7iI29Wavu1Oz3BHfflPT3WZAo5yyeBu3SLWrbdSzR8NebEjC0VBCLPQztdp\n4oTn\r\n=JWEg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0zB4jKVDCbXrV7sKYJAFIC4bxb9BDzbLNHIRRrMeTLQIhAPZwbaz0lrPOJv8MXWhJWTx0fTfmXmGx23zkOg66VeRX"}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.4-20180530105641_1527677836317_0.26989843037636807"},"_hasShrinkwrap":false},"0.2.4-20180530112042":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.4-20180530112042","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.3.0","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}},"md":{"file":"../../markdown-license.txt"}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in.\n\n## License <a name=\"license\"></a>\nHyperledger Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Hyperledger Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.4-20180530112042","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-uX5acC5eqZDKug8yqNENDHeQVPvtE9VdhhryKPqP4xyRYi+4KiH9aRlO3iKw3BSQ/6oZfQVqZj7+Avr4AdbApg==","shasum":"6adc842208f46cc0381187b037d458a568f01902","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.4-20180530112042.tgz","fileCount":15,"unpackedSize":80318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDok1CRA9TVsSAnZWagAAqo0QAJ7WVFb01gefCdGzzpME\nDVHJgLBoNoPDfMcUrBCihUM8R6C+/brGpUzJkR9c2Fdr6GSw22D86qxJ/lZF\noK4q/ekwPAWI0Wf91g/930xUYKY+nxwl3puLlZ3jZyY4rBUEmWj7GBp8bxaQ\n0FGp7Pe2FKnf8X4whldfGnxIzP2Z22XwZbJIPzeI6jXO7TCPRDKndOScBTT+\nDtjjdnAtsnGPsO1RqcbQGmu3QYGW2+7AA1UgQHrJ8YEgVsKoOGDLPE03qDBl\nqLAK00HL2DWvkEjGAQWhZKt27I+h0JTGZYgJcNwdg+QS3NGn2y0UQirJ5PsX\n588PJ/iZYg8i2VVj61q4hsqWCy5/GB7TRgFgmlSy40ovjcIODiZiwU99OZgi\nKW8bFb6yw64AR/00uhU135PQtDXS8xi820G1ijZ2GyFeKPCl7d70GyhFgj6d\nElmwUes77+pGKEAM909PvIV2opAKNQEc3z/GXKE5EI6TpIZ59Nl5SRFvSerF\n+f1YqUlqpyB0CpeloY8S/DJC3YPB4SwC62hhZXNLvHT9T9naAkluZbny0YFG\nd0VR+e7RiW5Icw+5LHoAPssVZoE2Livw9VFZWJhWPTgEO/cYkbbE6U13VL3/\ndXdjQwp1h8QyFm2vjgs59TLBlpb6FPUNk7EjyLxhGLauNFx6IX2o1gl9dZm9\nFbSt\r\n=OkUv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICfai4CALsq0nWj964eSZKeKYwnYHKK2wme8ry9n1Jd8AiEArP4gyxorC9Awkr0/0qrVNr4hoVO3ZRVyybgdowSo7xs="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.4-20180530112042_1527679285110_0.21391965951812186"},"_hasShrinkwrap":false},"0.2.4":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.4","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.3.0","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}},"md":{"file":"../../markdown-license.txt"}}},"bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.4","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-AbHIK8CJARDLu9gIDww7DALd8+1oBtnovGoapm7UalMaD+Xl88SbZioqnPJK6oddZkIvXJK/oZnAACvRJzpdYg==","shasum":"c44aeb618e6a100b13c5132ffa846cb1ff3d1521","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.4.tgz","fileCount":15,"unpackedSize":80136,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDpX+CRA9TVsSAnZWagAA9hcP/jm55oow0za+YrstWm5q\n+Bk3VK2QazcRtSMxmTsfurJYM4RydxI6VF6IECbXCkWBxcAJS2HwhPY01k9h\nPQCwMGm2lufnrGZ97rmIECMfOoRQSyj/ra/mppr0oxL+t3ifimB4kEI23hsA\nBtf8Dz9DIZs3Md3oN/UH39FL3aDrPgG1JH5iLZhl3kKJB6yf1ewVG1VwYT51\njLAewyZ/tKLKobWjllzdVs5jNeY+OmGad0RWqTMaJqaaftN5UOUwAiVJsBxh\nFHopmNpkLmeosk7HTZ2EmX+AwQueGR4mxIEj2qWqcuOtXgHD4DkEhhIZbN6e\nWfO7/4uvdLOoRlS7ioKqOoxyO+34+CY2f2OS3MQtjJP6MuYfFO4qaDdb7upY\n0R1GebqoXM4tPM7GMlygQ25AXdaPzLNDk+HI77IpNMIhJY5SF2AJFgjlzLY/\n+ClrsVoqcwZcijTRjktSbWM9ldNXL8RDSErnMDhlcJwkrMyteRwE1kbVHEvw\nZ/YPWCpQb+3MsqW7FMUG0/oWIH1qMHIkEft+PXriXbqsR21Bh3ZBfAm2Wsve\nC9Rz7PbSqlhMyGk73a2a7tonzE7v+3lArLVGKjCRr/hAOB6P1XcOt0tvO1Wi\nvDexmAdP5WDVNIf/1KesFjqg28jxkOzA5yowkLkPamuux8dZIHaXlSBmxDme\nuOdo\r\n=LAr2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEOcu66K9toUxICvNTHe0DAAqBE8hK+vEuBonXl1yjF8AiEA0IFje65NLUm3M/cvDUNU1Po/bvtzbaJNPZmzBon3bM4="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.4_1527682557976_0.9856725395056574"},"_hasShrinkwrap":false,"deprecated":"Hyperledger Composer has been deprecated. Please see the README for more details: https://github.com/hyperledger/composer/blob/master/README.md"},"0.2.5-20180530122249":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.5-20180530122249","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.3.0","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}},"md":{"file":"../../markdown-license.txt"}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in.\n\n## License <a name=\"license\"></a>\nHyperledger Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Hyperledger Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.5-20180530122249","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-W3Sv9nm+kgI4TUkGmRDQ+Z6B/QIFkii22DF6iJuUtQu3aICEEZ4mNg74Rk2cfi9RMUFTEDM+pwHV4JNWZ/AkpA==","shasum":"04c95b0e6192bfd551c82a3cc69943067b311d37","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.5-20180530122249.tgz","fileCount":15,"unpackedSize":80318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDpfTCRA9TVsSAnZWagAAYgMP/0TfTSoavAc/yWnasf1I\neUA1+fMWpKLqzVYnufUDvtsdKHYaQKveEZWZhYlMAIDizldNbKKeWqT8DrDm\nYWvC/OkyF1HW+d12vdTrYtQExWi5KmuvSoHfwJXsK8bFUoPkmhNF4EFGVIVW\nf5NZffisqpJHPK7HXpAPLIDhq3gf+cLq+dzAOW/Mjgok/QJEcfUlBBl8BcET\n01EPn7tQ1wxlzxoqbyc5ommP6/REP7aI7YQicS6daJ9aQiBdcNOlwcOGYmrw\niEKfsQL9dVFKHd49zhECqckrPzsSYFbhoP89huCnfIXI0fD+FKpsbu0Mz2tg\nPfkNgzqHRjs+dyRaNTllvMvUQ6PHNH0IvWYYDhcTlGx0Zc3+bHRoh3YESmiW\nz9syCl8qfNoItyX2yZLEccAP9HG+smB1om6dOzvv7bnT9aJbze8Xaow79JLj\n9uUC1JIqaa0lZmDKIVdXeS737XDo8lj7bUDIaCgu6g5nXE+F3DNJoE5/Lsxb\no+dzCQexn9JPw3ARfTZJVDBq5lpuAJJWUbXrjf0vGx3sFAZccn1KZ/Zg3IJ+\nPBIGpxXQRQZfRcmnwsTaR0yqoum/eUH7VsCJ7Q+2T8a7chixCsVMyMR6UITM\no9qN85xkCjBQe3L/4/9yNiTntIUaSVXVIq2o7qUxmEAwkazMqRjx4PKrnnHR\n1OBd\r\n=ZY5Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDVQ3v0tO+TS5h6xHgL3B3H7nBksIyQRGAL/cL6e9h0WAiAci4QJw2US4crDtwE2UeDynSFa+dxwJc0419zDlQJW9w=="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.5-20180530122249_1527683027049_0.8920570197498607"},"_hasShrinkwrap":false},"0.2.5-20180530152559":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.5-20180530152559","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.3.0","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}},"md":{"file":"../../markdown-license.txt"}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in.\n\n## License <a name=\"license\"></a>\nHyperledger Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Hyperledger Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.5-20180530152559","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-mP+DX7YK9pNH0D8CYkTqLo7cO1tzMOWmoxAVuqjzClyuzJLCwtg+zxZgEJ86p5NjlKK2a2nbNK9UVAug4dwEMA==","shasum":"e2fb127f3bfa48460ce814a38bb0dec9b5008d95","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.5-20180530152559.tgz","fileCount":15,"unpackedSize":80318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDsKiCRA9TVsSAnZWagAAj7QP/jbbUQQOj6dIZSApKJ6m\ndXaG0e/GgQLQOBMdfNcF5CG/dpOiRrK/eri7xXysEeL7KBwprSmhRp4+Spsz\n3ZXWlmTa+QgqoaKunUxAT47TKZFOKUmzK2LpbQCdWrTh9zofeVbSmaiYqeCW\nE5CfkuszZuOvPHOSyqGP4IYvg4vDkVhYJtn392flALXSVzWwq+e3bEd69e0d\nse8qMLdfXJiJzyLJ3eAwsV81oS8lxxXB9omthKJOmNafnfuD4+MUbpD6zmwo\nB0WZoq/XqcSKAIjNNkIvAx/7RK0bpgw7zzQ8BeNRPrqSYbGK42FvbC/NGQav\ngC5cariV23TUY2tXhzO/tYWuJDTEamBDWDLvUYo7lBMdPdgL1s0SPX+WzhaX\nwdSYCEcndVdAyvrAcfeFpv2mHmaq/h4smd9fstwJV8KJOuFYcM/d/X/9H/xA\nxW3FN0/Z0JmOONp6/Y/k64L4UPsF45HgopFVl73qBhOABf9/gI8yBO9Vj6BU\ns1wOgrm/A7Uvd8BBHILdSjduvo+gq0Hi97TuvLu1tdMWQkbxVmGn/Uh/jdrY\nD8X5bKm91G1nHNJ1nf54pFnXpzE1pxC+311sXYyc46f7uSo29yUDP/dcsiLv\nEqUC+LY9wPyXJgydLtZFoNtBc9165HBDYE2P+MxGYCEDTn+/MXRKnYPu7haF\njugL\r\n=PyLB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICzI8MI7Q5gm10RO8I/HNer+INZVHc7GTaSSrLQTHqCPAiBJ7H+6+zf35RHqTDvjPyj56nlPSV7gqtX3PSMLUsgatg=="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.5-20180530152559_1527693986445_0.09810170294552734"},"_hasShrinkwrap":false},"0.2.5":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.5","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.3.0","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}},"md":{"file":"../../markdown-license.txt"}}},"bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.5","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-mYKDMQvKzh37NzapM5FDaRXBLBRhGTo9Y/M45oxlIV4XA7qxggg/F/Hpp5LS0mFpda69AXfe9Z86/8WtiwBf9w==","shasum":"c803dc974504706abc3b927d1ad577cf0a26fdd6","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.5.tgz","fileCount":15,"unpackedSize":80135,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDsNTCRA9TVsSAnZWagAAfUAP/0KZ94aYuOcxWBDBDJ+F\nxXdA/AmxgxktXO3ViTm6c64u8NSJ2H19Go+xSYffKF6JFJu6rhGEZljCtVgc\n5gK3ZBUdFufF76gfAigKBLaMOHyUyHbTDk4dmsgEzANAXzBeNzK4ph3dtb4s\nKtj5/cQ52hhhIPBd4jGt6VtwK4nw33x+rQQFAthnNqHoRFwSIIO4x9qq+gJU\nih7Sze97cnJGv+Qcb4gnsK73Ew2lZXcEHbOT3kmkotmVSs5+n4t9zC8Y8RqC\nmweND2/8u8cyRfAixykaIhypkkUtj6hYPKLPExr68Zbgod1imtNpQM2N/EQa\n3L/wDiry/iir67/hLEhIPDuNQDkFvlFtndFKWdcbrI2P5TQcnMWPwBLCMb1W\nIzSVA0loO0ZudlfCHT/olsKgwFpvs90ctoN0h/++LjBiQTlR38cNbpqE34Jf\njN+WU4Nw3HpzcyQwRJMInzrLJA03djyFl6SRMDGgAwxomhQi507by7m66wVQ\nwdZB2mIPVkECOioNzw6xn1FG0U8oo8q2M1fc/2UTwcFn9DoYJDE9r9AJoZU0\nX917YOjVUl2Bzipum2EyvyOCy9XhVr9h5TvG+QqgaZC1ClJxL3t1X7LiSt3X\nzoRJu+K1kCQqc4IH64n72RLZHg7D8RUcRN2yGIncgXhi393QSnpDjLBQYApo\nBRBL\r\n=PJSc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICr+SHewLDH5hbwWY9YQOIDq96V6n4QM2GvKl71vVfAJAiBXLIXvZ/P+0nKI/sDnud7sq/tSw2q6FPgSsLPCYZnoKg=="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.5_1527694163332_0.4694555007516097"},"_hasShrinkwrap":false,"deprecated":"Hyperledger Composer has been deprecated. Please see the README for more details: https://github.com/hyperledger/composer/blob/master/README.md"},"0.2.6-20180530153450":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.6-20180530153450","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.3.0","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}},"md":{"file":"../../markdown-license.txt"}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in.\n\n## License <a name=\"license\"></a>\nHyperledger Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Hyperledger Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.6-20180530153450","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-48wIVqRov7/g44XVSY2ELqoAGB5lItKYG4Uw690F0IZS2H8bWJI4dhRpXfJjUp0jQDFviLw56v7zwhebZAUNWg==","shasum":"606a40c694cac1c495a7dba2cc7ed6adab761c0b","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.6-20180530153450.tgz","fileCount":15,"unpackedSize":80318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDsTYCRA9TVsSAnZWagAAK7EP/j8SoY37kJCxQfJZdZcv\nQPpDjr9sCrtGLDqHtnz6Mfpg6SUiiijTCIlReYitwRhya8vgjFHqy3QUhwR4\nL5GYHlvoE92tO72mC/w81+oJ//6t0DqGvSEm1yC7sYbejase4W7u2RfPjdUF\newNfNMJ7VTy5Q1b6l7s5j+a4aRSUuLJ4AGdoHNg5dOMw5v9OJo0pNL8WAbcf\nvl7GtlWjunGwE4HQrPrLw2TOg2/5irGBnmvcmfw9U9PsWFc8sRK3OQuYlV1N\nHn8K7RYVRoUdhgkjmJu/lF0ZjHej2UG+UXEZgw0DUAUN5aBPTjx+x5SbTRrg\nxSeVe+8OkaTOm7xE21iByKzURyLTYJAxp4har2UdCXtNYa1+W42hLmjkZzI6\n8zgDTSW83fVNn51FO+2UY/62KTMBtZDeHtHFMlJFUIXN27CdLmAWcheQVrHZ\nwhrHxYM+h3yD62JTQ0mrfjAb1pGHL23O0vfx/+m4xemo6gFMftxhJo/jJPub\nwauKzlwO9Inu8kfeOXjD623EQtgAvpJ0K9JR+b5Q5KR7XYiPWiUwD9oeSRro\n/hVq7zMnEWD8nuXh0pDygxDDefqrZM4Al4ML5DIvme1uYXoYSbgaLJ9K5+y2\npNjwvoBTcFkgkNFJV9ENol7S9r68cEMzh8kNnr94C5TM10IMQVE/8RRSSs4X\ni0QY\r\n=L7aZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAHl08BTMf6UG0K95Z2JIVwshOLZh92DLA5NJnO/vZtFAiEA0oR+Yvd5N4IAg/Dbq80TtyI4CncYs7OfjmhIqUQotj8="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.6-20180530153450_1527694552476_0.08156789229949912"},"_hasShrinkwrap":false},"0.2.6-20180803115844":{"engines":{"composer":"^0.19.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.6-20180803115844","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.19.0-0","composer-cli":"^0.19.0-0","composer-client":"^0.19.0-0","composer-connector-embedded":"^0.19.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.3.0","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}},"md":{"file":"../../markdown-license.txt"}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in.\n\n## License <a name=\"license\"></a>\nHyperledger Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Hyperledger Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.6-20180803115844","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-AhTTBaAopsKG3z0cK02ScJrjsL2i2ffLbm+QSRpXfQTl7RgJtHfxobYvE2gE0TkoEeBRTHxbppXK1CL5uOZibA==","shasum":"9f2e6e23bd353ddea03254b965c3cf5c65b3245f","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.6-20180803115844.tgz","fileCount":15,"unpackedSize":80318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZEOoCRA9TVsSAnZWagAASVEP/iNzPg/Jgduu5a5wXXjx\nFgvwo3w1C0M0pmp49jLhEG9YyRt08/Y9VMoLgTCJTbwD4wxHcNGka0IstpAN\n4dD+3ye703QLJ54hIRdShoc5tBmZzfdtRtgqGaa4uneeA1XmUCRhDtjeL5rq\nTuI8nt1ESHvE/G8rrwWSQ6ZpPHTNgJRnSJd7aO3ryNapTurF/H+l32DdTYR4\nvkUPriK0elmtgh5RGClfrO9+IysJh112A0i1s6XhwkB6jHQrbAyUBiIRdRau\n28xtEDjike77oPcdxRyS4kF5fNvE2W14JtREFID9bB+KKb0OkDVzyMnN6b/d\nYg1BYxVsfAjrQgi6Sqfig4zB3c3kC9OCOU1JLwo23CCevn+g49kGVk1k7qCe\nijjLiDoCkcOpfMNzG55Slw7BNnNutuH5NWcftMEYQOpa+uehMm9Ac7VnTDoE\nVA/kgHXZ//gmnNcWlonfI96umzkADF3IA+VdSL93Z4gvu9TGrOamwIwO97TQ\n1wHpiPCUTohskZLUTARIPEr64YGRTBHdQd/3NLFj2vy3CJ9c0+ia5ao6DyUz\nBwA50Wg4TY4ABXgLKovHugsNRMw5rF9S39ebg0q9f0vjWrYPQoPzqg2AbEmS\nON2Q52Pg2KZEQsBDoKT2unst8Np2jcQmB0xZjwNxSVz+yM1zMQ8KKBY2LkOO\n4Tbb\r\n=hrtx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFYaao8626BPqvAF9CklScUqfga+gRBE4pUU8KhjdNOQIgf6KOPGIVpOGyqnd9fre3F/5guB8Uu/Wj9//Cr5xuj5w="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.6-20180803115844_1533297575967_0.31386469689852725"},"_hasShrinkwrap":false},"0.2.6-20180810101422":{"engines":{"composer":"^0.20.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.6-20180810101422","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.20.0-0","composer-cli":"^0.20.0-0","composer-client":"^0.20.0-0","composer-connector-embedded":"^0.20.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.3.0","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}},"md":{"file":"../../markdown-license.txt"}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in.\n\n## License <a name=\"license\"></a>\nHyperledger Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Hyperledger Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.6-20180810101422","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-2Ur5yPFdG/ScuYrlGpoNHbK10Rvym33kNHOGS24v8vYZyen9oae4lf204MKw0lDqzEAEkwsQfWXr7WLCMtfSdg==","shasum":"56c006e6e5852936958a252b2e31ce24a7e22cdc","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.6-20180810101422.tgz","fileCount":15,"unpackedSize":80318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbWWWCRA9TVsSAnZWagAAL5UP/i13oPY1S2O2BEyUEhGu\ncw4MOLL9fBK7KCezd4wytB9wEVS4o1xqUBtaj4o6wiCIec9F93FVmRD2TUBc\n6nIfUr7L05VZp7MaIInIHtHaBdflJUkw9tybx2gXwIhYiXN45HlBDAZtlJLM\nuho/4gnQhKz7eIlBZORLpBCFdHINBPo4uFAWC8ZxuqDn7o+KaXTvAnx8Ujqe\nEQEjip/hUJnY0sT3f/MXEcHuD0nlnXjFtE6C3KCY39mbDVgxrhbrbVyCt81A\nZQ+DT9eAxoph0T6Ym0AdtuW1JIG2Z/X5+4n2LAaxsuDJUZwdt7OMypwKWu3e\nGCCM0yUGzheZpJj7hs7Sr6tQPVMBYQkgfF0dH1AsE8wuPxgA9/pH4rYLlm/r\niZRVA5y7/ijaJK4mN77t9Agt0PhTaRe6xlb/axgsLYhrPKVKUXXaDSwtr1RY\nAVhtOj5MDqF1C5Wlf2vtKgIh2y8+N+89eGpZ5ksdcAVD+vefvSMoCt+/fpfA\nQJNy/hzJwsqS6yDP+tkOQjzFR0RzFS5loGiyk9Tl3xRTK6ykRrAvV3sbcQt5\nOFBWNCb13Ft/JoKE+9xVZLQa5D6JXYQfmlqM2S2RkiTV2ovcou8Z/PmLiwGF\nw9/P8U66ZdqNztPXy+5L+o3HWb/3T+PrXOthtKAvp8aYmzji16XOKMBjIMB2\nwKlZ\r\n=8iRx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFGtaLFMz0EB6JGbUJarmX7Ks4ajYxcS7OohjkpLa1D3AiBdAiYYyhjSWZokUrKIO4E5E8IMuSNnGb81XmL2PrGkOg=="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.6-20180810101422_1533896085914_0.5497145411324018"},"_hasShrinkwrap":false},"0.2.6-20180818002031":{"engines":{"composer":"^0.20.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.6-20180818002031","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.20.0-0","composer-cli":"^0.20.0-0","composer-client":"^0.20.0-0","composer-connector-embedded":"^0.20.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.3.0","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}},"md":{"file":"../../markdown-license.txt"}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in.\n\n## License <a name=\"license\"></a>\nHyperledger Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Hyperledger Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.6-20180818002031","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-YxHDl3sc9+cHgwCVbiULaNfadTqxfhwUOcXc61E1BYUzsnS7nY3Y07GFeanHnaCuGGrnf8SEeUcC5zmdeSokog==","shasum":"0184f067a995b52bf13f5999d20041043116f554","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.6-20180818002031.tgz","fileCount":15,"unpackedSize":80318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbd2ZoCRA9TVsSAnZWagAAwWsP/0uhd+o2yzEqmdNhb59t\n802lqAEmzGFSO1RTnTvAWjDV3612Rwgbq+hGl9t3lJtsXhNgW8HV4EmfbdQI\nXIOLhJE7xogzA71kuFwcyAXfzQGWdts2BisVsNBeDAdLAIq29FY3HOzbfRcw\nyF87slP6430srB3pFpcOrV9p5BkugOJBOFyvznRzJ9ZU3FNfVrIPApd72e5v\n5Yn4qKk5iLGrk10wWEEzefHwdYshGOVGlmadQuV4e5QiAbqT/rUDazR2Lice\niBOMatIA4asg+yeP/fuAM/MHrWeTt/0gfFjZcCpMT+n/x5I5reTddmvN3DQT\n6GL0coX1E6EI76wu6ddWKkLSDkLFzFfNUoHxfR2zloVXkFTkcfUsfGYG0Mps\nYRNcPbj1PZOfbTm22/3LB8PU67LCJqvM51b7PxlN+etqY7+h9CIGGYvx3CAR\n8ZztCju+fpA9dn/xay6r5uH+scQA0QQX1DtseshXp3AcuogVhoHnL30LZTYn\nmPgVjrzm7yA3mnwQRJ+j5O2LlNh9U2h7acJGSktGuX6xHSdx3iEgIC3jJcNB\nUyjXC72zLLJYTA4cVGiLHNUABHTLUfj5rF9hESH6hcvlwm2KukV9Yt6ucGj9\nu+xOZMv16x+BEDWwIUF0i4HvL3pHajtoi3Mjgj+kn/s7HMOBgrvYj2Emsucl\nrCCb\r\n=k0Nn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDM95iwquzLwXoK8a4G9YeyP1I97hCLrguWE+oor3BRzAIhANsuArbz/d8Z/SD0QoqHChduDN0LOsCCh1sk8CCUK8fe"}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.6-20180818002031_1534551656298_0.0336691189006455"},"_hasShrinkwrap":false},"0.2.6-20190830080042":{"engines":{"composer":"^0.20.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.6-20190830080042","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.20.0-0","composer-cli":"^0.20.0-0","composer-client":"^0.20.0-0","composer-connector-embedded":"^0.20.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.3.0","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}},"md":{"file":"../../markdown-license.txt"}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in.\n\n## License <a name=\"license\"></a>\nHyperledger Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Hyperledger Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.6-20190830080042","_npmVersion":"6.4.1","_nodeVersion":"8.16.1","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-vLTpbhoh0EfD283G6tbnVjDztUOyaIvNKRAUY3UZEECd8tGzV5pvi6NQOXsGFNV/gL/OgiyZVhtkssrrrjm3aQ==","shasum":"9dd39b230ec45027bbc98922c119e7cbf28ddd9f","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.6-20190830080042.tgz","fileCount":15,"unpackedSize":80318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdaNfDCRA9TVsSAnZWagAAdL4P/jegY12C5okZiu78+0aF\nMZMPk/XjaG16TxFc98vWXDLIlHx0np8gApB3kDc4HWaYX3ngdhXsZxLWK3rd\nr4cMQe0SoR84lb40S1+wcg0NHOyXKhz0A/6Kra+g2SGVFpPPgVCLPTbBRd/u\n5fgdtmKwGvYaDm78rmM1fXtzvTmCAFHph0pQ/V2tfky3UMRqR21Fe8ImfcIc\nRR6cGWo4Cuf0iSr9cWCMKPp1cqdH+q5anL5yXcc+fLfJFKOmdZ4lLOlP54qY\nLdvjCvEnIQHygT0UF03h9DENNJdYyE560zykLZ2qOOAynbLALtfabUQAK3Db\n+Tw8ad6JcbjvCe+kgh5p2f+GVdTnAsZ3BoA+lTWvNqmutM/uLtm109witHaz\n3w6/qFRfeVhE8DuVVBBU+wWgAn7Do7/IDsrLcIQdzHSOHx6pdxxdicB+X4qc\nneH6eDaX9hHtUewSdfljlMUx6xbp2i2G7XIj+/8VvWWtfovVaSHiY562uCK8\n64JLEjphW3tGj7zXEUy7e25ubUI7BX1NiYBMpY9MuLG26FzRDfTtyhYeZoFr\nEHWr4mNFZQa1ATDp/niSIRPYwUbhNTP0NwKiKC5zmuxKOAvAUNKJgaS8WN54\nCtRgWVBxJ1jJZRGykXlyH55htv/lhNsSHpj046psCgPDsIBqqVxV4UseESsR\npXE2\r\n=6dqr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDo4JBI9ankQ03w1j5suptIJjM4hbXVGGRrbwKIDSNaNAIhALSNFIjFD8IF/3xoNqtTCIr6oCy7L8aGi3t8BbGOuJdf"}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.6-20190830080042_1567152066838_0.38846172027528536"},"_hasShrinkwrap":false},"0.2.6-20190830080852":{"engines":{"composer":"^0.20.0"},"name":"vehicle-manufacture-network","description":"Vehicle manufacture network","networkImage":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimage.svg","networkImageanimated":"https://hyperledger.github.io/composer-sample-networks/packages/vehicle-manufacture-network/networkimageanimated.svg","version":"0.2.6-20190830080852","scripts":{"prepublish":"mkdirp ./dist && composer archive create --sourceType dir --sourceName . -a ./dist/vehicle-manufacture-network.bna","pretest":"npm run lint","lint":"eslint .","postlint":"npm run licchk","licchk":"license-check-and-add","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"mocha -t 0 --recursive"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"keywords":["vehicle","manufacture","composer","composer-network"],"author":{"name":"Hyperledger Composer"},"license":"Apache 2.0","devDependencies":{"browserfs":"^1.2.0","chai":"^3.5.0","chai-as-promised":"^6.0.0","composer-admin":"^0.20.0-0","composer-cli":"^0.20.0-0","composer-client":"^0.20.0-0","composer-connector-embedded":"^0.20.0-0","eslint":"^3.6.1","istanbul":"^0.4.5","jsdoc":"^3.5.5","license-check-and-add":"~2.3.0","mkdirp":"^0.5.1","mocha":"^3.2.0","moment":"^2.17.1"},"license-check-and-add-config":{"folder":".","license":"LICENSE.txt","exact_paths_method":"EXCLUDE","exact_paths":["composer-logs","dist","node_modules","out",".git"],"file_type_method":"EXCLUDE","file_types":[".yml"],"insert_license":false,"license_formats":{"js|cto|acl|qry":{"prepend":"/*","append":" */","eachLine":{"prepend":" * "}},"md":{"file":"../../markdown-license.txt"}}},"readme":"# Vehicle Manufacture Network\n\n> This network tracks the manufacture of vehicles from an initial order request through to their completion by the manufacturer. A regulator is able to provide oversight throughout this whole process. \n\n## Models within this business network\n\n### Participants\n`Person` `Manufacturer` `Regulator`\n\n### Assets\n\n`Order` `Vehicle`\n\n### Transactions\n\n`PlaceOrder` `UpdateOrderStatus` `SetupDemo`\n\n### Events\n\n`PlaceOrderEvent` `UpdateOrderStatusEvent`\n\n## Example use of this business network\nA `Person` uses a manufacturer's application to build their desired car and order it. The application submits a `PlaceOrder` transaction which creates a new `Order` asset containing the details of the vehicle the `Person` wishes to have made for them. The `Manufacturer` begins work on the car and as it proceeds through stages of production the `Manufacturer` submits `UpdateOrderStatus` transactions to mark the change in status for the `Order` e.g. updating the status from PLACED to SCHEDULED_FOR_MANUFACTURE. Once the `Manufacturer` has completed production for the `Order` they register the car by submitting an `UpdateOrderStatus` transaction with the status VIN_ASSIGNED (also providing the VIN to register against) and a `Vehicle` asset is formally added to the registry using the details specified in the `Order`. Once the car is registered then the `Manufacturer` submits an `UpdateOrderStatus` transaction with a status of OWNER_ASSIGNED at which point the owner field of the `Vehicle` is set to match the orderer field of the `Order`. The regulator would perform oversight over this whole process. \n\n## Testing this network within playground\nNavigate to the **Test** tab and then submit a `SetupDemo` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.SetupDemo\"\n}\n```\n\nThis will generate three `Manufacturer` participants, fourteen `Person` participants, a single `Regulator` participant and thirteen `Vehicle` assets. \n\nNext order your car (an orange Arium Gamora) by submitting a PlaceOrder transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.PlaceOrder\",\n  \"orderId\": \"1234\",\n  \"vehicleDetails\": {\n    \"$class\": \"org.acme.vehicle_network.VehicleDetails\",\n    \"make\": \"resource:org.acme.vehicle_network.Manufacturer#Arium\",\n    \"modelType\": \"Gamora\",\n    \"colour\": \"Sunburst Orange\"\n  },\n  \"options\": {\n    \"trim\": \"executive\",\n    \"interior\": \"red rum\",\n    \"extras\": [\"tinted windows\", \"extended warranty\"]\n  },\n  \"orderer\": \"resource:org.acme.vehicle_network.Person#Paul\"\n}\n```\n\nThis `PlaceOrder` transaction generates a new `Order` asset in the registry and emits a `PlaceOrderEvent` event.\n\nNow simulate the order being accepted by the manufacturer by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"SCHEDULED_FOR_MANUFACTURE\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nSimulate the manufacturer registering the vehicle with the regulator by submitting an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"VIN_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": \"abc123\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, create a new `Vehicle` based of that `Order` in the asset registry and emits an `UpdateOrderStatusEvent` event. At this stage as the vehicle does not have an owner assigned to it, its status is declared as OFF_THE_ROAD.\n\nNext assign the owner of the vehicle using an `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"OWNER_ASSIGNED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\",\n  \"vin\": 'abc123'\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry, update the `Vehicle` asset with VIN abc123 to have an owner of Paul (who we intially marked as the orderer in the `PlaceOrder` transaction) and status of ACTIVE and also emits an `UpdateOrderStatusEvent` event.\n\nFinally complete the ordering process by marking the order as `DELIVERED` through submitting another `UpdateOrderStatus` transaction:\n\n```\n{\n  \"$class\": \"org.acme.vehicle_network.UpdateOrderStatus\",\n  \"orderStatus\": \"DELIVERED\",\n  \"order\": \"resource:org.acme.vehicle_network.Order#1234\"\n}\n```\n\nThis `UpdateOrderStatus` transaction updates the orderStatus of the `Order` with orderId 1234 in the asset registry and emits an `UpdateOrderStatusEvent` event.\n\nThis Business Network definition has been used to create demo applications that simulate the scenario outlined above. You can find more detail on these at https://github.com/hyperledger/composer-sample-applications/tree/master/packages/vehicle-manufacture\n\n## Permissions in this business network for modelled participants\nWithin this network permissions are outlines for the participants outlining what they can and can't do. The rules in the permissions.acl file explicitly ALLOW participants to perform actions. Actions not written for a participant in that file are blocked.\n### Regulator\n`RegulatorAdminUser` - Gives the regulator permission to perform ALL actions on ALL resources\n\n### Manufacturer\n`ManufacturerUpdateOrder` - Allows a manufacturer to UPDATE an Order asset's data only using an UpdateOrderStatus transaction. The manufacturer must also be specified as the *vehicleDetails.make* in the Order asset.\n\n`ManufacturerUpdateOrderStatus` - Allows a manufacturer to CREATE and READ UpdateOrderStatus transactions that refer to an order that they are specified as the *vehicleDetails.make* in. \n\n`ManufacturerReadOrder` - Allows a manufacturer to READ an Order asset that they are specified as the *vehicleDetails.make* in.\n\n`ManufacturerCreateVehicle` - Allows a manufacturer to CREATE a vehicle asset only using a UpdateOrderStatus transaction. The transaction must have an *orderStatus* of VIN_ASSIGNED and the Order asset have the manufacturer specified as the *vehicleDetails.make*.\n\n`ManufacturerReadVehicle` - Allows a manufacturer to READ a Vehicle asset that they are specified as the *vehicleDetails.make* in.\n\n### Person\n`PersonMakeOrder` - Gives the person permission to CREATE an Order asset only using a PlaceOrder transaction. The person must also be specified as the *orderer* in the Order asset.\n\n`PersonPlaceOrder` - Gives the person permission to CREATE and READ PlaceOrder transactions that refer to an order that they are specified as *orderer* in.\n\n`PersonReadOrder` - Gives the person permission to READ an Order asset that they are specified as the *orderer* in.\n\n## License <a name=\"license\"></a>\nHyperledger Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Hyperledger Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.","readmeFilename":"README.md","bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"homepage":"https://github.com/hyperledger/composer-sample-networks#readme","_id":"vehicle-manufacture-network@0.2.6-20190830080852","_npmVersion":"6.4.1","_nodeVersion":"8.16.1","_npmUser":{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"},"dist":{"integrity":"sha512-RZ5k+ZsN7bxBIauKRfvnFKVbBuPYX2OPQXnfl6oe/sbvMp6nBkUU68wQVaPf8AOAwbhJg3bQg2zmPMppsPB4/g==","shasum":"f80b413de392630de514cf97f8bdcba67abe53bb","tarball":"https://registry.npmjs.org/vehicle-manufacture-network/-/vehicle-manufacture-network-0.2.6-20190830080852.tgz","fileCount":15,"unpackedSize":80318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdaNmxCRA9TVsSAnZWagAAi6gP/1+l2CKTT0151/dyYVs+\nqaiZRrDCk8Tm8VWqf+9B1j9M4B3/aKDHxOz0KILK32/Hs+zUjMST1PvBr0kw\n64VQaM24Jb62KJsHrUZmgm1U0Qe/VEVtFaMmGLOeRq7YxEY7vgo5+pWQ3gZ6\ns3pkyHgJx2YzLc5Qtd14cTv5JOEnUWp2EUrlfSB+8BLRyqxLEgSut4BIaIYK\n+uYXPSXnHbN3G/UiUDJWXVqLJZ0r/XAVe4IRR7rvSUt0X3jgyRP9rkeVxQdO\n7I8ZyOInqwKBt+L6C8G5VZfxx4UVl/1C9WyDscvRioWc2x2Hqn1dTVbeg6am\nUqFp4O8UMJoKyNXXWLVZH2rEttWsp84m8qZzaZdfTJbfeRPSFALg0LkCepYk\nyUwlQ51/M5yo6PNptF0VZM9p2RhRR1lTeGk8o3ESCQZHAlx+wsnXsPSfyba3\nrzT7nv+O7G11yX1r5vRzj/nJBKaWpsDMGhvkdlkO9/7eYWpaSbx55350/K2q\ny0bmlJYK7rNXOuBZnsQk6QgxKUInDFJHQ70YJgaaqJEY3bs/rNl4ZgP7Av6U\nD98v10ejzk1XPcLTJelmwrw4nHSIvi1vIEHntTI825cdAszXISvNVymZ/8JV\n2y9H2SWzcA08SvSkGu4WWFuEauCJz5lkk50hOd3a8OzLSz4ENRMU3ZzNZpnB\nbB0f\r\n=eqNe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCACClFK+KjIKjLLHHhcqN7XM2GYRXHvOFwxT9WEvnyYgIgCcdDWLbH3n9/36dCPXbG/PMUXDVSqPTICj61JMK5kC0="}]},"maintainers":[{"name":"hyperledger-ci","email":"collab-it+hyp+ci@linuxfoundation.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vehicle-manufacture-network_0.2.6-20190830080852_1567152560578_0.0204369916481566"},"_hasShrinkwrap":false}},"time":{"created":"2018-02-09T10:50:16.941Z","0.1.14-20180209104957":"2018-02-09T10:50:17.767Z","modified":"2022-05-23T04:35:30.595Z","0.2.1-20180209105111":"2018-02-09T10:51:34.853Z","0.2.1":"2018-02-28T15:48:51.424Z","0.2.2-20180228181717":"2018-02-28T18:17:33.920Z","0.2.2-20180228214049":"2018-02-28T21:41:08.479Z","0.1.14-20180301124701":"2018-03-01T12:47:17.898Z","0.2.2-20180301135319":"2018-03-01T13:53:45.253Z","0.1.14":"2018-03-14T15:15:50.132Z","0.2.2":"2018-03-14T15:15:56.770Z","0.2.3-20180314152012":"2018-03-14T15:20:28.893Z","0.2.3-20180314171154":"2018-03-14T17:12:17.545Z","0.2.3-20180326082813":"2018-03-26T08:28:34.023Z","0.2.3-20180407081039":"2018-04-07T08:10:56.461Z","0.2.3":"2018-04-07T08:19:15.538Z","0.2.3-20180407081906":"2018-04-07T08:19:20.498Z","0.2.4-20180407084500":"2018-04-07T08:45:18.120Z","0.2.4-20180419125626":"2018-04-19T12:56:56.300Z","0.2.4-20180426144018":"2018-04-26T14:40:46.971Z","0.2.4-20180509083608":"2018-05-09T08:36:34.661Z","0.2.4-20180523082558":"2018-05-23T08:26:39.599Z","0.2.4-20180530105641":"2018-05-30T10:57:16.461Z","0.2.4-20180530112042":"2018-05-30T11:21:25.229Z","0.2.4":"2018-05-30T12:15:58.033Z","0.2.5-20180530122249":"2018-05-30T12:23:47.236Z","0.2.5-20180530152559":"2018-05-30T15:26:26.510Z","0.2.5":"2018-05-30T15:29:23.415Z","0.2.6-20180530153450":"2018-05-30T15:35:52.574Z","0.2.6-20180803115844":"2018-08-03T11:59:36.123Z","0.2.6-20180810101422":"2018-08-10T10:14:46.029Z","0.2.6-20180818002031":"2018-08-18T00:20:56.431Z","0.2.6-20190830080042":"2019-08-30T08:01:06.992Z","0.2.6-20190830080852":"2019-08-30T08:09:20.724Z"},"maintainers":[{"email":"collab-it+hyp+ci@linuxfoundation.org","name":"hyperledger-ci"}],"description":"Vehicle manufacture network","homepage":"https://github.com/hyperledger/composer-sample-networks#readme","keywords":["vehicle","manufacture","composer","composer-network"],"repository":{"type":"git","url":"git+https://github.com/hyperledger/composer-sample-networks.git"},"author":{"name":"Hyperledger Composer"},"bugs":{"url":"https://github.com/hyperledger/composer-sample-networks/issues"},"license":"Apache 2.0","readme":"","readmeFilename":""}