├── .gitignore ├── 0.secure.blockchain.ibm.com.cert ├── README.md ├── ServiceCredentials.json ├── config.json ├── helloblockchain.js ├── package.json ├── servicecreds.png ├── src └── chaincode │ ├── chaincode_example.go │ └── vendor │ └── github.com │ └── hyperledger │ └── fabric │ ├── consensus │ ├── consensus.go │ ├── controller │ │ └── controller.go │ ├── executor │ │ ├── executor.go │ │ └── executor_test.go │ ├── helper │ │ ├── engine.go │ │ ├── engine_test.go │ │ ├── handler.go │ │ ├── handler_test.go │ │ ├── helper.go │ │ ├── helper_test.go │ │ └── persist │ │ │ ├── persist.go │ │ │ └── persist_test.go │ ├── noops │ │ ├── config.yaml │ │ ├── configutil.go │ │ ├── noops.go │ │ └── txq.go │ ├── pbft │ │ ├── batch.go │ │ ├── batch_test.go │ │ ├── broadcast.go │ │ ├── broadcast_test.go │ │ ├── config.yaml │ │ ├── deduplicator.go │ │ ├── external.go │ │ ├── fuzz_test.go │ │ ├── messages.pb.go │ │ ├── messages.proto │ │ ├── mock_consumer_test.go │ │ ├── mock_ledger_test.go │ │ ├── mock_network_test.go │ │ ├── mock_utilities_test.go │ │ ├── pbft-core.go │ │ ├── pbft-core_mock_test.go │ │ ├── pbft-core_test.go │ │ ├── pbft-persist.go │ │ ├── pbft.go │ │ ├── persist-forward.go │ │ ├── requeststore.go │ │ ├── requeststore_test.go │ │ ├── sign.go │ │ ├── util.go │ │ └── viewchange.go │ └── util │ │ ├── events │ │ ├── events.go │ │ └── events_test.go │ │ ├── messagefan.go │ │ └── messagefan_test.go │ ├── core │ ├── admin.go │ ├── admin_test.go │ ├── chaincode │ │ ├── chaincode_support.go │ │ ├── chaincodetest.yaml │ │ ├── config.go │ │ ├── exectransaction.go │ │ ├── exectransaction_test.go │ │ ├── handler.go │ │ ├── platforms │ │ │ ├── car │ │ │ │ ├── hash.go │ │ │ │ ├── package.go │ │ │ │ ├── platform.go │ │ │ │ └── test │ │ │ │ │ ├── car_test.go │ │ │ │ │ └── org.hyperledger.chaincode.example02-0.1-SNAPSHOT.car │ │ │ ├── golang │ │ │ │ ├── hash.go │ │ │ │ ├── hash_test.go │ │ │ │ ├── hashtestfiles │ │ │ │ │ ├── a.txt │ │ │ │ │ ├── a │ │ │ │ │ │ ├── a1.txt │ │ │ │ │ │ └── a2.txt │ │ │ │ │ ├── b.txt │ │ │ │ │ └── b │ │ │ │ │ │ ├── c.txt │ │ │ │ │ │ └── c │ │ │ │ │ │ └── c1.txt │ │ │ │ ├── package.go │ │ │ │ └── platform.go │ │ │ ├── java │ │ │ │ ├── hash.go │ │ │ │ ├── hash_test.go │ │ │ │ ├── package.go │ │ │ │ ├── platform.go │ │ │ │ └── test │ │ │ │ │ └── java_test.go │ │ │ └── platforms.go │ │ ├── shim │ │ │ ├── chaincode.go │ │ │ ├── crypto │ │ │ │ ├── attr │ │ │ │ │ ├── attr_support.go │ │ │ │ │ ├── attr_support_test.go │ │ │ │ │ └── test_resources │ │ │ │ │ │ ├── prek0.dump │ │ │ │ │ │ ├── tcert.dump │ │ │ │ │ │ ├── tcert_bad.dump │ │ │ │ │ │ └── tcert_clear.dump │ │ │ │ ├── crypto.go │ │ │ │ └── ecdsa │ │ │ │ │ ├── ecdsa.go │ │ │ │ │ ├── ecdsa_test.go │ │ │ │ │ ├── hash.go │ │ │ │ │ └── x509.go │ │ │ ├── handler.go │ │ │ ├── inprocstream.go │ │ │ ├── interfaces.go │ │ │ ├── java │ │ │ │ ├── build.gradle │ │ │ │ ├── javabuild.sh │ │ │ │ └── src │ │ │ │ │ └── main │ │ │ │ │ └── java │ │ │ │ │ ├── commons-logging.properties │ │ │ │ │ └── org │ │ │ │ │ └── hyperledger │ │ │ │ │ └── java │ │ │ │ │ ├── fsm │ │ │ │ │ ├── CBDesc.java │ │ │ │ │ ├── Callback.java │ │ │ │ │ ├── CallbackKey.java │ │ │ │ │ ├── CallbackType.java │ │ │ │ │ ├── Event.java │ │ │ │ │ ├── EventDesc.java │ │ │ │ │ ├── EventKey.java │ │ │ │ │ ├── FSM.java │ │ │ │ │ ├── Transitioner.java │ │ │ │ │ └── exceptions │ │ │ │ │ │ ├── AsyncException.java │ │ │ │ │ │ ├── CancelledException.java │ │ │ │ │ │ ├── InTrasistionException.java │ │ │ │ │ │ ├── InvalidEventException.java │ │ │ │ │ │ ├── NoTransitionException.java │ │ │ │ │ │ ├── NotInTransitionException.java │ │ │ │ │ │ └── UnknownEventException.java │ │ │ │ │ ├── helper │ │ │ │ │ └── Channel.java │ │ │ │ │ └── shim │ │ │ │ │ ├── ChaincodeBase.java │ │ │ │ │ ├── ChaincodeStub.java │ │ │ │ │ ├── Handler.java │ │ │ │ │ └── NextStateInfo.java │ │ │ ├── mockstub.go │ │ │ ├── mockstub_test.go │ │ │ ├── shim_test.go │ │ │ ├── table.pb.go │ │ │ └── table.proto │ │ └── testdata │ │ │ ├── server1.key │ │ │ └── server1.pem │ ├── comm │ │ ├── config.go │ │ ├── connection.go │ │ └── connection_test.go │ ├── config.go │ ├── config │ │ └── config.go │ ├── container │ │ ├── ccintf │ │ │ └── ccintf.go │ │ ├── config.go │ │ ├── controller.go │ │ ├── controller_test.go │ │ ├── dockercontroller │ │ │ ├── dockercontroller.go │ │ │ └── dockercontroller_test.go │ │ ├── inproccontroller │ │ │ ├── inproccontroller.go │ │ │ └── inprocstream.go │ │ ├── util │ │ │ ├── dockerutil.go │ │ │ ├── dockerutil_test.go │ │ │ └── writer.go │ │ ├── vm.go │ │ └── vm_test.go │ ├── crypto │ │ ├── attributes │ │ │ ├── attributes.go │ │ │ ├── attributes_test.go │ │ │ ├── proto │ │ │ │ ├── attributes.pb.go │ │ │ │ └── attributes.proto │ │ │ └── test_resources │ │ │ │ ├── prek0.dump │ │ │ │ └── tcert.dump │ │ ├── client.go │ │ ├── client_confidentiality.go │ │ ├── client_crypto.go │ │ ├── client_ecert_handler.go │ │ ├── client_impl.go │ │ ├── client_ks.go │ │ ├── client_state.go │ │ ├── client_tca.go │ │ ├── client_tcert.go │ │ ├── client_tcert_handler.go │ │ ├── client_tcert_pool.go │ │ ├── client_tcert_pool_mt.go │ │ ├── client_tcert_pool_st.go │ │ ├── client_tx.go │ │ ├── crypto.go │ │ ├── crypto_profile.sh │ │ ├── crypto_protocol.go │ │ ├── crypto_settings.go │ │ ├── crypto_settings_test.go │ │ ├── crypto_test.go │ │ ├── crypto_test.yaml │ │ ├── node.go │ │ ├── node_conf.go │ │ ├── node_crypto.go │ │ ├── node_eca.go │ │ ├── node_grpc.go │ │ ├── node_impl.go │ │ ├── node_ks.go │ │ ├── node_log.go │ │ ├── node_sign.go │ │ ├── node_tca.go │ │ ├── node_tlsca.go │ │ ├── peer.go │ │ ├── peer_eca.go │ │ ├── peer_impl.go │ │ ├── peer_ks.go │ │ ├── primitives │ │ │ ├── aes.go │ │ │ ├── aes_test.go │ │ │ ├── crypto.go │ │ │ ├── ecdsa.go │ │ │ ├── ecies │ │ │ │ ├── engine.go │ │ │ │ ├── es.go │ │ │ │ ├── kg.go │ │ │ │ ├── params.go │ │ │ │ ├── pk.go │ │ │ │ ├── sk.go │ │ │ │ ├── spi.go │ │ │ │ └── spi_test.go │ │ │ ├── elliptic.go │ │ │ ├── hash.go │ │ │ ├── init.go │ │ │ ├── keys.go │ │ │ ├── primitives_test.go │ │ │ ├── random.go │ │ │ └── x509.go │ │ ├── utils │ │ │ ├── conf.go │ │ │ ├── errs.go │ │ │ ├── io.go │ │ │ └── slice.go │ │ ├── validator.go │ │ ├── validator_confidentiality.go │ │ ├── validator_impl.go │ │ ├── validator_state.go │ │ └── validator_validity_period.go │ ├── db │ │ ├── db.go │ │ ├── db_test.go │ │ └── db_test_exports.go │ ├── devops.go │ ├── devops_test.go │ ├── discovery │ │ ├── discovery.go │ │ └── discovery_test.go │ ├── fsm.go │ ├── fsm_test.go │ ├── ledger │ │ ├── README.md │ │ ├── benchmark_scripts │ │ │ ├── buckettree │ │ │ │ ├── buckettree.sh │ │ │ │ ├── plot.pg │ │ │ │ └── plots │ │ │ │ │ └── all.pg │ │ │ ├── common.sh │ │ │ ├── ledger │ │ │ │ ├── db.sh │ │ │ │ ├── randomTransactions.sh │ │ │ │ ├── singleKeyTransaction.sh │ │ │ │ └── test.yaml │ │ │ └── statemgmt │ │ │ │ ├── cryptoHash.sh │ │ │ │ └── plot.pg │ │ ├── blockchain.go │ │ ├── blockchain_indexes.go │ │ ├── blockchain_indexes_async.go │ │ ├── blockchain_indexes_async_test.go │ │ ├── blockchain_indexes_test.go │ │ ├── blockchain_test.go │ │ ├── genesis │ │ │ ├── genesis.go │ │ │ ├── genesis_test.go │ │ │ └── genesis_test.yaml │ │ ├── ledger.go │ │ ├── ledger_test.go │ │ ├── ledger_test_exports.go │ │ ├── perf_test.go │ │ ├── perfstat │ │ │ ├── stat.go │ │ │ ├── stat_holder.go │ │ │ └── stat_test.go │ │ ├── pkg_test.go │ │ ├── statemgmt │ │ │ ├── buckettree │ │ │ │ ├── bucket_cache.go │ │ │ │ ├── bucket_cache_test.go │ │ │ │ ├── bucket_hash.go │ │ │ │ ├── bucket_hash_test.go │ │ │ │ ├── bucket_key.go │ │ │ │ ├── bucket_key_test.go │ │ │ │ ├── bucket_node.go │ │ │ │ ├── bucket_node_test.go │ │ │ │ ├── bucket_tree_delta.go │ │ │ │ ├── bucket_tree_delta_test.go │ │ │ │ ├── config.go │ │ │ │ ├── config_test.go │ │ │ │ ├── data_key.go │ │ │ │ ├── data_key_test.go │ │ │ │ ├── data_node.go │ │ │ │ ├── data_nodes_delta.go │ │ │ │ ├── data_nodes_delta_test.go │ │ │ │ ├── db_helper.go │ │ │ │ ├── perf_test.go │ │ │ │ ├── pkg_test.go │ │ │ │ ├── range_scan_iterator.go │ │ │ │ ├── range_scan_iterator_test.go │ │ │ │ ├── snapshot_iterator.go │ │ │ │ ├── snapshot_iterator_test.go │ │ │ │ ├── state_impl.go │ │ │ │ ├── state_impl_test.go │ │ │ │ └── test.yaml │ │ │ ├── commons.go │ │ │ ├── hashable_state.go │ │ │ ├── perf_test.go │ │ │ ├── pkg_test.go │ │ │ ├── raw │ │ │ │ ├── state_impl.go │ │ │ │ └── state_impl_test.go │ │ │ ├── state │ │ │ │ ├── composite_range_scan_iterator.go │ │ │ │ ├── composite_range_scan_iterator_test.go │ │ │ │ ├── config.go │ │ │ │ ├── pkg_test.go │ │ │ │ ├── state.go │ │ │ │ ├── state_snapshot.go │ │ │ │ ├── state_snapshot_test.go │ │ │ │ ├── state_test.go │ │ │ │ └── test.yaml │ │ │ ├── state_delta.go │ │ │ ├── state_delta_iterator.go │ │ │ ├── state_delta_iterator_test.go │ │ │ ├── state_delta_test.go │ │ │ ├── test_exports.go │ │ │ └── trie │ │ │ │ ├── byteTrieKey.go │ │ │ │ ├── hexTrieKey.go │ │ │ │ ├── pkg_test.go │ │ │ │ ├── range_scan_iterator.go │ │ │ │ ├── range_scan_iterator_test.go │ │ │ │ ├── snapshot_iterator.go │ │ │ │ ├── snapshot_iterator_test.go │ │ │ │ ├── state_trie.go │ │ │ │ ├── state_trie_test.go │ │ │ │ ├── test.yaml │ │ │ │ ├── trie_db_helper.go │ │ │ │ ├── trie_delta.go │ │ │ │ ├── trie_key.go │ │ │ │ ├── trie_node.go │ │ │ │ └── trie_node_test.go │ │ ├── test.yaml │ │ ├── test │ │ │ ├── ledger_suite_test.go │ │ │ ├── ledger_test.go │ │ │ └── test.yaml │ │ ├── testutil │ │ │ ├── test_util.go │ │ │ └── test_util_test.go │ │ └── util │ │ │ ├── util.go │ │ │ └── util_test.go │ ├── peer │ │ ├── config.go │ │ ├── errors.go │ │ ├── handler.go │ │ ├── handler_sync_state.go │ │ ├── peer.go │ │ ├── peer_test.go │ │ └── statetransfer │ │ │ ├── statetransfer.go │ │ │ ├── statetransfer_mock_test.go │ │ │ └── statetransfer_test.go │ ├── rest │ │ ├── api.go │ │ ├── api_test.go │ │ ├── rest_api.go │ │ ├── rest_api.json │ │ ├── rest_api_test.go │ │ ├── rest_test.yaml │ │ └── rest_util.go │ ├── system_chaincode │ │ ├── api │ │ │ └── sysccapi.go │ │ ├── config.go │ │ ├── importsysccs.go │ │ ├── samplesyscc │ │ │ └── samplesyscc.go │ │ └── systemchaincode_test.go │ └── util │ │ ├── utils.go │ │ └── utils_test.go │ ├── devenv │ ├── README.md │ ├── Vagrantfile │ ├── compile_protos.sh │ ├── failure-motd.in │ ├── golang_buildcmd.sh │ ├── golang_buildpkg.sh │ ├── images │ │ └── openchain-dev-env-deployment-diagram.png │ ├── limits.conf │ ├── setup.sh │ ├── setupRHELonZ.sh │ └── setupUbuntuOnPPC64le.sh │ ├── docs │ ├── API │ │ ├── AttributesUsage.md │ │ ├── ChaincodeAPI.md │ │ ├── CoreAPI.md │ │ ├── MemberServicesAPI.md │ │ └── Samples │ │ │ ├── Sample_1.js │ │ │ └── Sample_1.zip │ ├── CONTRIBUTING.md │ ├── FAQ │ │ ├── chaincode_FAQ.md │ │ ├── confidentiality_FAQ.md │ │ ├── consensus_FAQ.md │ │ ├── identity_management_FAQ.md │ │ └── usage_FAQ.md │ ├── Gerrit │ │ ├── best-practices.md │ │ ├── changes.md │ │ ├── gerrit.md │ │ ├── lf-account.md │ │ └── reviewing.md │ ├── MAINTAINERS.md │ ├── Setup │ │ ├── Chaincode-setup.md │ │ ├── JAVAChaincode.md │ │ ├── Network-setup.md │ │ ├── NodeSDK-setup.md │ │ ├── TLSSetup.md │ │ ├── ca-setup.md │ │ └── logging-control.md │ ├── Style-guides │ │ └── go-style.md │ ├── SystemChaincode-noop.md │ ├── abstract_v1.md │ ├── biz │ │ ├── DCO1.1.txt │ │ ├── images │ │ │ ├── Canonical-Use-Cases_Asset-Depository.png │ │ │ ├── Canonical-Use-Cases_B2BContract.png │ │ │ ├── Canonical-Use-Cases_Direct-Communication.png │ │ │ ├── Canonical-Use-Cases_Interoperability-of-Assets.png │ │ │ ├── Canonical-Use-Cases_Manufacturing-Supply-Chain.png │ │ │ ├── Canonical-Use-Cases_One-Trade-One-Contract.png │ │ │ ├── Canonical-Use-Cases_Separation-of-Asset-Ownership-and-Custodians-Duties.png │ │ │ ├── assetrepository.png │ │ │ ├── b2bcontract.png │ │ │ ├── corporate_action.png │ │ │ ├── exchange.png │ │ │ ├── interoperability_of_assets.png │ │ │ ├── one_contract_per_trade.png │ │ │ ├── separation_of_ownship_and_custodyservice.png │ │ │ └── supplychain.png │ │ └── usecases.md │ ├── custom_theme │ │ └── searchbox.html │ ├── dev-setup │ │ ├── build.md │ │ ├── devenv.md │ │ └── headers.txt │ ├── glossary.md │ ├── images │ │ ├── Architecture_Step-1.png │ │ ├── Architecture_Step-2.png │ │ ├── Architecture_Step-3.png │ │ ├── Architecture_Step-4.png │ │ ├── BuildStatus.png │ │ ├── Canonical-Use-Cases_Asset-Depository.png │ │ ├── Canonical-Use-Cases_B2BContract.png │ │ ├── Canonical-Use-Cases_Direct-Communication.png │ │ ├── Canonical-Use-Cases_Interoperability-of-Assets.png │ │ ├── Canonical-Use-Cases_Manufacturing-Supply-Chain.png │ │ ├── Canonical-Use-Cases_One-Trade-One-Contract.png │ │ ├── Canonical-Use-Cases_Separation-of-Asset-Ownership-and-Custodians-Duties.png │ │ ├── Travis_Settings.png │ │ ├── Travis_service.png │ │ ├── attributes_flow.png │ │ ├── refarch-api.png │ │ ├── refarch-app.png │ │ ├── refarch-block.png │ │ ├── refarch-chain.png │ │ ├── refarch-memb.png │ │ ├── refarch.png │ │ ├── sec-RACapp-depl.png │ │ ├── sec-RACapp-inv.png │ │ ├── sec-entities.png │ │ ├── sec-example-1.png │ │ ├── sec-example-2.png │ │ ├── sec-firstrel-1.jpg │ │ ├── sec-firstrel-1.png │ │ ├── sec-firstrel-2.png │ │ ├── sec-firstrel-depl.png │ │ ├── sec-firstrel-inv.png │ │ ├── sec-futrel-depl.png │ │ ├── sec-futrel-inv.png │ │ ├── sec-memserv-components.png │ │ ├── sec-registration-detailed.png │ │ ├── sec-registration-high-level.png │ │ ├── sec-request-tcerts-deployment.png │ │ ├── sec-request-tcerts-invocation.png │ │ ├── sec-sec-arch.png │ │ ├── sec-sources-1.pptx │ │ ├── sec-sources-2.pptx │ │ ├── sec-txconf-v1.2.pptx │ │ ├── sec-usrconf-deploy-interm.png │ │ ├── sec-usrconf-deploy.png │ │ ├── sec-usrconf-invoke-interm.png │ │ ├── sec-usrconf-invoke.png │ │ ├── top-multi-peer.png │ │ ├── top-single-peer.png │ │ └── world_view.png │ ├── index.md │ ├── nodeSDK │ │ ├── app-developer-env-setup.md │ │ ├── app-overview.md │ │ ├── node-sdk-guide.md │ │ ├── node-sdk-indepth.md │ │ ├── sample-standalone-app.md │ │ └── sample-web-app.md │ ├── protocol-spec.md │ ├── protocol-spec_zh.md │ ├── releases.md │ ├── requirements.txt │ ├── starter │ │ └── fabric-starter-kit.md │ ├── tech │ │ ├── application-ACL.md │ │ ├── attributes.md │ │ └── best-practices.md │ ├── v0.6_migration.md │ └── wiki-images │ │ ├── sdk-current.png │ │ └── sdk-future.png │ ├── events │ ├── config.go │ ├── consumer │ │ ├── adapter.go │ │ └── consumer.go │ ├── events_test.go │ └── producer │ │ ├── eventhelper.go │ │ ├── events.go │ │ ├── handler.go │ │ ├── producer.go │ │ └── register_internal_events.go │ ├── flogging │ ├── logging.go │ └── logging_test.go │ ├── gotools │ └── Makefile │ ├── membersrvc │ ├── Dockerfile │ ├── ca │ │ ├── aca.go │ │ ├── aca_test.go │ │ ├── acap.go │ │ ├── ca.go │ │ ├── ca_test.go │ │ ├── ca_test.yaml │ │ ├── client_grpc.go │ │ ├── eca.go │ │ ├── eca_test.go │ │ ├── ecaa.go │ │ ├── ecap.go │ │ ├── membersrvc_test.go │ │ ├── tca.go │ │ ├── tca_test.go │ │ ├── tcaa.go │ │ ├── tcap.go │ │ ├── test_resources │ │ │ ├── ecert_test_user0.dump │ │ │ ├── ecert_test_user1.dump │ │ │ ├── ecert_test_user2.dump │ │ │ ├── key_test_user0.dump │ │ │ ├── key_test_user1.dump │ │ │ └── key_test_user2.dump │ │ ├── tlsca.go │ │ ├── tlsca_test.go │ │ ├── util.go │ │ └── util_test.go │ ├── membersrvc.yaml │ ├── protos │ │ ├── ca.pb.go │ │ └── ca.proto │ └── server.go │ ├── metadata │ └── metadata.go │ ├── peer │ ├── chaincode │ │ ├── chaincode.go │ │ ├── common.go │ │ ├── common_test.go │ │ ├── deploy.go │ │ ├── invoke.go │ │ └── query.go │ ├── common │ │ └── common.go │ ├── core.yaml │ ├── main.go │ ├── main_test.go │ ├── network │ │ ├── list.go │ │ ├── list_test.go │ │ ├── login.go │ │ └── network.go │ ├── node │ │ ├── node.go │ │ ├── start.go │ │ ├── status.go │ │ └── stop.go │ ├── util │ │ └── util.go │ └── version │ │ └── version.go │ ├── protos │ ├── api.pb.go │ ├── api.proto │ ├── block.go │ ├── block_test.go │ ├── chaincode.pb.go │ ├── chaincode.proto │ ├── chaincodeevent.pb.go │ ├── chaincodeevent.proto │ ├── devops.pb.go │ ├── devops.proto │ ├── events.pb.go │ ├── events.proto │ ├── fabric.pb.go │ ├── fabric.proto │ ├── init.go │ ├── server_admin.pb.go │ ├── server_admin.proto │ ├── transaction.go │ └── transaction_test.go │ ├── pub │ ├── fabric-baseimage.md │ ├── fabric-membersrvc.md │ └── fabric-peer.md │ └── vendor │ ├── github.com │ ├── BurntSushi │ │ └── toml │ │ │ ├── COMPATIBLE │ │ │ ├── COPYING │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── decode.go │ │ │ ├── decode_meta.go │ │ │ ├── doc.go │ │ │ ├── encode.go │ │ │ ├── encoding_types.go │ │ │ ├── encoding_types_1.1.go │ │ │ ├── lex.go │ │ │ ├── parse.go │ │ │ ├── session.vim │ │ │ ├── type_check.go │ │ │ └── type_fields.go │ ├── Sirupsen │ │ └── logrus │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── LICENSE~a6943e7452c65be4e907893e3eefdaa186cee610 │ │ │ ├── README.md │ │ │ ├── README.md~a6943e7452c65be4e907893e3eefdaa186cee610 │ │ │ ├── alt_exit.go │ │ │ ├── doc.go │ │ │ ├── entry.go │ │ │ ├── entry.go~a6943e7452c65be4e907893e3eefdaa186cee610 │ │ │ ├── exported.go │ │ │ ├── exported.go~a6943e7452c65be4e907893e3eefdaa186cee610 │ │ │ ├── formatter.go │ │ │ ├── formatter.go~a6943e7452c65be4e907893e3eefdaa186cee610 │ │ │ ├── hooks.go │ │ │ ├── hooks.go~a6943e7452c65be4e907893e3eefdaa186cee610 │ │ │ ├── json_formatter.go │ │ │ ├── json_formatter.go~a6943e7452c65be4e907893e3eefdaa186cee610 │ │ │ ├── logger.go │ │ │ ├── logger.go~a6943e7452c65be4e907893e3eefdaa186cee610 │ │ │ ├── logrus.go │ │ │ ├── logrus.go~a6943e7452c65be4e907893e3eefdaa186cee610 │ │ │ ├── terminal_bsd.go │ │ │ ├── terminal_darwin.go │ │ │ ├── terminal_freebsd.go │ │ │ ├── terminal_linux.go │ │ │ ├── terminal_linux.go~a6943e7452c65be4e907893e3eefdaa186cee610 │ │ │ ├── terminal_notwindows.go │ │ │ ├── terminal_notwindows.go~a6943e7452c65be4e907893e3eefdaa186cee610 │ │ │ ├── terminal_openbsd.go │ │ │ ├── terminal_solaris.go │ │ │ ├── terminal_windows.go │ │ │ ├── terminal_windows.go~a6943e7452c65be4e907893e3eefdaa186cee610 │ │ │ ├── text_formatter.go │ │ │ ├── text_formatter.go~a6943e7452c65be4e907893e3eefdaa186cee610 │ │ │ └── writer.go │ ├── cpuguy83 │ │ └── go-md2man │ │ │ └── md2man │ │ │ ├── md2man.go │ │ │ └── roff.go │ ├── davecgh │ │ └── go-spew │ │ │ ├── LICENSE │ │ │ └── spew │ │ │ ├── bypass.go │ │ │ ├── bypasssafe.go │ │ │ ├── common.go │ │ │ ├── config.go │ │ │ ├── doc.go │ │ │ ├── dump.go │ │ │ ├── format.go │ │ │ └── spew.go │ ├── docker │ │ ├── docker │ │ │ ├── LICENSE │ │ │ ├── NOTICE │ │ │ ├── opts │ │ │ │ ├── hosts.go │ │ │ │ ├── hosts_unix.go │ │ │ │ ├── hosts_windows.go │ │ │ │ ├── ip.go │ │ │ │ ├── opts.go │ │ │ │ ├── opts_unix.go │ │ │ │ └── opts_windows.go │ │ │ ├── pkg │ │ │ │ ├── README.md │ │ │ │ ├── aaparser │ │ │ │ │ ├── aaparser.go │ │ │ │ │ └── aaparser_test.go │ │ │ │ ├── archive │ │ │ │ │ ├── README.md │ │ │ │ │ ├── archive.go │ │ │ │ │ ├── archive_linux.go │ │ │ │ │ ├── archive_other.go │ │ │ │ │ ├── archive_test.go │ │ │ │ │ ├── archive_unix.go │ │ │ │ │ ├── archive_unix_test.go │ │ │ │ │ ├── archive_windows.go │ │ │ │ │ ├── archive_windows_test.go │ │ │ │ │ ├── changes.go │ │ │ │ │ ├── changes_linux.go │ │ │ │ │ ├── changes_other.go │ │ │ │ │ ├── changes_posix_test.go │ │ │ │ │ ├── changes_test.go │ │ │ │ │ ├── changes_unix.go │ │ │ │ │ ├── changes_windows.go │ │ │ │ │ ├── copy.go │ │ │ │ │ ├── copy_unix.go │ │ │ │ │ ├── copy_unix_test.go │ │ │ │ │ ├── copy_windows.go │ │ │ │ │ ├── diff.go │ │ │ │ │ ├── diff_test.go │ │ │ │ │ ├── example_changes.go │ │ │ │ │ ├── testdata │ │ │ │ │ │ └── broken.tar │ │ │ │ │ ├── time_linux.go │ │ │ │ │ ├── time_unsupported.go │ │ │ │ │ ├── utils_test.go │ │ │ │ │ ├── whiteouts.go │ │ │ │ │ ├── wrap.go │ │ │ │ │ └── wrap_test.go │ │ │ │ ├── authorization │ │ │ │ │ ├── api.go │ │ │ │ │ ├── authz.go │ │ │ │ │ ├── authz_unix_test.go │ │ │ │ │ ├── middleware.go │ │ │ │ │ ├── plugin.go │ │ │ │ │ └── response.go │ │ │ │ ├── broadcaster │ │ │ │ │ ├── unbuffered.go │ │ │ │ │ └── unbuffered_test.go │ │ │ │ ├── chrootarchive │ │ │ │ │ ├── archive.go │ │ │ │ │ ├── archive_test.go │ │ │ │ │ ├── archive_unix.go │ │ │ │ │ ├── archive_windows.go │ │ │ │ │ ├── chroot_linux.go │ │ │ │ │ ├── chroot_unix.go │ │ │ │ │ ├── diff.go │ │ │ │ │ ├── diff_unix.go │ │ │ │ │ ├── diff_windows.go │ │ │ │ │ ├── init_unix.go │ │ │ │ │ └── init_windows.go │ │ │ │ ├── devicemapper │ │ │ │ │ ├── devmapper.go │ │ │ │ │ ├── devmapper_log.go │ │ │ │ │ ├── devmapper_wrapper.go │ │ │ │ │ ├── devmapper_wrapper_deferred_remove.go │ │ │ │ │ ├── devmapper_wrapper_no_deferred_remove.go │ │ │ │ │ ├── ioctl.go │ │ │ │ │ └── log.go │ │ │ │ ├── directory │ │ │ │ │ ├── directory.go │ │ │ │ │ ├── directory_test.go │ │ │ │ │ ├── directory_unix.go │ │ │ │ │ └── directory_windows.go │ │ │ │ ├── discovery │ │ │ │ │ ├── README.md │ │ │ │ │ ├── backends.go │ │ │ │ │ ├── discovery.go │ │ │ │ │ ├── discovery_test.go │ │ │ │ │ ├── entry.go │ │ │ │ │ ├── file │ │ │ │ │ │ ├── file.go │ │ │ │ │ │ └── file_test.go │ │ │ │ │ ├── generator.go │ │ │ │ │ ├── generator_test.go │ │ │ │ │ ├── kv │ │ │ │ │ │ ├── kv.go │ │ │ │ │ │ └── kv_test.go │ │ │ │ │ ├── memory │ │ │ │ │ │ ├── memory.go │ │ │ │ │ │ └── memory_test.go │ │ │ │ │ └── nodes │ │ │ │ │ │ ├── nodes.go │ │ │ │ │ │ └── nodes_test.go │ │ │ │ ├── filenotify │ │ │ │ │ ├── filenotify.go │ │ │ │ │ ├── fsnotify.go │ │ │ │ │ ├── poller.go │ │ │ │ │ └── poller_test.go │ │ │ │ ├── fileutils │ │ │ │ │ ├── fileutils.go │ │ │ │ │ ├── fileutils_darwin.go │ │ │ │ │ ├── fileutils_solaris.go │ │ │ │ │ ├── fileutils_test.go │ │ │ │ │ ├── fileutils_unix.go │ │ │ │ │ └── fileutils_windows.go │ │ │ │ ├── gitutils │ │ │ │ │ ├── gitutils.go │ │ │ │ │ └── gitutils_test.go │ │ │ │ ├── graphdb │ │ │ │ │ ├── conn_sqlite3.go │ │ │ │ │ ├── conn_sqlite3_unix.go │ │ │ │ │ ├── conn_sqlite3_windows.go │ │ │ │ │ ├── conn_unsupported.go │ │ │ │ │ ├── graphdb.go │ │ │ │ │ ├── graphdb_test.go │ │ │ │ │ ├── sort.go │ │ │ │ │ ├── sort_test.go │ │ │ │ │ └── utils.go │ │ │ │ ├── homedir │ │ │ │ │ ├── homedir.go │ │ │ │ │ └── homedir_test.go │ │ │ │ ├── httputils │ │ │ │ │ ├── httputils.go │ │ │ │ │ ├── httputils_test.go │ │ │ │ │ ├── mimetype.go │ │ │ │ │ ├── mimetype_test.go │ │ │ │ │ ├── resumablerequestreader.go │ │ │ │ │ └── resumablerequestreader_test.go │ │ │ │ ├── idtools │ │ │ │ │ ├── idtools.go │ │ │ │ │ ├── idtools_unix.go │ │ │ │ │ ├── idtools_unix_test.go │ │ │ │ │ ├── idtools_windows.go │ │ │ │ │ ├── usergroupadd_linux.go │ │ │ │ │ └── usergroupadd_unsupported.go │ │ │ │ ├── integration │ │ │ │ │ ├── checker │ │ │ │ │ │ └── checker.go │ │ │ │ │ ├── dockerCmd_utils.go │ │ │ │ │ ├── dockerCmd_utils_test.go │ │ │ │ │ ├── utils.go │ │ │ │ │ └── utils_test.go │ │ │ │ ├── ioutils │ │ │ │ │ ├── buffer.go │ │ │ │ │ ├── buffer_test.go │ │ │ │ │ ├── bytespipe.go │ │ │ │ │ ├── bytespipe_test.go │ │ │ │ │ ├── fmt.go │ │ │ │ │ ├── fmt_test.go │ │ │ │ │ ├── fswriters.go │ │ │ │ │ ├── fswriters_test.go │ │ │ │ │ ├── multireader.go │ │ │ │ │ ├── multireader_test.go │ │ │ │ │ ├── readers.go │ │ │ │ │ ├── readers_test.go │ │ │ │ │ ├── temp_unix.go │ │ │ │ │ ├── temp_windows.go │ │ │ │ │ ├── writeflusher.go │ │ │ │ │ ├── writers.go │ │ │ │ │ └── writers_test.go │ │ │ │ ├── jsonlog │ │ │ │ │ ├── jsonlog.go │ │ │ │ │ ├── jsonlog_marshalling.go │ │ │ │ │ ├── jsonlog_marshalling_test.go │ │ │ │ │ ├── jsonlogbytes.go │ │ │ │ │ ├── jsonlogbytes_test.go │ │ │ │ │ ├── time_marshalling.go │ │ │ │ │ └── time_marshalling_test.go │ │ │ │ ├── jsonmessage │ │ │ │ │ ├── jsonmessage.go │ │ │ │ │ └── jsonmessage_test.go │ │ │ │ ├── listeners │ │ │ │ │ ├── listeners_solaris.go │ │ │ │ │ ├── listeners_unix.go │ │ │ │ │ └── listeners_windows.go │ │ │ │ ├── locker │ │ │ │ │ ├── README.md │ │ │ │ │ ├── locker.go │ │ │ │ │ └── locker_test.go │ │ │ │ ├── longpath │ │ │ │ │ ├── longpath.go │ │ │ │ │ └── longpath_test.go │ │ │ │ ├── loopback │ │ │ │ │ ├── attach_loopback.go │ │ │ │ │ ├── ioctl.go │ │ │ │ │ ├── loop_wrapper.go │ │ │ │ │ └── loopback.go │ │ │ │ ├── mflag │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── example │ │ │ │ │ │ └── example.go │ │ │ │ │ ├── flag.go │ │ │ │ │ └── flag_test.go │ │ │ │ ├── mount │ │ │ │ │ ├── flags.go │ │ │ │ │ ├── flags_freebsd.go │ │ │ │ │ ├── flags_linux.go │ │ │ │ │ ├── flags_unsupported.go │ │ │ │ │ ├── mount.go │ │ │ │ │ ├── mount_unix_test.go │ │ │ │ │ ├── mounter_freebsd.go │ │ │ │ │ ├── mounter_linux.go │ │ │ │ │ ├── mounter_solaris.go │ │ │ │ │ ├── mounter_unsupported.go │ │ │ │ │ ├── mountinfo.go │ │ │ │ │ ├── mountinfo_freebsd.go │ │ │ │ │ ├── mountinfo_linux.go │ │ │ │ │ ├── mountinfo_linux_test.go │ │ │ │ │ ├── mountinfo_solaris.go │ │ │ │ │ ├── mountinfo_unsupported.go │ │ │ │ │ ├── mountinfo_windows.go │ │ │ │ │ ├── sharedsubtree_linux.go │ │ │ │ │ └── sharedsubtree_linux_test.go │ │ │ │ ├── namesgenerator │ │ │ │ │ ├── cmd │ │ │ │ │ │ └── names-generator │ │ │ │ │ │ │ └── main.go │ │ │ │ │ ├── names-generator.go │ │ │ │ │ └── names-generator_test.go │ │ │ │ ├── parsers │ │ │ │ │ ├── kernel │ │ │ │ │ │ ├── kernel.go │ │ │ │ │ │ ├── kernel_darwin.go │ │ │ │ │ │ ├── kernel_unix.go │ │ │ │ │ │ ├── kernel_unix_test.go │ │ │ │ │ │ ├── kernel_windows.go │ │ │ │ │ │ ├── uname_linux.go │ │ │ │ │ │ ├── uname_solaris.go │ │ │ │ │ │ └── uname_unsupported.go │ │ │ │ │ ├── operatingsystem │ │ │ │ │ │ ├── operatingsystem_linux.go │ │ │ │ │ │ ├── operatingsystem_solaris.go │ │ │ │ │ │ ├── operatingsystem_unix.go │ │ │ │ │ │ ├── operatingsystem_unix_test.go │ │ │ │ │ │ └── operatingsystem_windows.go │ │ │ │ │ ├── parsers.go │ │ │ │ │ └── parsers_test.go │ │ │ │ ├── pidfile │ │ │ │ │ ├── pidfile.go │ │ │ │ │ ├── pidfile_test.go │ │ │ │ │ ├── pidfile_unix.go │ │ │ │ │ └── pidfile_windows.go │ │ │ │ ├── platform │ │ │ │ │ ├── architecture_linux.go │ │ │ │ │ ├── architecture_unix.go │ │ │ │ │ ├── architecture_windows.go │ │ │ │ │ ├── platform.go │ │ │ │ │ ├── utsname_int8.go │ │ │ │ │ └── utsname_uint8.go │ │ │ │ ├── plugins │ │ │ │ │ ├── client.go │ │ │ │ │ ├── client_test.go │ │ │ │ │ ├── discovery.go │ │ │ │ │ ├── discovery_test.go │ │ │ │ │ ├── discovery_unix_test.go │ │ │ │ │ ├── errors.go │ │ │ │ │ ├── pluginrpc-gen │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── fixtures │ │ │ │ │ │ │ ├── foo.go │ │ │ │ │ │ │ └── otherfixture │ │ │ │ │ │ │ │ └── spaceship.go │ │ │ │ │ │ ├── main.go │ │ │ │ │ │ ├── parser.go │ │ │ │ │ │ ├── parser_test.go │ │ │ │ │ │ └── template.go │ │ │ │ │ ├── plugins.go │ │ │ │ │ └── transport │ │ │ │ │ │ ├── http.go │ │ │ │ │ │ └── transport.go │ │ │ │ ├── pools │ │ │ │ │ ├── pools.go │ │ │ │ │ └── pools_test.go │ │ │ │ ├── progress │ │ │ │ │ ├── progress.go │ │ │ │ │ ├── progressreader.go │ │ │ │ │ └── progressreader_test.go │ │ │ │ ├── promise │ │ │ │ │ └── promise.go │ │ │ │ ├── pubsub │ │ │ │ │ ├── publisher.go │ │ │ │ │ └── publisher_test.go │ │ │ │ ├── random │ │ │ │ │ ├── random.go │ │ │ │ │ └── random_test.go │ │ │ │ ├── reexec │ │ │ │ │ ├── README.md │ │ │ │ │ ├── command_linux.go │ │ │ │ │ ├── command_unix.go │ │ │ │ │ ├── command_unsupported.go │ │ │ │ │ ├── command_windows.go │ │ │ │ │ └── reexec.go │ │ │ │ ├── registrar │ │ │ │ │ ├── registrar.go │ │ │ │ │ └── registrar_test.go │ │ │ │ ├── signal │ │ │ │ │ ├── README.md │ │ │ │ │ ├── signal.go │ │ │ │ │ ├── signal_darwin.go │ │ │ │ │ ├── signal_freebsd.go │ │ │ │ │ ├── signal_linux.go │ │ │ │ │ ├── signal_solaris.go │ │ │ │ │ ├── signal_unix.go │ │ │ │ │ ├── signal_unsupported.go │ │ │ │ │ ├── signal_windows.go │ │ │ │ │ └── trap.go │ │ │ │ ├── stdcopy │ │ │ │ │ ├── stdcopy.go │ │ │ │ │ └── stdcopy_test.go │ │ │ │ ├── streamformatter │ │ │ │ │ ├── streamformatter.go │ │ │ │ │ └── streamformatter_test.go │ │ │ │ ├── stringid │ │ │ │ │ ├── README.md │ │ │ │ │ ├── stringid.go │ │ │ │ │ └── stringid_test.go │ │ │ │ ├── stringutils │ │ │ │ │ ├── README.md │ │ │ │ │ ├── stringutils.go │ │ │ │ │ └── stringutils_test.go │ │ │ │ ├── symlink │ │ │ │ │ ├── LICENSE.APACHE │ │ │ │ │ ├── LICENSE.BSD │ │ │ │ │ ├── README.md │ │ │ │ │ ├── fs.go │ │ │ │ │ ├── fs_unix.go │ │ │ │ │ ├── fs_unix_test.go │ │ │ │ │ └── fs_windows.go │ │ │ │ ├── sysinfo │ │ │ │ │ ├── README.md │ │ │ │ │ ├── numcpu.go │ │ │ │ │ ├── numcpu_linux.go │ │ │ │ │ ├── numcpu_windows.go │ │ │ │ │ ├── sysinfo.go │ │ │ │ │ ├── sysinfo_freebsd.go │ │ │ │ │ ├── sysinfo_linux.go │ │ │ │ │ ├── sysinfo_linux_test.go │ │ │ │ │ ├── sysinfo_solaris.go │ │ │ │ │ ├── sysinfo_test.go │ │ │ │ │ └── sysinfo_windows.go │ │ │ │ ├── system │ │ │ │ │ ├── chtimes.go │ │ │ │ │ ├── chtimes_test.go │ │ │ │ │ ├── chtimes_unix.go │ │ │ │ │ ├── chtimes_unix_test.go │ │ │ │ │ ├── chtimes_windows.go │ │ │ │ │ ├── chtimes_windows_test.go │ │ │ │ │ ├── errors.go │ │ │ │ │ ├── events_windows.go │ │ │ │ │ ├── filesys.go │ │ │ │ │ ├── filesys_windows.go │ │ │ │ │ ├── lstat.go │ │ │ │ │ ├── lstat_unix_test.go │ │ │ │ │ ├── lstat_windows.go │ │ │ │ │ ├── meminfo.go │ │ │ │ │ ├── meminfo_linux.go │ │ │ │ │ ├── meminfo_solaris.go │ │ │ │ │ ├── meminfo_unix_test.go │ │ │ │ │ ├── meminfo_unsupported.go │ │ │ │ │ ├── meminfo_windows.go │ │ │ │ │ ├── mknod.go │ │ │ │ │ ├── mknod_windows.go │ │ │ │ │ ├── path_unix.go │ │ │ │ │ ├── path_windows.go │ │ │ │ │ ├── path_windows_test.go │ │ │ │ │ ├── stat.go │ │ │ │ │ ├── stat_freebsd.go │ │ │ │ │ ├── stat_linux.go │ │ │ │ │ ├── stat_openbsd.go │ │ │ │ │ ├── stat_solaris.go │ │ │ │ │ ├── stat_unix_test.go │ │ │ │ │ ├── stat_unsupported.go │ │ │ │ │ ├── stat_windows.go │ │ │ │ │ ├── syscall_unix.go │ │ │ │ │ ├── syscall_windows.go │ │ │ │ │ ├── syscall_windows_test.go │ │ │ │ │ ├── umask.go │ │ │ │ │ ├── umask_windows.go │ │ │ │ │ ├── utimes_darwin.go │ │ │ │ │ ├── utimes_freebsd.go │ │ │ │ │ ├── utimes_linux.go │ │ │ │ │ ├── utimes_unix_test.go │ │ │ │ │ ├── utimes_unsupported.go │ │ │ │ │ ├── xattrs_linux.go │ │ │ │ │ └── xattrs_unsupported.go │ │ │ │ ├── tailfile │ │ │ │ │ ├── tailfile.go │ │ │ │ │ └── tailfile_test.go │ │ │ │ ├── tarsum │ │ │ │ │ ├── builder_context.go │ │ │ │ │ ├── builder_context_test.go │ │ │ │ │ ├── fileinfosums.go │ │ │ │ │ ├── fileinfosums_test.go │ │ │ │ │ ├── tarsum.go │ │ │ │ │ ├── tarsum_spec.md │ │ │ │ │ ├── tarsum_test.go │ │ │ │ │ ├── testdata │ │ │ │ │ │ ├── 46af0962ab5afeb5ce6740d4d91652e69206fc991fd5328c1a94d364ad00e457 │ │ │ │ │ │ │ ├── json │ │ │ │ │ │ │ └── layer.tar │ │ │ │ │ │ ├── 511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158 │ │ │ │ │ │ │ ├── json │ │ │ │ │ │ │ └── layer.tar │ │ │ │ │ │ ├── collision │ │ │ │ │ │ │ ├── collision-0.tar │ │ │ │ │ │ │ ├── collision-1.tar │ │ │ │ │ │ │ ├── collision-2.tar │ │ │ │ │ │ │ └── collision-3.tar │ │ │ │ │ │ └── xattr │ │ │ │ │ │ │ ├── json │ │ │ │ │ │ │ └── layer.tar │ │ │ │ │ ├── versioning.go │ │ │ │ │ ├── versioning_test.go │ │ │ │ │ └── writercloser.go │ │ │ │ ├── term │ │ │ │ │ ├── ascii.go │ │ │ │ │ ├── ascii_test.go │ │ │ │ │ ├── tc_linux_cgo.go │ │ │ │ │ ├── tc_other.go │ │ │ │ │ ├── tc_solaris_cgo.go │ │ │ │ │ ├── term.go │ │ │ │ │ ├── term_solaris.go │ │ │ │ │ ├── term_unix.go │ │ │ │ │ ├── term_windows.go │ │ │ │ │ ├── termios_darwin.go │ │ │ │ │ ├── termios_freebsd.go │ │ │ │ │ ├── termios_linux.go │ │ │ │ │ ├── termios_openbsd.go │ │ │ │ │ └── windows │ │ │ │ │ │ ├── ansi_reader.go │ │ │ │ │ │ ├── ansi_writer.go │ │ │ │ │ │ ├── console.go │ │ │ │ │ │ ├── windows.go │ │ │ │ │ │ └── windows_test.go │ │ │ │ ├── testutil │ │ │ │ │ ├── assert │ │ │ │ │ │ └── assert.go │ │ │ │ │ └── pkg.go │ │ │ │ ├── tlsconfig │ │ │ │ │ └── config.go │ │ │ │ ├── truncindex │ │ │ │ │ ├── truncindex.go │ │ │ │ │ └── truncindex_test.go │ │ │ │ ├── urlutil │ │ │ │ │ ├── urlutil.go │ │ │ │ │ └── urlutil_test.go │ │ │ │ └── useragent │ │ │ │ │ ├── README.md │ │ │ │ │ ├── useragent.go │ │ │ │ │ └── useragent_test.go │ │ │ └── volume │ │ │ │ ├── volume.go │ │ │ │ ├── volume_copy.go │ │ │ │ ├── volume_propagation_linux.go │ │ │ │ ├── volume_propagation_unsupported.go │ │ │ │ ├── volume_unix.go │ │ │ │ └── volume_windows.go │ │ ├── engine-api │ │ │ ├── LICENSE │ │ │ └── types │ │ │ │ ├── filters │ │ │ │ └── parse.go │ │ │ │ └── versions │ │ │ │ ├── README.md │ │ │ │ └── compare.go │ │ └── go-units │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── MAINTAINERS │ │ │ ├── README.md │ │ │ ├── circle.yml │ │ │ ├── duration.go │ │ │ ├── size.go │ │ │ └── ulimit.go │ ├── fsouza │ │ └── go-dockerclient │ │ │ ├── AUTHORS │ │ │ ├── DOCKER-LICENSE │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.markdown │ │ │ ├── auth.go │ │ │ ├── cancelable.go │ │ │ ├── cancelable_go14.go │ │ │ ├── change.go │ │ │ ├── client.go │ │ │ ├── container.go │ │ │ ├── env.go │ │ │ ├── event.go │ │ │ ├── exec.go │ │ │ ├── image.go │ │ │ ├── misc.go │ │ │ ├── network.go │ │ │ ├── signal.go │ │ │ ├── tar.go │ │ │ ├── tls.go │ │ │ └── volume.go │ ├── gocraft │ │ └── web │ │ │ ├── BENCHMARK_RESULTS │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── cover.sh │ │ │ ├── logger_middleware.go │ │ │ ├── options_handler.go │ │ │ ├── panic_handler.go │ │ │ ├── request.go │ │ │ ├── response_writer.go │ │ │ ├── router_serve.go │ │ │ ├── router_setup.go │ │ │ ├── show_errors_middleware.go │ │ │ ├── static_middleware.go │ │ │ └── tree.go │ ├── golang │ │ └── protobuf │ │ │ ├── AUTHORS │ │ │ ├── CONTRIBUTORS │ │ │ ├── LICENSE │ │ │ ├── Make.protobuf │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── jsonpb │ │ │ ├── jsonpb.go │ │ │ ├── jsonpb_test.go │ │ │ └── jsonpb_test_proto │ │ │ │ ├── Makefile │ │ │ │ ├── more_test_objects.pb.go │ │ │ │ ├── more_test_objects.proto │ │ │ │ ├── test_objects.pb.go │ │ │ │ └── test_objects.proto │ │ │ ├── proto │ │ │ ├── Makefile │ │ │ ├── all_test.go │ │ │ ├── any_test.go │ │ │ ├── clone.go │ │ │ ├── clone_test.go │ │ │ ├── decode.go │ │ │ ├── encode.go │ │ │ ├── equal.go │ │ │ ├── equal_test.go │ │ │ ├── extensions.go │ │ │ ├── extensions_test.go │ │ │ ├── lib.go │ │ │ ├── message_set.go │ │ │ ├── message_set_test.go │ │ │ ├── pointer_reflect.go │ │ │ ├── pointer_unsafe.go │ │ │ ├── properties.go │ │ │ ├── proto3_proto │ │ │ │ ├── proto3.pb.go │ │ │ │ └── proto3.proto │ │ │ ├── proto3_test.go │ │ │ ├── size2_test.go │ │ │ ├── size_test.go │ │ │ ├── testdata │ │ │ │ ├── Makefile │ │ │ │ ├── golden_test.go │ │ │ │ ├── test.pb.go │ │ │ │ └── test.proto │ │ │ ├── text.go │ │ │ ├── text_parser.go │ │ │ ├── text_parser_test.go │ │ │ └── text_test.go │ │ │ ├── protoc-gen-go │ │ │ ├── Makefile │ │ │ ├── descriptor │ │ │ │ ├── Makefile │ │ │ │ └── descriptor.pb.go │ │ │ ├── doc.go │ │ │ ├── generator │ │ │ │ ├── Makefile │ │ │ │ ├── generator.go │ │ │ │ └── name_test.go │ │ │ ├── grpc │ │ │ │ └── grpc.go │ │ │ ├── link_grpc.go │ │ │ ├── main.go │ │ │ ├── plugin │ │ │ │ ├── Makefile │ │ │ │ ├── plugin.pb.go │ │ │ │ └── plugin.pb.golden │ │ │ └── testdata │ │ │ │ ├── Makefile │ │ │ │ ├── extension_base.proto │ │ │ │ ├── extension_extra.proto │ │ │ │ ├── extension_test.go │ │ │ │ ├── extension_user.proto │ │ │ │ ├── grpc.proto │ │ │ │ ├── imp.pb.go.golden │ │ │ │ ├── imp.proto │ │ │ │ ├── imp2.proto │ │ │ │ ├── imp3.proto │ │ │ │ ├── main_test.go │ │ │ │ ├── multi │ │ │ │ ├── multi1.proto │ │ │ │ ├── multi2.proto │ │ │ │ └── multi3.proto │ │ │ │ ├── my_test │ │ │ │ ├── test.pb.go │ │ │ │ ├── test.pb.go.golden │ │ │ │ └── test.proto │ │ │ │ └── proto3.proto │ │ │ └── ptypes │ │ │ ├── any.go │ │ │ ├── any │ │ │ ├── any.pb.go │ │ │ └── any.proto │ │ │ ├── any_test.go │ │ │ ├── doc.go │ │ │ ├── duration.go │ │ │ ├── duration │ │ │ ├── duration.pb.go │ │ │ └── duration.proto │ │ │ ├── duration_test.go │ │ │ ├── empty │ │ │ ├── empty.pb.go │ │ │ └── empty.proto │ │ │ ├── regen.sh │ │ │ ├── struct │ │ │ ├── struct.pb.go │ │ │ └── struct.proto │ │ │ ├── timestamp.go │ │ │ ├── timestamp │ │ │ ├── timestamp.pb.go │ │ │ └── timestamp.proto │ │ │ ├── timestamp_test.go │ │ │ └── wrappers │ │ │ ├── wrappers.pb.go │ │ │ └── wrappers.proto │ ├── google │ │ └── gofuzz │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── doc.go │ │ │ └── fuzz.go │ ├── hashicorp │ │ └── go-cleanhttp │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── cleanhttp.go │ │ │ └── doc.go │ ├── howeyc │ │ └── gopass │ │ │ ├── LICENSE.txt │ │ │ ├── README.md │ │ │ └── pass.go │ ├── inconshreveable │ │ └── mousetrap │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── trap_others.go │ │ │ ├── trap_windows.go │ │ │ └── trap_windows_1.4.go │ ├── kr │ │ ├── pretty │ │ │ ├── License │ │ │ ├── Readme │ │ │ ├── diff.go │ │ │ ├── formatter.go │ │ │ ├── pretty.go │ │ │ └── zero.go │ │ └── text │ │ │ ├── License │ │ │ ├── Readme │ │ │ ├── doc.go │ │ │ ├── indent.go │ │ │ └── wrap.go │ ├── looplab │ │ └── fsm │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── errors.go │ │ │ ├── event.go │ │ │ ├── fsm.go │ │ │ └── wercker.yml │ ├── magiconair │ │ └── properties │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── doc.go │ │ │ ├── lex.go │ │ │ ├── load.go │ │ │ ├── parser.go │ │ │ ├── properties.go │ │ │ └── rangecheck.go │ ├── mattn │ │ └── go-sqlite3 │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── backup.go │ │ │ ├── callback.go │ │ │ ├── code │ │ │ ├── sqlite3-binding.c │ │ │ ├── sqlite3-binding.h │ │ │ └── sqlite3ext.h │ │ │ ├── doc.go │ │ │ ├── error.go │ │ │ ├── sqlite3-binding.c │ │ │ ├── sqlite3-binding.h │ │ │ ├── sqlite3.go │ │ │ ├── sqlite3_icu.go │ │ │ ├── sqlite3_libsqlite3.go │ │ │ ├── sqlite3_load_extension.go │ │ │ ├── sqlite3_omit_load_extension.go │ │ │ ├── sqlite3_other.go │ │ │ └── sqlite3_windows.go │ ├── mitchellh │ │ └── mapstructure │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── decode_hooks.go │ │ │ ├── error.go │ │ │ └── mapstructure.go │ ├── op │ │ └── go-logging │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTORS │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── backend.go │ │ │ ├── format.go │ │ │ ├── level.go │ │ │ ├── log_nix.go │ │ │ ├── log_windows.go │ │ │ ├── logger.go │ │ │ ├── memory.go │ │ │ ├── multi.go │ │ │ ├── syslog.go │ │ │ └── syslog_fallback.go │ ├── opencontainers │ │ └── runc │ │ │ ├── LICENSE │ │ │ ├── NOTICE │ │ │ └── libcontainer │ │ │ └── user │ │ │ ├── MAINTAINERS │ │ │ ├── lookup.go │ │ │ ├── lookup_unix.go │ │ │ ├── lookup_unsupported.go │ │ │ └── user.go │ ├── pmezard │ │ └── go-difflib │ │ │ ├── LICENSE │ │ │ └── difflib │ │ │ └── difflib.go │ ├── russross │ │ └── blackfriday │ │ │ ├── LICENSE.txt │ │ │ ├── README.md │ │ │ ├── block.go │ │ │ ├── html.go │ │ │ ├── inline.go │ │ │ ├── latex.go │ │ │ ├── markdown.go │ │ │ └── smartypants.go │ ├── shurcooL │ │ └── sanitized_anchor_name │ │ │ ├── README.md │ │ │ └── main.go │ ├── spf13 │ │ ├── cast │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── cast.go │ │ │ └── caste.go │ │ ├── cobra │ │ │ ├── LICENSE.txt │ │ │ ├── README.md │ │ │ ├── bash_completions.go │ │ │ ├── bash_completions.md │ │ │ ├── cobra.go │ │ │ ├── command.go │ │ │ ├── command_notwin.go │ │ │ └── command_win.go │ │ ├── jwalterweatherman │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── thatswhyyoualwaysleaveanote.go │ │ ├── pflag │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bool.go │ │ │ ├── count.go │ │ │ ├── duration.go │ │ │ ├── flag.go │ │ │ ├── float32.go │ │ │ ├── float64.go │ │ │ ├── golangflag.go │ │ │ ├── int.go │ │ │ ├── int32.go │ │ │ ├── int64.go │ │ │ ├── int8.go │ │ │ ├── int_slice.go │ │ │ ├── ip.go │ │ │ ├── ipmask.go │ │ │ ├── ipnet.go │ │ │ ├── string.go │ │ │ ├── string_slice.go │ │ │ ├── uint.go │ │ │ ├── uint16.go │ │ │ ├── uint32.go │ │ │ ├── uint64.go │ │ │ └── uint8.go │ │ └── viper │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── util.go │ │ │ └── viper.go │ ├── stretchr │ │ ├── objx │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── accessors.go │ │ │ ├── constants.go │ │ │ ├── conversions.go │ │ │ ├── doc.go │ │ │ ├── map.go │ │ │ ├── mutations.go │ │ │ ├── security.go │ │ │ ├── tests.go │ │ │ ├── type_specific_codegen.go │ │ │ └── value.go │ │ └── testify │ │ │ ├── LICENSE │ │ │ ├── assert │ │ │ ├── assertion_forward.go │ │ │ ├── assertion_forward.go.tmpl │ │ │ ├── assertions.go │ │ │ ├── doc.go │ │ │ ├── errors.go │ │ │ ├── forward_assertions.go │ │ │ └── http_assertions.go │ │ │ ├── mock │ │ │ ├── doc.go │ │ │ └── mock.go │ │ │ └── require │ │ │ ├── doc.go │ │ │ ├── forward_requirements.go │ │ │ ├── require.go │ │ │ ├── require.go.tmpl │ │ │ ├── require_forward.go │ │ │ ├── require_forward.go.tmpl │ │ │ └── requirements.go │ └── tecbot │ │ └── gorocksdb │ │ ├── LICENSE │ │ ├── README.md │ │ ├── backup.go │ │ ├── cache.go │ │ ├── cf_handle.go │ │ ├── compaction_filter.go │ │ ├── comparator.go │ │ ├── db.go │ │ ├── doc.go │ │ ├── dynflag.go │ │ ├── embedflag.go │ │ ├── env.go │ │ ├── filter_policy.go │ │ ├── gorocksdb.c │ │ ├── gorocksdb.h │ │ ├── iterator.go │ │ ├── merge_operator.go │ │ ├── options.go │ │ ├── options_block_based_table.go │ │ ├── options_compaction.go │ │ ├── options_compression.go │ │ ├── options_flush.go │ │ ├── options_read.go │ │ ├── options_write.go │ │ ├── slice.go │ │ ├── slice_transform.go │ │ ├── snapshot.go │ │ ├── util.go │ │ └── write_batch.go │ ├── golang.org │ └── x │ │ ├── crypto │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── hkdf │ │ │ └── hkdf.go │ │ ├── sha3 │ │ │ ├── doc.go │ │ │ ├── hashes.go │ │ │ ├── keccakf.go │ │ │ ├── register.go │ │ │ ├── sha3.go │ │ │ ├── shake.go │ │ │ ├── xor.go │ │ │ ├── xor_generic.go │ │ │ └── xor_unaligned.go │ │ └── ssh │ │ │ ├── buffer.go │ │ │ ├── certs.go │ │ │ ├── channel.go │ │ │ ├── cipher.go │ │ │ ├── client.go │ │ │ ├── client_auth.go │ │ │ ├── common.go │ │ │ ├── connection.go │ │ │ ├── doc.go │ │ │ ├── handshake.go │ │ │ ├── kex.go │ │ │ ├── keys.go │ │ │ ├── mac.go │ │ │ ├── messages.go │ │ │ ├── mux.go │ │ │ ├── server.go │ │ │ ├── session.go │ │ │ ├── tcpip.go │ │ │ ├── terminal │ │ │ ├── terminal.go │ │ │ ├── util.go │ │ │ ├── util_bsd.go │ │ │ ├── util_linux.go │ │ │ └── util_windows.go │ │ │ └── transport.go │ │ ├── net │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── AUTHORS │ │ ├── CONTRIBUTING.md │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── README │ │ ├── bpf │ │ │ ├── asm.go │ │ │ ├── constants.go │ │ │ ├── doc.go │ │ │ ├── instructions.go │ │ │ ├── instructions_test.go │ │ │ ├── testdata │ │ │ │ ├── all_instructions.bpf │ │ │ │ └── all_instructions.txt │ │ │ ├── vm.go │ │ │ ├── vm_aluop_test.go │ │ │ ├── vm_bpf_test.go │ │ │ ├── vm_extension_test.go │ │ │ ├── vm_instructions.go │ │ │ ├── vm_jump_test.go │ │ │ ├── vm_load_test.go │ │ │ ├── vm_ret_test.go │ │ │ ├── vm_scratch_test.go │ │ │ └── vm_test.go │ │ ├── codereview.cfg │ │ ├── context │ │ │ ├── context.go │ │ │ ├── context_test.go │ │ │ ├── ctxhttp │ │ │ │ ├── ctxhttp.go │ │ │ │ ├── ctxhttp_17_test.go │ │ │ │ ├── ctxhttp_pre17.go │ │ │ │ ├── ctxhttp_pre17_test.go │ │ │ │ └── ctxhttp_test.go │ │ │ ├── go17.go │ │ │ ├── pre_go17.go │ │ │ └── withtimeout_test.go │ │ ├── dict │ │ │ └── dict.go │ │ ├── html │ │ │ ├── atom │ │ │ │ ├── atom.go │ │ │ │ ├── atom_test.go │ │ │ │ ├── gen.go │ │ │ │ ├── table.go │ │ │ │ └── table_test.go │ │ │ ├── charset │ │ │ │ ├── charset.go │ │ │ │ ├── charset_test.go │ │ │ │ └── testdata │ │ │ │ │ ├── HTTP-charset.html │ │ │ │ │ ├── HTTP-vs-UTF-8-BOM.html │ │ │ │ │ ├── HTTP-vs-meta-charset.html │ │ │ │ │ ├── HTTP-vs-meta-content.html │ │ │ │ │ ├── No-encoding-declaration.html │ │ │ │ │ ├── README │ │ │ │ │ ├── UTF-16BE-BOM.html │ │ │ │ │ ├── UTF-16LE-BOM.html │ │ │ │ │ ├── UTF-8-BOM-vs-meta-charset.html │ │ │ │ │ ├── UTF-8-BOM-vs-meta-content.html │ │ │ │ │ ├── meta-charset-attribute.html │ │ │ │ │ └── meta-content-attribute.html │ │ │ ├── const.go │ │ │ ├── doc.go │ │ │ ├── doctype.go │ │ │ ├── entity.go │ │ │ ├── entity_test.go │ │ │ ├── escape.go │ │ │ ├── escape_test.go │ │ │ ├── example_test.go │ │ │ ├── foreign.go │ │ │ ├── node.go │ │ │ ├── node_test.go │ │ │ ├── parse.go │ │ │ ├── parse_test.go │ │ │ ├── render.go │ │ │ ├── render_test.go │ │ │ ├── testdata │ │ │ │ ├── go1.html │ │ │ │ └── webkit │ │ │ │ │ ├── README │ │ │ │ │ ├── adoption01.dat │ │ │ │ │ ├── adoption02.dat │ │ │ │ │ ├── comments01.dat │ │ │ │ │ ├── doctype01.dat │ │ │ │ │ ├── entities01.dat │ │ │ │ │ ├── entities02.dat │ │ │ │ │ ├── html5test-com.dat │ │ │ │ │ ├── inbody01.dat │ │ │ │ │ ├── isindex.dat │ │ │ │ │ ├── pending-spec-changes-plain-text-unsafe.dat │ │ │ │ │ ├── pending-spec-changes.dat │ │ │ │ │ ├── plain-text-unsafe.dat │ │ │ │ │ ├── scriptdata01.dat │ │ │ │ │ ├── scripted │ │ │ │ │ ├── adoption01.dat │ │ │ │ │ └── webkit01.dat │ │ │ │ │ ├── tables01.dat │ │ │ │ │ ├── tests1.dat │ │ │ │ │ ├── tests10.dat │ │ │ │ │ ├── tests11.dat │ │ │ │ │ ├── tests12.dat │ │ │ │ │ ├── tests14.dat │ │ │ │ │ ├── tests15.dat │ │ │ │ │ ├── tests16.dat │ │ │ │ │ ├── tests17.dat │ │ │ │ │ ├── tests18.dat │ │ │ │ │ ├── tests19.dat │ │ │ │ │ ├── tests2.dat │ │ │ │ │ ├── tests20.dat │ │ │ │ │ ├── tests21.dat │ │ │ │ │ ├── tests22.dat │ │ │ │ │ ├── tests23.dat │ │ │ │ │ ├── tests24.dat │ │ │ │ │ ├── tests25.dat │ │ │ │ │ ├── tests26.dat │ │ │ │ │ ├── tests3.dat │ │ │ │ │ ├── tests4.dat │ │ │ │ │ ├── tests5.dat │ │ │ │ │ ├── tests6.dat │ │ │ │ │ ├── tests7.dat │ │ │ │ │ ├── tests8.dat │ │ │ │ │ ├── tests9.dat │ │ │ │ │ ├── tests_innerHTML_1.dat │ │ │ │ │ ├── tricky01.dat │ │ │ │ │ ├── webkit01.dat │ │ │ │ │ └── webkit02.dat │ │ │ ├── token.go │ │ │ └── token_test.go │ │ ├── http2 │ │ │ ├── .gitignore │ │ │ ├── Dockerfile │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── client_conn_pool.go │ │ │ ├── configure_transport.go │ │ │ ├── errors.go │ │ │ ├── errors_test.go │ │ │ ├── fixed_buffer.go │ │ │ ├── fixed_buffer_test.go │ │ │ ├── flow.go │ │ │ ├── flow_test.go │ │ │ ├── frame.go │ │ │ ├── frame_test.go │ │ │ ├── go16.go │ │ │ ├── go17.go │ │ │ ├── gotrack.go │ │ │ ├── gotrack_test.go │ │ │ ├── h2demo │ │ │ │ ├── .gitignore │ │ │ │ ├── Makefile │ │ │ │ ├── README │ │ │ │ ├── h2demo.go │ │ │ │ ├── launch.go │ │ │ │ ├── rootCA.key │ │ │ │ ├── rootCA.pem │ │ │ │ ├── rootCA.srl │ │ │ │ ├── server.crt │ │ │ │ └── server.key │ │ │ ├── h2i │ │ │ │ ├── README.md │ │ │ │ └── h2i.go │ │ │ ├── headermap.go │ │ │ ├── hpack │ │ │ │ ├── encode.go │ │ │ │ ├── encode_test.go │ │ │ │ ├── hpack.go │ │ │ │ ├── hpack_test.go │ │ │ │ ├── huffman.go │ │ │ │ └── tables.go │ │ │ ├── http2.go │ │ │ ├── http2_test.go │ │ │ ├── not_go16.go │ │ │ ├── not_go17.go │ │ │ ├── pipe.go │ │ │ ├── pipe_test.go │ │ │ ├── priority_test.go │ │ │ ├── server.go │ │ │ ├── server_test.go │ │ │ ├── testdata │ │ │ │ └── draft-ietf-httpbis-http2.xml │ │ │ ├── transport.go │ │ │ ├── transport_test.go │ │ │ ├── write.go │ │ │ ├── writesched.go │ │ │ └── z_spec_test.go │ │ ├── icmp │ │ │ ├── dstunreach.go │ │ │ ├── echo.go │ │ │ ├── endpoint.go │ │ │ ├── example_test.go │ │ │ ├── extension.go │ │ │ ├── extension_test.go │ │ │ ├── helper.go │ │ │ ├── helper_posix.go │ │ │ ├── interface.go │ │ │ ├── ipv4.go │ │ │ ├── ipv4_test.go │ │ │ ├── ipv6.go │ │ │ ├── listen_posix.go │ │ │ ├── listen_stub.go │ │ │ ├── message.go │ │ │ ├── message_test.go │ │ │ ├── messagebody.go │ │ │ ├── mpls.go │ │ │ ├── multipart.go │ │ │ ├── multipart_test.go │ │ │ ├── packettoobig.go │ │ │ ├── paramprob.go │ │ │ ├── ping_test.go │ │ │ ├── sys_freebsd.go │ │ │ └── timeexceeded.go │ │ ├── idna │ │ │ ├── idna.go │ │ │ ├── idna_test.go │ │ │ ├── punycode.go │ │ │ └── punycode_test.go │ │ ├── internal │ │ │ ├── iana │ │ │ │ ├── const.go │ │ │ │ └── gen.go │ │ │ ├── nettest │ │ │ │ ├── error_posix.go │ │ │ │ ├── error_stub.go │ │ │ │ ├── interface.go │ │ │ │ ├── rlimit.go │ │ │ │ ├── rlimit_stub.go │ │ │ │ ├── rlimit_unix.go │ │ │ │ ├── rlimit_windows.go │ │ │ │ ├── stack.go │ │ │ │ ├── stack_stub.go │ │ │ │ ├── stack_unix.go │ │ │ │ └── stack_windows.go │ │ │ └── timeseries │ │ │ │ ├── timeseries.go │ │ │ │ └── timeseries_test.go │ │ ├── ipv4 │ │ │ ├── bpf_test.go │ │ │ ├── bpfopt_linux.go │ │ │ ├── bpfopt_stub.go │ │ │ ├── control.go │ │ │ ├── control_bsd.go │ │ │ ├── control_pktinfo.go │ │ │ ├── control_stub.go │ │ │ ├── control_unix.go │ │ │ ├── control_windows.go │ │ │ ├── defs_darwin.go │ │ │ ├── defs_dragonfly.go │ │ │ ├── defs_freebsd.go │ │ │ ├── defs_linux.go │ │ │ ├── defs_netbsd.go │ │ │ ├── defs_openbsd.go │ │ │ ├── defs_solaris.go │ │ │ ├── dgramopt_posix.go │ │ │ ├── dgramopt_stub.go │ │ │ ├── doc.go │ │ │ ├── endpoint.go │ │ │ ├── example_test.go │ │ │ ├── gen.go │ │ │ ├── genericopt_posix.go │ │ │ ├── genericopt_stub.go │ │ │ ├── header.go │ │ │ ├── header_test.go │ │ │ ├── helper.go │ │ │ ├── helper_stub.go │ │ │ ├── helper_unix.go │ │ │ ├── helper_windows.go │ │ │ ├── iana.go │ │ │ ├── icmp.go │ │ │ ├── icmp_linux.go │ │ │ ├── icmp_stub.go │ │ │ ├── icmp_test.go │ │ │ ├── mocktransponder_test.go │ │ │ ├── multicast_test.go │ │ │ ├── multicastlistener_test.go │ │ │ ├── multicastsockopt_test.go │ │ │ ├── packet.go │ │ │ ├── payload.go │ │ │ ├── payload_cmsg.go │ │ │ ├── payload_nocmsg.go │ │ │ ├── readwrite_test.go │ │ │ ├── sockopt.go │ │ │ ├── sockopt_asmreq.go │ │ │ ├── sockopt_asmreq_stub.go │ │ │ ├── sockopt_asmreq_unix.go │ │ │ ├── sockopt_asmreq_windows.go │ │ │ ├── sockopt_asmreqn_stub.go │ │ │ ├── sockopt_asmreqn_unix.go │ │ │ ├── sockopt_ssmreq_stub.go │ │ │ ├── sockopt_ssmreq_unix.go │ │ │ ├── sockopt_stub.go │ │ │ ├── sockopt_unix.go │ │ │ ├── sockopt_windows.go │ │ │ ├── sys_bsd.go │ │ │ ├── sys_darwin.go │ │ │ ├── sys_freebsd.go │ │ │ ├── sys_linux.go │ │ │ ├── sys_openbsd.go │ │ │ ├── sys_stub.go │ │ │ ├── sys_windows.go │ │ │ ├── syscall_linux_386.go │ │ │ ├── syscall_unix.go │ │ │ ├── thunk_linux_386.s │ │ │ ├── unicast_test.go │ │ │ ├── unicastsockopt_test.go │ │ │ ├── zsys_darwin.go │ │ │ ├── zsys_dragonfly.go │ │ │ ├── zsys_freebsd_386.go │ │ │ ├── zsys_freebsd_amd64.go │ │ │ ├── zsys_freebsd_arm.go │ │ │ ├── zsys_linux_386.go │ │ │ ├── zsys_linux_amd64.go │ │ │ ├── zsys_linux_arm.go │ │ │ ├── zsys_linux_arm64.go │ │ │ ├── zsys_linux_mips64.go │ │ │ ├── zsys_linux_mips64le.go │ │ │ ├── zsys_linux_ppc.go │ │ │ ├── zsys_linux_ppc64.go │ │ │ ├── zsys_linux_ppc64le.go │ │ │ ├── zsys_linux_s390x.go │ │ │ ├── zsys_netbsd.go │ │ │ ├── zsys_openbsd.go │ │ │ └── zsys_solaris.go │ │ ├── ipv6 │ │ │ ├── bpf_test.go │ │ │ ├── bpfopt_linux.go │ │ │ ├── bpfopt_stub.go │ │ │ ├── control.go │ │ │ ├── control_rfc2292_unix.go │ │ │ ├── control_rfc3542_unix.go │ │ │ ├── control_stub.go │ │ │ ├── control_unix.go │ │ │ ├── control_windows.go │ │ │ ├── defs_darwin.go │ │ │ ├── defs_dragonfly.go │ │ │ ├── defs_freebsd.go │ │ │ ├── defs_linux.go │ │ │ ├── defs_netbsd.go │ │ │ ├── defs_openbsd.go │ │ │ ├── defs_solaris.go │ │ │ ├── dgramopt_posix.go │ │ │ ├── dgramopt_stub.go │ │ │ ├── doc.go │ │ │ ├── endpoint.go │ │ │ ├── example_test.go │ │ │ ├── gen.go │ │ │ ├── genericopt_posix.go │ │ │ ├── genericopt_stub.go │ │ │ ├── header.go │ │ │ ├── header_test.go │ │ │ ├── helper.go │ │ │ ├── helper_stub.go │ │ │ ├── helper_unix.go │ │ │ ├── helper_windows.go │ │ │ ├── iana.go │ │ │ ├── icmp.go │ │ │ ├── icmp_bsd.go │ │ │ ├── icmp_linux.go │ │ │ ├── icmp_solaris.go │ │ │ ├── icmp_stub.go │ │ │ ├── icmp_test.go │ │ │ ├── icmp_windows.go │ │ │ ├── mocktransponder_test.go │ │ │ ├── multicast_test.go │ │ │ ├── multicastlistener_test.go │ │ │ ├── multicastsockopt_test.go │ │ │ ├── payload.go │ │ │ ├── payload_cmsg.go │ │ │ ├── payload_nocmsg.go │ │ │ ├── readwrite_test.go │ │ │ ├── sockopt.go │ │ │ ├── sockopt_asmreq_unix.go │ │ │ ├── sockopt_asmreq_windows.go │ │ │ ├── sockopt_ssmreq_stub.go │ │ │ ├── sockopt_ssmreq_unix.go │ │ │ ├── sockopt_stub.go │ │ │ ├── sockopt_test.go │ │ │ ├── sockopt_unix.go │ │ │ ├── sockopt_windows.go │ │ │ ├── sys_bsd.go │ │ │ ├── sys_darwin.go │ │ │ ├── sys_freebsd.go │ │ │ ├── sys_linux.go │ │ │ ├── sys_stub.go │ │ │ ├── sys_windows.go │ │ │ ├── syscall_linux_386.go │ │ │ ├── syscall_unix.go │ │ │ ├── thunk_linux_386.s │ │ │ ├── unicast_test.go │ │ │ ├── unicastsockopt_test.go │ │ │ ├── zsys_darwin.go │ │ │ ├── zsys_dragonfly.go │ │ │ ├── zsys_freebsd_386.go │ │ │ ├── zsys_freebsd_amd64.go │ │ │ ├── zsys_freebsd_arm.go │ │ │ ├── zsys_linux_386.go │ │ │ ├── zsys_linux_amd64.go │ │ │ ├── zsys_linux_arm.go │ │ │ ├── zsys_linux_arm64.go │ │ │ ├── zsys_linux_mips64.go │ │ │ ├── zsys_linux_mips64le.go │ │ │ ├── zsys_linux_ppc.go │ │ │ ├── zsys_linux_ppc64.go │ │ │ ├── zsys_linux_ppc64le.go │ │ │ ├── zsys_linux_s390x.go │ │ │ ├── zsys_netbsd.go │ │ │ ├── zsys_openbsd.go │ │ │ └── zsys_solaris.go │ │ ├── lex │ │ │ └── httplex │ │ │ │ ├── httplex.go │ │ │ │ └── httplex_test.go │ │ ├── netutil │ │ │ ├── listen.go │ │ │ └── listen_test.go │ │ ├── proxy │ │ │ ├── direct.go │ │ │ ├── per_host.go │ │ │ ├── per_host_test.go │ │ │ ├── proxy.go │ │ │ ├── proxy_test.go │ │ │ └── socks5.go │ │ ├── publicsuffix │ │ │ ├── gen.go │ │ │ ├── list.go │ │ │ ├── list_test.go │ │ │ ├── table.go │ │ │ └── table_test.go │ │ ├── route │ │ │ ├── address.go │ │ │ ├── address_darwin_test.go │ │ │ ├── address_test.go │ │ │ ├── binary.go │ │ │ ├── defs_darwin.go │ │ │ ├── defs_dragonfly.go │ │ │ ├── defs_freebsd.go │ │ │ ├── defs_netbsd.go │ │ │ ├── defs_openbsd.go │ │ │ ├── interface.go │ │ │ ├── interface_announce.go │ │ │ ├── interface_classic.go │ │ │ ├── interface_freebsd.go │ │ │ ├── interface_multicast.go │ │ │ ├── interface_openbsd.go │ │ │ ├── message.go │ │ │ ├── message_darwin_test.go │ │ │ ├── message_freebsd_test.go │ │ │ ├── message_test.go │ │ │ ├── route.go │ │ │ ├── route_classic.go │ │ │ ├── route_openbsd.go │ │ │ ├── route_test.go │ │ │ ├── sys.go │ │ │ ├── sys_darwin.go │ │ │ ├── sys_dragonfly.go │ │ │ ├── sys_freebsd.go │ │ │ ├── sys_netbsd.go │ │ │ ├── sys_openbsd.go │ │ │ ├── syscall.go │ │ │ ├── syscall.s │ │ │ ├── zsys_darwin.go │ │ │ ├── zsys_dragonfly.go │ │ │ ├── zsys_freebsd_386.go │ │ │ ├── zsys_freebsd_amd64.go │ │ │ ├── zsys_freebsd_arm.go │ │ │ ├── zsys_netbsd.go │ │ │ └── zsys_openbsd.go │ │ ├── trace │ │ │ ├── events.go │ │ │ ├── histogram.go │ │ │ ├── histogram_test.go │ │ │ ├── trace.go │ │ │ └── trace_test.go │ │ ├── webdav │ │ │ ├── file.go │ │ │ ├── file_test.go │ │ │ ├── if.go │ │ │ ├── if_test.go │ │ │ ├── internal │ │ │ │ └── xml │ │ │ │ │ ├── README │ │ │ │ │ ├── atom_test.go │ │ │ │ │ ├── example_test.go │ │ │ │ │ ├── marshal.go │ │ │ │ │ ├── marshal_test.go │ │ │ │ │ ├── read.go │ │ │ │ │ ├── read_test.go │ │ │ │ │ ├── typeinfo.go │ │ │ │ │ ├── xml.go │ │ │ │ │ └── xml_test.go │ │ │ ├── litmus_test_server.go │ │ │ ├── lock.go │ │ │ ├── lock_test.go │ │ │ ├── prop.go │ │ │ ├── prop_test.go │ │ │ ├── webdav.go │ │ │ ├── webdav_test.go │ │ │ ├── xml.go │ │ │ └── xml_test.go │ │ ├── websocket │ │ │ ├── client.go │ │ │ ├── exampledial_test.go │ │ │ ├── examplehandler_test.go │ │ │ ├── hybi.go │ │ │ ├── hybi_test.go │ │ │ ├── server.go │ │ │ ├── websocket.go │ │ │ └── websocket_test.go │ │ └── xsrftoken │ │ │ ├── xsrf.go │ │ │ └── xsrf_test.go │ │ └── tools │ │ ├── cmd │ │ └── cover │ │ │ ├── README │ │ │ ├── cover.go │ │ │ ├── cover_test.go │ │ │ ├── doc.go │ │ │ ├── func.go │ │ │ └── html.go │ │ └── cover │ │ └── profile.go │ ├── google.golang.org │ └── grpc │ │ ├── .travis.yml │ │ ├── CONTRIBUTING.md │ │ ├── Documentation │ │ ├── grpc-auth-support.md │ │ └── grpc-metadata.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── PATENTS │ │ ├── README.md │ │ ├── backoff.go │ │ ├── backoff_test.go │ │ ├── balancer.go │ │ ├── balancer_test.go │ │ ├── benchmark │ │ ├── benchmark.go │ │ ├── benchmark_test.go │ │ ├── client │ │ │ └── main.go │ │ ├── grpc_testing │ │ │ ├── control.pb.go │ │ │ ├── control.proto │ │ │ ├── messages.pb.go │ │ │ ├── messages.proto │ │ │ ├── payloads.pb.go │ │ │ ├── payloads.proto │ │ │ ├── services.pb.go │ │ │ ├── services.proto │ │ │ ├── stats.pb.go │ │ │ └── stats.proto │ │ ├── server │ │ │ ├── main.go │ │ │ └── testdata │ │ │ │ ├── ca.pem │ │ │ │ ├── server1.key │ │ │ │ └── server1.pem │ │ ├── stats │ │ │ ├── histogram.go │ │ │ ├── stats.go │ │ │ └── util.go │ │ └── worker │ │ │ ├── benchmark_client.go │ │ │ ├── benchmark_server.go │ │ │ ├── main.go │ │ │ └── util.go │ │ ├── call.go │ │ ├── call_test.go │ │ ├── clientconn.go │ │ ├── clientconn_test.go │ │ ├── codegen.sh │ │ ├── codes │ │ ├── code_string.go │ │ └── codes.go │ │ ├── coverage.sh │ │ ├── credentials │ │ ├── credentials.go │ │ └── oauth │ │ │ └── oauth.go │ │ ├── doc.go │ │ ├── examples │ │ ├── README.md │ │ ├── gotutorial.md │ │ ├── helloworld │ │ │ ├── greeter_client │ │ │ │ └── main.go │ │ │ ├── greeter_server │ │ │ │ └── main.go │ │ │ └── helloworld │ │ │ │ ├── helloworld.pb.go │ │ │ │ └── helloworld.proto │ │ └── route_guide │ │ │ ├── README.md │ │ │ ├── client │ │ │ └── client.go │ │ │ ├── routeguide │ │ │ ├── route_guide.pb.go │ │ │ └── route_guide.proto │ │ │ ├── server │ │ │ └── server.go │ │ │ └── testdata │ │ │ ├── ca.pem │ │ │ ├── route_guide_db.json │ │ │ ├── server1.key │ │ │ └── server1.pem │ │ ├── grpclog │ │ ├── glogger │ │ │ └── glogger.go │ │ └── logger.go │ │ ├── health │ │ ├── grpc_health_v1 │ │ │ ├── health.pb.go │ │ │ └── health.proto │ │ └── health.go │ │ ├── interceptor.go │ │ ├── internal │ │ └── internal.go │ │ ├── interop │ │ ├── client │ │ │ ├── client.go │ │ │ └── testdata │ │ │ │ ├── ca.pem │ │ │ │ ├── server1.key │ │ │ │ └── server1.pem │ │ ├── grpc_testing │ │ │ ├── test.pb.go │ │ │ └── test.proto │ │ ├── server │ │ │ ├── server.go │ │ │ └── testdata │ │ │ │ ├── ca.pem │ │ │ │ ├── server1.key │ │ │ │ └── server1.pem │ │ └── test_utils.go │ │ ├── metadata │ │ ├── metadata.go │ │ └── metadata_test.go │ │ ├── naming │ │ └── naming.go │ │ ├── peer │ │ └── peer.go │ │ ├── reflection │ │ ├── README.md │ │ ├── grpc_reflection_v1alpha │ │ │ ├── reflection.pb.go │ │ │ └── reflection.proto │ │ ├── grpc_testing │ │ │ ├── proto2.pb.go │ │ │ ├── proto2.proto │ │ │ ├── proto2_ext.pb.go │ │ │ ├── proto2_ext.proto │ │ │ ├── test.pb.go │ │ │ └── test.proto │ │ ├── serverreflection.go │ │ └── serverreflection_test.go │ │ ├── rpc_util.go │ │ ├── rpc_util_test.go │ │ ├── server.go │ │ ├── server_test.go │ │ ├── stream.go │ │ ├── stress │ │ ├── client │ │ │ └── main.go │ │ ├── grpc_testing │ │ │ ├── metrics.pb.go │ │ │ └── metrics.proto │ │ └── metrics_client │ │ │ └── main.go │ │ ├── test │ │ ├── codec_perf │ │ │ ├── perf.pb.go │ │ │ └── perf.proto │ │ ├── end2end_test.go │ │ ├── grpc_testing │ │ │ ├── test.pb.go │ │ │ └── test.proto │ │ ├── race_test.go │ │ ├── servertester_test.go │ │ └── testdata │ │ │ ├── ca.pem │ │ │ ├── server1.key │ │ │ └── server1.pem │ │ ├── testdata │ │ ├── ca.pem │ │ ├── server1.key │ │ └── server1.pem │ │ ├── trace.go │ │ └── transport │ │ ├── control.go │ │ ├── handler_server.go │ │ ├── handler_server_test.go │ │ ├── http2_client.go │ │ ├── http2_server.go │ │ ├── http_util.go │ │ ├── http_util_test.go │ │ ├── testdata │ │ ├── ca.pem │ │ ├── server1.key │ │ └── server1.pem │ │ ├── transport.go │ │ └── transport_test.go │ ├── google │ └── protobuf │ │ ├── empty.pb.go │ │ └── timestamp.pb.go │ ├── gopkg.in │ └── yaml.v2 │ │ ├── LICENSE │ │ ├── LICENSE.libyaml │ │ ├── README.md │ │ ├── apic.go │ │ ├── decode.go │ │ ├── emitterc.go │ │ ├── encode.go │ │ ├── parserc.go │ │ ├── readerc.go │ │ ├── resolve.go │ │ ├── scannerc.go │ │ ├── sorter.go │ │ ├── writerc.go │ │ ├── yaml.go │ │ ├── yamlh.go │ │ └── yamlprivateh.go │ └── vendor.json └── us.blockchain.ibm.com.cert /.gitignore: -------------------------------------------------------------------------------- 1 | certificate.pem** 2 | keyValStore-* 3 | 4 | # NPM Dependencies 5 | node_modules 6 | 7 | # IntelliJ 8 | .idea 9 | 10 | chaincodeID 11 | -------------------------------------------------------------------------------- /config.json: -------------------------------------------------------------------------------- 1 | { 2 | "chainName":"hello-world", 3 | "deployWaitTime":"60", 4 | "user": { 5 | "username": "JohnDoe", 6 | "affiliation" : "group1" 7 | }, 8 | "deployRequest":{ 9 | "chaincodePath":"chaincode", 10 | "functionName":"init", 11 | "args":[ 12 | "a", 13 | "100", 14 | "b", 15 | "200" 16 | ] 17 | }, 18 | "invokeRequest":{ 19 | "functionName":"invoke", 20 | "args":[ 21 | "a", 22 | "b", 23 | "10" 24 | ] 25 | }, 26 | "queryRequest":{ 27 | "functionName":"query", 28 | "args":[ 29 | "a" 30 | ] 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Hello-Blockchain", 3 | "version": "0.0.1", 4 | "description": "A Node.js hello-world program using NodeSdk Apis", 5 | "main": "app.js", 6 | "scripts": { 7 | "start": "node app.js" 8 | }, 9 | "engines": { 10 | "node": "*" 11 | }, 12 | "keywords": [ 13 | "Blockchain Hello-World", 14 | "Hello-Blockchain", 15 | "Blockchain sample program", 16 | "blockchain hello world" 17 | ], 18 | "repository": { 19 | "type": "git", 20 | "url": "https://github.com/IBM-Blockchain/SDK-Demo.git" 21 | }, 22 | "license": "Apache-2.0", 23 | "dependencies": { 24 | "hfc": "^0.6.5" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /servicecreds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/servicecreds.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/consensus/helper/engine_test.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright IBM Corp. 2016 All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package helper 18 | 19 | import "testing" 20 | 21 | func TestEngine(t *testing.T) { 22 | t.Skip("Engine functions already tested in other consensus components") 23 | } 24 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/admin_test.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright IBM Corp. 2016 All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package core 18 | 19 | import "testing" 20 | 21 | func TestServer_Status(t *testing.T) { 22 | t.Skip("TBD") 23 | //performHandshake(t, peerClientConn) 24 | } 25 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/chaincode/platforms/car/test/org.hyperledger.chaincode.example02-0.1-SNAPSHOT.car: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/core/chaincode/platforms/car/test/org.hyperledger.chaincode.example02-0.1-SNAPSHOT.car -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/chaincode/platforms/golang/hashtestfiles/a.txt: -------------------------------------------------------------------------------- 1 | a 2 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/chaincode/platforms/golang/hashtestfiles/a/a1.txt: -------------------------------------------------------------------------------- 1 | a1 2 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/chaincode/platforms/golang/hashtestfiles/a/a2.txt: -------------------------------------------------------------------------------- 1 | a2 2 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/chaincode/platforms/golang/hashtestfiles/b.txt: -------------------------------------------------------------------------------- 1 | b 2 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/chaincode/platforms/golang/hashtestfiles/b/c.txt: -------------------------------------------------------------------------------- 1 | c 2 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/chaincode/platforms/golang/hashtestfiles/b/c/c1.txt: -------------------------------------------------------------------------------- 1 | c1 2 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/chaincode/shim/crypto/attr/test_resources/prek0.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/core/chaincode/shim/crypto/attr/test_resources/prek0.dump -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/crypto/attributes/test_resources/prek0.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/core/crypto/attributes/test_resources/prek0.dump -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/crypto/crypto_profile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if [ -f "crypto.test" ] 4 | then 5 | echo Removing crypto.test 6 | rm crypto.test 7 | fi 8 | 9 | echo Compile, banchmark, pprof... 10 | 11 | go test -c 12 | #./crypto.test -test.cpuprofile=crypto.prof 13 | #./crypto.test -test.bench BenchmarkConfidentialTCertHExecuteTransaction -test.run XXX -test.cpuprofile=crypto.prof 14 | ./crypto.test -test.bench BenchmarkTransaction -test.run XXX -test.cpuprofile=crypto.prof 15 | #./crypto.test -test.run TestParallelInitClose -test.cpuprofile=crypto.prof 16 | go tool pprof crypto.test crypto.prof -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/ledger/benchmark_scripts/buckettree/plot.pg: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/gnuplot 2 | reset 3 | 4 | # Chart specific settings 5 | set ylabel "milli second" 6 | set xlabel "Existing Data" 7 | set title "Buckettree performance" 8 | 9 | # General settings 10 | set key reverse Left outside 11 | set grid 12 | set terminal postscript dashed color 13 | set style data linespoints 14 | 15 | # plot command 16 | plot dataFile using 1:($2/1000000) title "time taken" 17 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/ledger/benchmark_scripts/ledger/singleKeyTransaction.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | source ../common.sh 3 | 4 | PKG_PATH="github.com/hyperledger/fabric/core/ledger" 5 | FUNCTION_NAME="BenchmarkLedgerSingleKeyTransaction" 6 | NUM_CPUS=4 7 | CHART_DATA_COLUMN="Number of Bytes" 8 | 9 | setupAndCompileTest 10 | 11 | Key=key 12 | KVSize=100 13 | BatchSize=100 14 | NumBatches=10000 15 | NumWritesToLedger=2 16 | 17 | CHART_COLUMN_VALUE=$KVSize 18 | 19 | TEST_PARAMS="-Key=$Key, -KVSize=$KVSize, -BatchSize=$BatchSize, -NumBatches=$NumBatches, -NumWritesToLedger=$NumWritesToLedger" 20 | executeTest 21 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/ledger/benchmark_scripts/ledger/test.yaml: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # Peer section 4 | # 5 | ############################################################################### 6 | peer: 7 | 8 | ledger: 9 | state: 10 | dataStructure: 11 | configs: 12 | numBuckets: 1000003 13 | maxGroupingAtEachLevel: 5 14 | bucketCacheSize: 100 15 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/ledger/benchmark_scripts/statemgmt/cryptoHash.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | source ../common.sh 3 | 4 | PKG_PATH="github.com/hyperledger/fabric/core/ledger/statemgmt" 5 | FUNCTION_NAME="BenchmarkCryptoHash" 6 | NUM_CPUS=1 7 | CHART_DATA_COLUMN="Number of Bytes" 8 | 9 | setupAndCompileTest 10 | 11 | for i in 1 5 10 20 50 100 200 400 600 800 1000 2000 5000 10000 20000 50000 100000; do 12 | TEST_PARAMS="-NumBytes=$i" 13 | CHART_COLUMN_VALUE=$i 14 | executeTest 15 | done 16 | 17 | constructChart 18 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/ledger/benchmark_scripts/statemgmt/plot.pg: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/gnuplot 2 | reset 3 | 4 | # Chart specific settings 5 | set ylabel "nano second" 6 | set xlabel "Number of bytes" 7 | set title "CryptoHash performance" 8 | set logscale xy 10 9 | 10 | # General settings 11 | set key reverse Left outside 12 | set grid 13 | set terminal postscript dashed color 14 | set style data linespoints 15 | 16 | # plot command 17 | plot dataFile using 1:2 title "time taken", \ 18 | "" using 1:($2/$1) title "time taken per byte" 19 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/ledger/statemgmt/buckettree/test.yaml: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # Peer section 4 | # 5 | ############################################################################### 6 | peer: 7 | # Path on the file system where peer will store data 8 | fileSystemPath: /var/hyperledger/test/ledger/statemgmt/buckettree/testdb 9 | ledger: 10 | state: 11 | dataStructure: 12 | name: buckettree 13 | configs: 14 | numBuckets: 19 15 | maxGroupingAtEachLevel: 3 16 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/ledger/statemgmt/state/test.yaml: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # Peer section 4 | # 5 | ############################################################################### 6 | peer: 7 | # Path on the file system where peer will store data 8 | fileSystemPath: /var/hyperledger/test/ledge/statemgmt/state/testdb 9 | 10 | ledger: 11 | 12 | state: 13 | 14 | # Control the number state deltas that are maintained. This takes additional 15 | # disk space, but allow the state to be rolled backwards and forwards 16 | # without the need to replay transactions. 17 | deltaHistorySize: 500 18 | dataStructure: 19 | name: buckettree 20 | configs: 21 | numBuckets: 10009 22 | maxGroupingAtEachLevel: 10 23 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/ledger/statemgmt/trie/test.yaml: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # Peer section 4 | # 5 | ############################################################################### 6 | peer: 7 | # Path on the file system where peer will store data 8 | fileSystemPath: /var/hyperledger/test/ledger/statemgmt/trie/testdb 9 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/ledger/test.yaml: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # Peer section 4 | # 5 | ############################################################################### 6 | peer: 7 | # Path on the file system where peer will store data 8 | fileSystemPath: /var/hyperledger/test/ledger_test 9 | 10 | ledger: 11 | 12 | state: 13 | 14 | # Control the number state deltas that are maintained. This takes additional 15 | # disk space, but allow the state to be rolled backwards and forwards 16 | # without the need to replay transactions. 17 | deltaHistorySize: 500 18 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/core/ledger/test/test.yaml: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # Peer section 4 | # 5 | ############################################################################### 6 | peer: 7 | # Path on the file system where peer will store data 8 | fileSystemPath: /var/hyperledger/test/ledger_test 9 | 10 | ledger: 11 | 12 | state: 13 | 14 | # Control the number state deltas that are maintained. This takes additional 15 | # disk space, but allow the state to be rolled backwards and forwards 16 | # without the need to replay transactions. 17 | deltaHistorySize: 500 18 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/devenv/compile_protos.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -eux 4 | 5 | # Compile protos 6 | ALL_PROTO_FILES="$(find . -name "*.proto" -exec readlink -f {} \;)" 7 | PROTO_DIRS="$(dirname $ALL_PROTO_FILES | sort | uniq)" 8 | PROTO_DIRS_WITHOUT_JAVA_AND_SDK="$(printf '%s\n' $PROTO_DIRS | grep -v "shim/java" | grep -v "/sdk")" 9 | for dir in $PROTO_DIRS_WITHOUT_JAVA_AND_SDK; do 10 | cd "$dir" 11 | protoc --proto_path="$dir" --go_out=plugins=grpc:. "$dir"/*.proto 12 | done 13 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/devenv/golang_buildcmd.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | for arch in 8 6; do 4 | for cmd in a c g l; do 5 | go tool dist install -v cmd/$arch$cmd 6 | done 7 | done 8 | exit 0 9 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/devenv/golang_buildpkg.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | if [ -z "$1" ]; then 3 | echo 'GOOS is not specified' 1>&2 4 | exit 2 5 | else 6 | export GOOS=$1 7 | if [ "$GOOS" = "windows" ]; then 8 | export CGO_ENABLED=0 9 | fi 10 | fi 11 | shift 12 | if [ -n "$1" ]; then 13 | export GOARCH=$1 14 | fi 15 | cd $GOROOT/src 16 | go tool dist install -v pkg/runtime 17 | go install -v -a std 18 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/devenv/images/openchain-dev-env-deployment-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/devenv/images/openchain-dev-env-deployment-diagram.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/API/Samples/Sample_1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/API/Samples/Sample_1.zip -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/FAQ/consensus_FAQ.md: -------------------------------------------------------------------------------- 1 | ## Consensus Algorithm 2 | 3 |   4 | ##### Which Consensus Algorithm is used in the fabric? 5 | The fabric is built on a pluggable architecture such that developers can configure their deployment with the consensus module that best suits their needs. The initial release package will offer three consensus implementations for users to select from: 1) No-op (consensus ignored); and 2) Batch PBFT. 6 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/MAINTAINERS.md: -------------------------------------------------------------------------------- 1 | ## Maintainers 2 | 3 | | Name | GitHub | Gerrit | email | 4 | |---|---|---|---| 5 | | Binh Nguyen | binhn | | binhn@us.ibm.com | 6 | | Sheehan Anderson | srderson | sheehan | sranderson@gmail.com 7 | | Tamas Blummer | tamasblummer || tamas@digitalasset.com 8 | | Robert Fajta | rfajta || robert@digitalasset.com 9 | | Greg Haskins | ghaskins || ghaskins@lseg.com 10 | | Jonathan Levi | JonathanLevi || jonathan@levi.name 11 | | Gabor Hosszu | gabre || gabor@digitalasset.com 12 | | Simon Schubert | corecode || sis@zurich.ibm.com 13 | | Chris Ferris | christo4ferris | ChristopherFerris | chrisfer@us.ibm.com 14 | | Srinivasan Muralidharan | muralisrini | muralisr | muralisr@us.ibm.com 15 | | Gari Singh | mastersingh24 | mastersingh24 | gari.r.singh@gmail.com 16 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/Canonical-Use-Cases_Asset-Depository.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/Canonical-Use-Cases_Asset-Depository.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/Canonical-Use-Cases_B2BContract.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/Canonical-Use-Cases_B2BContract.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/Canonical-Use-Cases_Direct-Communication.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/Canonical-Use-Cases_Direct-Communication.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/Canonical-Use-Cases_Interoperability-of-Assets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/Canonical-Use-Cases_Interoperability-of-Assets.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/Canonical-Use-Cases_Manufacturing-Supply-Chain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/Canonical-Use-Cases_Manufacturing-Supply-Chain.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/Canonical-Use-Cases_One-Trade-One-Contract.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/Canonical-Use-Cases_One-Trade-One-Contract.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/Canonical-Use-Cases_Separation-of-Asset-Ownership-and-Custodians-Duties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/Canonical-Use-Cases_Separation-of-Asset-Ownership-and-Custodians-Duties.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/assetrepository.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/assetrepository.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/b2bcontract.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/b2bcontract.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/corporate_action.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/corporate_action.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/exchange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/exchange.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/interoperability_of_assets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/interoperability_of_assets.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/one_contract_per_trade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/one_contract_per_trade.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/separation_of_ownship_and_custodyservice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/separation_of_ownship_and_custodyservice.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/supplychain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/biz/images/supplychain.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/custom_theme/searchbox.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 |
6 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/dev-setup/headers.txt: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright [COPYRIGHT OWNER] All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Architecture_Step-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Architecture_Step-1.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Architecture_Step-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Architecture_Step-2.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Architecture_Step-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Architecture_Step-3.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Architecture_Step-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Architecture_Step-4.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/BuildStatus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/BuildStatus.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Canonical-Use-Cases_Asset-Depository.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Canonical-Use-Cases_Asset-Depository.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Canonical-Use-Cases_B2BContract.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Canonical-Use-Cases_B2BContract.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Canonical-Use-Cases_Direct-Communication.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Canonical-Use-Cases_Direct-Communication.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Canonical-Use-Cases_Interoperability-of-Assets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Canonical-Use-Cases_Interoperability-of-Assets.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Canonical-Use-Cases_Manufacturing-Supply-Chain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Canonical-Use-Cases_Manufacturing-Supply-Chain.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Canonical-Use-Cases_One-Trade-One-Contract.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Canonical-Use-Cases_One-Trade-One-Contract.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Canonical-Use-Cases_Separation-of-Asset-Ownership-and-Custodians-Duties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Canonical-Use-Cases_Separation-of-Asset-Ownership-and-Custodians-Duties.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Travis_Settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Travis_Settings.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Travis_service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/Travis_service.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/attributes_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/attributes_flow.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/refarch-api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/refarch-api.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/refarch-app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/refarch-app.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/refarch-block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/refarch-block.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/refarch-chain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/refarch-chain.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/refarch-memb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/refarch-memb.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/refarch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/refarch.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-RACapp-depl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-RACapp-depl.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-RACapp-inv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-RACapp-inv.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-entities.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-entities.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-example-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-example-1.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-example-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-example-2.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-firstrel-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-firstrel-1.jpg -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-firstrel-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-firstrel-1.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-firstrel-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-firstrel-2.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-firstrel-depl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-firstrel-depl.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-firstrel-inv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-firstrel-inv.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-futrel-depl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-futrel-depl.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-futrel-inv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-futrel-inv.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-memserv-components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-memserv-components.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-registration-detailed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-registration-detailed.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-registration-high-level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-registration-high-level.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-request-tcerts-deployment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-request-tcerts-deployment.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-request-tcerts-invocation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-request-tcerts-invocation.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-sec-arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-sec-arch.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-sources-1.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-sources-1.pptx -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-sources-2.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-sources-2.pptx -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-txconf-v1.2.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-txconf-v1.2.pptx -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-usrconf-deploy-interm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-usrconf-deploy-interm.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-usrconf-deploy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-usrconf-deploy.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-usrconf-invoke-interm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-usrconf-invoke-interm.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-usrconf-invoke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/sec-usrconf-invoke.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/top-multi-peer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/top-multi-peer.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/top-single-peer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/top-single-peer.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/world_view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/images/world_view.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/nodeSDK/sample-web-app.md: -------------------------------------------------------------------------------- 1 | # Node.js Web Application 2 | 3 | The following is a web application template. It is NOT a complete program. 4 | 5 | This template code demonstrates how to communicate with a blockchain from a Node.js web application. It does not show how to listen for incoming requests nor how to authenticate your web users as this is application specific. The code below is intended to demonstrate how to interact with a Hyperledger fabric blockchain from an existing web application. 6 | 7 | You may retrieve the [sample application]( https://raw.githubusercontent.com/hyperledger/fabric/master/examples/sdk/node/web-app.js) file: 8 | 9 | ``` 10 | curl -o app.js https://raw.githubusercontent.com/hyperledger/fabric/master/examples/sdk/node/web-app.js 11 | ``` 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/requirements.txt: -------------------------------------------------------------------------------- 1 | python-markdown-math==0.2 2 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/tech/best-practices.md: -------------------------------------------------------------------------------- 1 | ## Hyperledger Fabric Development Best Practices 2 | 3 | (This page is under construction.) 4 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/wiki-images/sdk-current.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/wiki-images/sdk-current.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/docs/wiki-images/sdk-future.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/docs/wiki-images/sdk-future.png -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/membersrvc/Dockerfile: -------------------------------------------------------------------------------- 1 | from hyperledger/fabric-baseimage:latest 2 | # Copy GOPATH src and install Peer 3 | RUN mkdir -p /var/hyperledger/db 4 | WORKDIR $GOPATH/src/github.com/hyperledger/fabric/ 5 | COPY . . 6 | WORKDIR membersrvc 7 | RUN pwd 8 | RUN CGO_CFLAGS=" " CGO_LDFLAGS="-lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy" go install && cp $GOPATH/src/github.com/hyperledger/fabric/membersrvc/membersrvc.yaml $GOPATH/bin 9 | # RUN CGO_CFLAGS=" " CGO_LDFLAGS="-lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy" go install 10 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/membersrvc/ca/test_resources/ecert_test_user0.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/membersrvc/ca/test_resources/ecert_test_user0.dump -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/membersrvc/ca/test_resources/ecert_test_user1.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/membersrvc/ca/test_resources/ecert_test_user1.dump -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/membersrvc/ca/test_resources/ecert_test_user2.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/membersrvc/ca/test_resources/ecert_test_user2.dump -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/membersrvc/ca/test_resources/key_test_user0.dump: -------------------------------------------------------------------------------- 1 | -----BEGIN ECDSA PRIVATE KEY----- 2 | Proc-Type: 4,ENCRYPTED 3 | DEK-Info: AES-256-CBC,7af376757b4a587ac1d7a187192eb5e9 4 | 5 | zZCWUTmd7IVh+3Vp0XlRTh1rOGWjVkMb2HG4JIY1IUue4vbZP+HyxQZ424WsOP3w 6 | lBqdksRY1oHN+KFU6RRvGH54qOuI2MULGRMK80d5Q0eqGX09FaO1pBPbQiNud0n5 7 | uk4jlt6b+4RLKfBghbqk0UqBMeg9gECU5zF5MH3/+H8= 8 | -----END ECDSA PRIVATE KEY----- 9 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/membersrvc/ca/test_resources/key_test_user1.dump: -------------------------------------------------------------------------------- 1 | -----BEGIN ECDSA PRIVATE KEY----- 2 | Proc-Type: 4,ENCRYPTED 3 | DEK-Info: AES-256-CBC,54fe446e7249adc2b762039808a5a434 4 | 5 | OM4MzGtsERUCRN6P4c0uKOcNFvkcm6Z3rjpa4b37k3FB5tB2r699I2XghEnr2ifq 6 | 1L1LDuRHS2SqayTjeAHCty86mw9aBjKeCBqyZPPUGw0s8AvxUw1cr0YXiqIbveXt 7 | 5pDRPd39T1baJWGGLtNyTlnsyCTaBs8SPYi7wjyvXpo= 8 | -----END ECDSA PRIVATE KEY----- 9 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/membersrvc/ca/test_resources/key_test_user2.dump: -------------------------------------------------------------------------------- 1 | -----BEGIN ECDSA PRIVATE KEY----- 2 | Proc-Type: 4,ENCRYPTED 3 | DEK-Info: AES-256-CBC,97b5487e373a4728f206bb4fb81ba331 4 | 5 | nhNzsdwpN8HHclaYvEHL8sjesdTnEavIzX5H/X2HSqigKEyNJFV56fzHrkGIrd5r 6 | dKAn/966dPD+PIaJTkVY1hXUpaXeJf58v/ZefW8soZxJAw1scOsTDWRuzobIuC60 7 | pr6mIeFHRSdb/39gLBznjpI6FVJApQQTJJt9ODpbaUE= 8 | -----END ECDSA PRIVATE KEY----- 9 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/metadata/metadata.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright London Stock Exchange 2016 All Rights Reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package metadata 18 | 19 | var Version string // defined by the Makefile and passed in with ldflags 20 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/pub/fabric-baseimage.md: -------------------------------------------------------------------------------- 1 | ## Hyperledger Fabric Base image 2 | 3 | The base image used in the creation of the hyperledger/fabric-peer and hyperledger/fabric-membersrvc images for the [Hyperledger Fabric project](https://github.com/hyperledger/fabric). 4 | 5 | ## Usage 6 | 7 | This image is used in the Hyperledger Fabric [build process](http://hyperledger-fabric.readthedocs.io/en/latest/dev-setup/build/). 8 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/BurntSushi/toml/COMPATIBLE: -------------------------------------------------------------------------------- 1 | Compatible with TOML version 2 | [v0.2.0](https://github.com/mojombo/toml/blob/master/versions/toml-v0.2.0.md) 3 | 4 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/BurntSushi/toml/COPYING: -------------------------------------------------------------------------------- 1 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 2 | Version 2, December 2004 3 | 4 | Copyright (C) 2004 Sam Hocevar 5 | 6 | Everyone is permitted to copy and distribute verbatim or modified 7 | copies of this license document, and changing it is allowed as long 8 | as the name is changed. 9 | 10 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 11 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 12 | 13 | 0. You just DO WHAT THE FUCK YOU WANT TO. 14 | 15 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/BurntSushi/toml/Makefile: -------------------------------------------------------------------------------- 1 | install: 2 | go install ./... 3 | 4 | test: install 5 | go test -v 6 | toml-test toml-test-decoder 7 | toml-test -encoder toml-test-encoder 8 | 9 | fmt: 10 | gofmt -w *.go */*.go 11 | colcheck *.go */*.go 12 | 13 | tags: 14 | find ./ -name '*.go' -print0 | xargs -0 gotags > TAGS 15 | 16 | push: 17 | git push origin master 18 | git push github master 19 | 20 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/BurntSushi/toml/encoding_types.go: -------------------------------------------------------------------------------- 1 | // +build go1.2 2 | 3 | package toml 4 | 5 | // In order to support Go 1.1, we define our own TextMarshaler and 6 | // TextUnmarshaler types. For Go 1.2+, we just alias them with the 7 | // standard library interfaces. 8 | 9 | import ( 10 | "encoding" 11 | ) 12 | 13 | // TextMarshaler is a synonym for encoding.TextMarshaler. It is defined here 14 | // so that Go 1.1 can be supported. 15 | type TextMarshaler encoding.TextMarshaler 16 | 17 | // TextUnmarshaler is a synonym for encoding.TextUnmarshaler. It is defined 18 | // here so that Go 1.1 can be supported. 19 | type TextUnmarshaler encoding.TextUnmarshaler 20 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/BurntSushi/toml/encoding_types_1.1.go: -------------------------------------------------------------------------------- 1 | // +build !go1.2 2 | 3 | package toml 4 | 5 | // These interfaces were introduced in Go 1.2, so we add them manually when 6 | // compiling for Go 1.1. 7 | 8 | // TextMarshaler is a synonym for encoding.TextMarshaler. It is defined here 9 | // so that Go 1.1 can be supported. 10 | type TextMarshaler interface { 11 | MarshalText() (text []byte, err error) 12 | } 13 | 14 | // TextUnmarshaler is a synonym for encoding.TextUnmarshaler. It is defined 15 | // here so that Go 1.1 can be supported. 16 | type TextUnmarshaler interface { 17 | UnmarshalText(text []byte) error 18 | } 19 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/BurntSushi/toml/session.vim: -------------------------------------------------------------------------------- 1 | au BufWritePost *.go silent!make tags > /dev/null 2>&1 2 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/Sirupsen/logrus/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package logrus is a structured logger for Go, completely API compatible with the standard library logger. 3 | 4 | 5 | The simplest way to use Logrus is simply the package-level exported logger: 6 | 7 | package main 8 | 9 | import ( 10 | log "github.com/Sirupsen/logrus" 11 | ) 12 | 13 | func main() { 14 | log.WithFields(log.Fields{ 15 | "animal": "walrus", 16 | "number": 1, 17 | "size": 10, 18 | }).Info("A walrus appears") 19 | } 20 | 21 | Output: 22 | time="2015-09-07T08:48:33Z" level=info msg="A walrus appears" animal=walrus number=1 size=10 23 | 24 | For a full guide visit https://github.com/Sirupsen/logrus 25 | */ 26 | package logrus 27 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/Sirupsen/logrus/json_formatter.go~a6943e7452c65be4e907893e3eefdaa186cee610: -------------------------------------------------------------------------------- 1 | package logrus 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | "time" 7 | ) 8 | 9 | type JSONFormatter struct{} 10 | 11 | func (f *JSONFormatter) Format(entry *Entry) ([]byte, error) { 12 | data := make(Fields, len(entry.Data)+3) 13 | for k, v := range entry.Data { 14 | data[k] = v 15 | } 16 | prefixFieldClashes(data) 17 | data["time"] = entry.Time.Format(time.RFC3339) 18 | data["msg"] = entry.Message 19 | data["level"] = entry.Level.String() 20 | 21 | serialized, err := json.Marshal(data) 22 | if err != nil { 23 | return nil, fmt.Errorf("Failed to marshal fields to JSON, %v", err) 24 | } 25 | return append(serialized, '\n'), nil 26 | } 27 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/Sirupsen/logrus/terminal_bsd.go: -------------------------------------------------------------------------------- 1 | // +build darwin freebsd openbsd netbsd dragonfly 2 | 3 | package logrus 4 | 5 | import "syscall" 6 | 7 | const ioctlReadTermios = syscall.TIOCGETA 8 | 9 | type Termios syscall.Termios 10 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/Sirupsen/logrus/terminal_darwin.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2013 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | package logrus 7 | 8 | import "syscall" 9 | 10 | const ioctlReadTermios = syscall.TIOCGETA 11 | 12 | type Termios syscall.Termios 13 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/Sirupsen/logrus/terminal_freebsd.go: -------------------------------------------------------------------------------- 1 | /* 2 | Go 1.2 doesn't include Termios for FreeBSD. This should be added in 1.3 and this could be merged with terminal_darwin. 3 | */ 4 | package logrus 5 | 6 | import ( 7 | "syscall" 8 | ) 9 | 10 | const ioctlReadTermios = syscall.TIOCGETA 11 | 12 | type Termios struct { 13 | Iflag uint32 14 | Oflag uint32 15 | Cflag uint32 16 | Lflag uint32 17 | Cc [20]uint8 18 | Ispeed uint32 19 | Ospeed uint32 20 | } 21 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/Sirupsen/logrus/terminal_linux.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2013 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | package logrus 7 | 8 | import "syscall" 9 | 10 | const ioctlReadTermios = syscall.TCGETS 11 | 12 | type Termios syscall.Termios 13 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/Sirupsen/logrus/terminal_linux.go~a6943e7452c65be4e907893e3eefdaa186cee610: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2013 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | package logrus 7 | 8 | import "syscall" 9 | 10 | const ioctlReadTermios = syscall.TCGETS 11 | 12 | type Termios syscall.Termios 13 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/Sirupsen/logrus/terminal_notwindows.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2011 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build linux darwin freebsd openbsd netbsd dragonfly 7 | 8 | package logrus 9 | 10 | import ( 11 | "syscall" 12 | "unsafe" 13 | ) 14 | 15 | // IsTerminal returns true if stderr's file descriptor is a terminal. 16 | func IsTerminal() bool { 17 | fd := syscall.Stderr 18 | var termios Termios 19 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 20 | return err == 0 21 | } 22 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/Sirupsen/logrus/terminal_notwindows.go~a6943e7452c65be4e907893e3eefdaa186cee610: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2011 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build linux,!appengine darwin freebsd openbsd 7 | 8 | package logrus 9 | 10 | import ( 11 | "syscall" 12 | "unsafe" 13 | ) 14 | 15 | // IsTerminal returns true if the given file descriptor is a terminal. 16 | func IsTerminal() bool { 17 | fd := syscall.Stdout 18 | var termios Termios 19 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 20 | return err == 0 21 | } 22 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/Sirupsen/logrus/terminal_openbsd.go: -------------------------------------------------------------------------------- 1 | 2 | package logrus 3 | 4 | import "syscall" 5 | 6 | const ioctlReadTermios = syscall.TIOCGETA 7 | 8 | type Termios syscall.Termios 9 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/Sirupsen/logrus/terminal_solaris.go: -------------------------------------------------------------------------------- 1 | // +build solaris 2 | 3 | package logrus 4 | 5 | import ( 6 | "os" 7 | 8 | "golang.org/x/sys/unix" 9 | ) 10 | 11 | // IsTerminal returns true if the given file descriptor is a terminal. 12 | func IsTerminal() bool { 13 | _, err := unix.IoctlGetTermios(int(os.Stdout.Fd()), unix.TCGETA) 14 | return err == nil 15 | } 16 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/Sirupsen/logrus/terminal_windows.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2011 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build windows 7 | 8 | package logrus 9 | 10 | import ( 11 | "syscall" 12 | "unsafe" 13 | ) 14 | 15 | var kernel32 = syscall.NewLazyDLL("kernel32.dll") 16 | 17 | var ( 18 | procGetConsoleMode = kernel32.NewProc("GetConsoleMode") 19 | ) 20 | 21 | // IsTerminal returns true if stderr's file descriptor is a terminal. 22 | func IsTerminal() bool { 23 | fd := syscall.Stderr 24 | var st uint32 25 | r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) 26 | return r != 0 && e == 0 27 | } 28 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/cpuguy83/go-md2man/md2man/md2man.go: -------------------------------------------------------------------------------- 1 | package md2man 2 | 3 | import ( 4 | "github.com/russross/blackfriday" 5 | ) 6 | 7 | func Render(doc []byte) []byte { 8 | renderer := RoffRenderer(0) 9 | extensions := 0 10 | extensions |= blackfriday.EXTENSION_NO_INTRA_EMPHASIS 11 | extensions |= blackfriday.EXTENSION_TABLES 12 | extensions |= blackfriday.EXTENSION_FENCED_CODE 13 | extensions |= blackfriday.EXTENSION_AUTOLINK 14 | extensions |= blackfriday.EXTENSION_SPACE_HEADERS 15 | extensions |= blackfriday.EXTENSION_FOOTNOTES 16 | extensions |= blackfriday.EXTENSION_TITLEBLOCK 17 | 18 | return blackfriday.Markdown(doc, renderer, extensions) 19 | } 20 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/davecgh/go-spew/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012-2013 Dave Collins 2 | 3 | Permission to use, copy, modify, and distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 12 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 13 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/NOTICE: -------------------------------------------------------------------------------- 1 | Docker 2 | Copyright 2012-2016 Docker, Inc. 3 | 4 | This product includes software developed at Docker, Inc. (https://www.docker.com). 5 | 6 | This product contains software (https://github.com/kr/pty) developed 7 | by Keith Rarick, licensed under the MIT License. 8 | 9 | The following is courtesy of our legal counsel: 10 | 11 | 12 | Use and transfer of Docker may be subject to certain restrictions by the 13 | United States and other governments. 14 | It is your responsibility to ensure that your use and/or transfer does not 15 | violate applicable laws. 16 | 17 | For more information, please see https://www.bis.doc.gov 18 | 19 | See also https://www.apache.org/dev/crypto.html and/or seek legal counsel. 20 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/opts/hosts_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package opts 4 | 5 | import "fmt" 6 | 7 | // DefaultHost constant defines the default host string used by docker on other hosts than Windows 8 | var DefaultHost = fmt.Sprintf("unix://%s", DefaultUnixSocket) 9 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/opts/hosts_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package opts 4 | 5 | // DefaultHost constant defines the default host string used by docker on Windows 6 | var DefaultHost = "npipe://" + DefaultNamedPipe 7 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/opts/opts_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package opts 4 | 5 | // DefaultHTTPHost Default HTTP Host used if only port is provided to -H flag e.g. docker daemon -H tcp://:8080 6 | const DefaultHTTPHost = "localhost" 7 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/archive/README.md: -------------------------------------------------------------------------------- 1 | This code provides helper functions for dealing with archive files. 2 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/archive/archive_other.go: -------------------------------------------------------------------------------- 1 | // +build !linux 2 | 3 | package archive 4 | 5 | func getWhiteoutConverter(format WhiteoutFormat) tarWhiteoutConverter { 6 | return nil 7 | } 8 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/archive/changes_windows.go: -------------------------------------------------------------------------------- 1 | package archive 2 | 3 | import ( 4 | "os" 5 | 6 | "github.com/docker/docker/pkg/system" 7 | ) 8 | 9 | func statDifferent(oldStat *system.StatT, newStat *system.StatT) bool { 10 | 11 | // Don't look at size for dirs, its not a good measure of change 12 | if oldStat.ModTime() != newStat.ModTime() || 13 | oldStat.Mode() != newStat.Mode() || 14 | oldStat.Size() != newStat.Size() && !oldStat.IsDir() { 15 | return true 16 | } 17 | return false 18 | } 19 | 20 | func (info *FileInfo) isDir() bool { 21 | return info.parent == nil || info.stat.IsDir() 22 | } 23 | 24 | func getIno(fi os.FileInfo) (inode uint64) { 25 | return 26 | } 27 | 28 | func hasHardlinks(fi os.FileInfo) bool { 29 | return false 30 | } 31 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/archive/copy_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package archive 4 | 5 | import ( 6 | "path/filepath" 7 | ) 8 | 9 | func normalizePath(path string) string { 10 | return filepath.ToSlash(path) 11 | } 12 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/archive/copy_windows.go: -------------------------------------------------------------------------------- 1 | package archive 2 | 3 | import ( 4 | "path/filepath" 5 | ) 6 | 7 | func normalizePath(path string) string { 8 | return filepath.FromSlash(path) 9 | } 10 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/archive/testdata/broken.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/archive/testdata/broken.tar -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/archive/time_linux.go: -------------------------------------------------------------------------------- 1 | package archive 2 | 3 | import ( 4 | "syscall" 5 | "time" 6 | ) 7 | 8 | func timeToTimespec(time time.Time) (ts syscall.Timespec) { 9 | if time.IsZero() { 10 | // Return UTIME_OMIT special value 11 | ts.Sec = 0 12 | ts.Nsec = ((1 << 30) - 2) 13 | return 14 | } 15 | return syscall.NsecToTimespec(time.UnixNano()) 16 | } 17 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/archive/time_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux 2 | 3 | package archive 4 | 5 | import ( 6 | "syscall" 7 | "time" 8 | ) 9 | 10 | func timeToTimespec(time time.Time) (ts syscall.Timespec) { 11 | nsec := int64(0) 12 | if !time.IsZero() { 13 | nsec = time.UnixNano() 14 | } 15 | return syscall.NsecToTimespec(nsec) 16 | } 17 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/chrootarchive/archive_windows.go: -------------------------------------------------------------------------------- 1 | package chrootarchive 2 | 3 | import ( 4 | "io" 5 | 6 | "github.com/docker/docker/pkg/archive" 7 | "github.com/docker/docker/pkg/longpath" 8 | ) 9 | 10 | // chroot is not supported by Windows 11 | func chroot(path string) error { 12 | return nil 13 | } 14 | 15 | func invokeUnpack(decompressedArchive io.ReadCloser, 16 | dest string, 17 | options *archive.TarOptions) error { 18 | // Windows is different to Linux here because Windows does not support 19 | // chroot. Hence there is no point sandboxing a chrooted process to 20 | // do the unpack. We call inline instead within the daemon process. 21 | return archive.Unpack(decompressedArchive, longpath.AddPrefix(dest), options) 22 | } 23 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/chrootarchive/chroot_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows,!linux 2 | 3 | package chrootarchive 4 | 5 | import "syscall" 6 | 7 | func chroot(path string) error { 8 | if err := syscall.Chroot(path); err != nil { 9 | return err 10 | } 11 | return syscall.Chdir("/") 12 | } 13 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/chrootarchive/init_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package chrootarchive 4 | 5 | import ( 6 | "fmt" 7 | "io" 8 | "io/ioutil" 9 | "os" 10 | 11 | "github.com/docker/docker/pkg/reexec" 12 | ) 13 | 14 | func init() { 15 | reexec.Register("docker-applyLayer", applyLayer) 16 | reexec.Register("docker-untar", untar) 17 | } 18 | 19 | func fatal(err error) { 20 | fmt.Fprint(os.Stderr, err) 21 | os.Exit(1) 22 | } 23 | 24 | // flush consumes all the bytes from the reader discarding 25 | // any errors 26 | func flush(r io.Reader) (bytes int64, err error) { 27 | return io.Copy(ioutil.Discard, r) 28 | } 29 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/chrootarchive/init_windows.go: -------------------------------------------------------------------------------- 1 | package chrootarchive 2 | 3 | func init() { 4 | } 5 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/devicemapper/devmapper_wrapper_no_deferred_remove.go: -------------------------------------------------------------------------------- 1 | // +build linux,libdm_no_deferred_remove 2 | 3 | package devicemapper 4 | 5 | // LibraryDeferredRemovalsupport is not supported when statically linked. 6 | const LibraryDeferredRemovalSupport = false 7 | 8 | func dmTaskDeferredRemoveFct(task *cdmTask) int { 9 | // Error. Nobody should be calling it. 10 | return -1 11 | } 12 | 13 | func dmTaskGetInfoWithDeferredFct(task *cdmTask, info *Info) int { 14 | return -1 15 | } 16 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/devicemapper/ioctl.go: -------------------------------------------------------------------------------- 1 | // +build linux 2 | 3 | package devicemapper 4 | 5 | import ( 6 | "syscall" 7 | "unsafe" 8 | ) 9 | 10 | func ioctlBlkGetSize64(fd uintptr) (int64, error) { 11 | var size int64 12 | if _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, BlkGetSize64, uintptr(unsafe.Pointer(&size))); err != 0 { 13 | return 0, err 14 | } 15 | return size, nil 16 | } 17 | 18 | func ioctlBlkDiscard(fd uintptr, offset, length uint64) error { 19 | var r [2]uint64 20 | r[0] = offset 21 | r[1] = length 22 | 23 | if _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, BlkDiscard, uintptr(unsafe.Pointer(&r[0]))); err != 0 { 24 | return err 25 | } 26 | return nil 27 | } 28 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/devicemapper/log.go: -------------------------------------------------------------------------------- 1 | package devicemapper 2 | 3 | // definitions from lvm2 lib/log/log.h 4 | const ( 5 | LogLevelFatal = 2 + iota // _LOG_FATAL 6 | LogLevelErr // _LOG_ERR 7 | LogLevelWarn // _LOG_WARN 8 | LogLevelNotice // _LOG_NOTICE 9 | LogLevelInfo // _LOG_INFO 10 | LogLevelDebug // _LOG_DEBUG 11 | ) 12 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/directory/directory.go: -------------------------------------------------------------------------------- 1 | package directory 2 | 3 | import ( 4 | "io/ioutil" 5 | "os" 6 | "path/filepath" 7 | ) 8 | 9 | // MoveToSubdir moves all contents of a directory to a subdirectory underneath the original path 10 | func MoveToSubdir(oldpath, subdir string) error { 11 | 12 | infos, err := ioutil.ReadDir(oldpath) 13 | if err != nil { 14 | return err 15 | } 16 | for _, info := range infos { 17 | if info.Name() != subdir { 18 | oldName := filepath.Join(oldpath, info.Name()) 19 | newName := filepath.Join(oldpath, subdir, info.Name()) 20 | if err := os.Rename(oldName, newName); err != nil { 21 | return err 22 | } 23 | } 24 | } 25 | return nil 26 | } 27 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/filenotify/fsnotify.go: -------------------------------------------------------------------------------- 1 | package filenotify 2 | 3 | import "gopkg.in/fsnotify.v1" 4 | 5 | // fsNotifyWatcher wraps the fsnotify package to satisfy the FileNotifer interface 6 | type fsNotifyWatcher struct { 7 | *fsnotify.Watcher 8 | } 9 | 10 | // Events returns the fsnotify event channel receiver 11 | func (w *fsNotifyWatcher) Events() <-chan fsnotify.Event { 12 | return w.Watcher.Events 13 | } 14 | 15 | // Errors returns the fsnotify error channel receiver 16 | func (w *fsNotifyWatcher) Errors() <-chan error { 17 | return w.Watcher.Errors 18 | } 19 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/fileutils/fileutils_darwin.go: -------------------------------------------------------------------------------- 1 | package fileutils 2 | 3 | import ( 4 | "os" 5 | "os/exec" 6 | "strconv" 7 | "strings" 8 | ) 9 | 10 | // GetTotalUsedFds returns the number of used File Descriptors by 11 | // executing `lsof -p PID` 12 | func GetTotalUsedFds() int { 13 | pid := os.Getpid() 14 | 15 | cmd := exec.Command("lsof", "-p", strconv.Itoa(pid)) 16 | 17 | output, err := cmd.CombinedOutput() 18 | if err != nil { 19 | return -1 20 | } 21 | 22 | outputStr := strings.TrimSpace(string(output)) 23 | 24 | fds := strings.Split(outputStr, "\n") 25 | 26 | return len(fds) - 1 27 | } 28 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/fileutils/fileutils_solaris.go: -------------------------------------------------------------------------------- 1 | package fileutils 2 | 3 | // GetTotalUsedFds Returns the number of used File Descriptors. 4 | // On Solaris these limits are per process and not systemwide 5 | func GetTotalUsedFds() int { 6 | return -1 7 | } 8 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/fileutils/fileutils_unix.go: -------------------------------------------------------------------------------- 1 | // +build linux freebsd 2 | 3 | package fileutils 4 | 5 | import ( 6 | "fmt" 7 | "io/ioutil" 8 | "os" 9 | 10 | "github.com/Sirupsen/logrus" 11 | ) 12 | 13 | // GetTotalUsedFds Returns the number of used File Descriptors by 14 | // reading it via /proc filesystem. 15 | func GetTotalUsedFds() int { 16 | if fds, err := ioutil.ReadDir(fmt.Sprintf("/proc/%d/fd", os.Getpid())); err != nil { 17 | logrus.Errorf("Error opening /proc/%d/fd: %s", os.Getpid(), err) 18 | } else { 19 | return len(fds) 20 | } 21 | return -1 22 | } 23 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/fileutils/fileutils_windows.go: -------------------------------------------------------------------------------- 1 | package fileutils 2 | 3 | // GetTotalUsedFds Returns the number of used File Descriptors. Not supported 4 | // on Windows. 5 | func GetTotalUsedFds() int { 6 | return -1 7 | } 8 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/graphdb/conn_sqlite3.go: -------------------------------------------------------------------------------- 1 | // +build cgo 2 | 3 | package graphdb 4 | 5 | import "database/sql" 6 | 7 | // NewSqliteConn opens a connection to a sqlite 8 | // database. 9 | func NewSqliteConn(root string) (*Database, error) { 10 | conn, err := sql.Open("sqlite3", root) 11 | if err != nil { 12 | return nil, err 13 | } 14 | return NewDatabase(conn) 15 | } 16 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/graphdb/conn_sqlite3_unix.go: -------------------------------------------------------------------------------- 1 | // +build cgo,!windows 2 | 3 | package graphdb 4 | 5 | import ( 6 | _ "github.com/mattn/go-sqlite3" // registers sqlite 7 | ) 8 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/graphdb/conn_sqlite3_windows.go: -------------------------------------------------------------------------------- 1 | // +build cgo,windows 2 | 3 | package graphdb 4 | 5 | import ( 6 | _ "github.com/mattn/go-sqlite3" // registers sqlite 7 | ) 8 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/graphdb/conn_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !cgo 2 | 3 | package graphdb 4 | 5 | // NewSqliteConn return a new sqlite connection. 6 | func NewSqliteConn(root string) (*Database, error) { 7 | panic("Not implemented") 8 | } 9 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/graphdb/sort.go: -------------------------------------------------------------------------------- 1 | package graphdb 2 | 3 | import "sort" 4 | 5 | type pathSorter struct { 6 | paths []string 7 | by func(i, j string) bool 8 | } 9 | 10 | func sortByDepth(paths []string) { 11 | s := &pathSorter{paths, func(i, j string) bool { 12 | return PathDepth(i) > PathDepth(j) 13 | }} 14 | sort.Sort(s) 15 | } 16 | 17 | func (s *pathSorter) Len() int { 18 | return len(s.paths) 19 | } 20 | 21 | func (s *pathSorter) Swap(i, j int) { 22 | s.paths[i], s.paths[j] = s.paths[j], s.paths[i] 23 | } 24 | 25 | func (s *pathSorter) Less(i, j int) bool { 26 | return s.by(s.paths[i], s.paths[j]) 27 | } 28 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/graphdb/sort_test.go: -------------------------------------------------------------------------------- 1 | package graphdb 2 | 3 | import ( 4 | "testing" 5 | ) 6 | 7 | func TestSort(t *testing.T) { 8 | paths := []string{ 9 | "/", 10 | "/myreallylongname", 11 | "/app/db", 12 | } 13 | 14 | sortByDepth(paths) 15 | 16 | if len(paths) != 3 { 17 | t.Fatalf("Expected 3 parts got %d", len(paths)) 18 | } 19 | 20 | if paths[0] != "/app/db" { 21 | t.Fatalf("Expected /app/db got %s", paths[0]) 22 | } 23 | if paths[1] != "/myreallylongname" { 24 | t.Fatalf("Expected /myreallylongname got %s", paths[1]) 25 | } 26 | if paths[2] != "/" { 27 | t.Fatalf("Expected / got %s", paths[2]) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/graphdb/utils.go: -------------------------------------------------------------------------------- 1 | package graphdb 2 | 3 | import ( 4 | "path" 5 | "strings" 6 | ) 7 | 8 | // Split p on / 9 | func split(p string) []string { 10 | return strings.Split(p, "/") 11 | } 12 | 13 | // PathDepth returns the depth or number of / in a given path 14 | func PathDepth(p string) int { 15 | parts := split(p) 16 | if len(parts) == 2 && parts[1] == "" { 17 | return 1 18 | } 19 | return len(parts) 20 | } 21 | 22 | func splitPath(p string) (parent, name string) { 23 | if p[0] != '/' { 24 | p = "/" + p 25 | } 26 | parent, name = path.Split(p) 27 | l := len(parent) 28 | if parent[l-1] == '/' { 29 | parent = parent[:l-1] 30 | } 31 | return 32 | } 33 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/homedir/homedir_test.go: -------------------------------------------------------------------------------- 1 | package homedir 2 | 3 | import ( 4 | "path/filepath" 5 | "testing" 6 | ) 7 | 8 | func TestGet(t *testing.T) { 9 | home := Get() 10 | if home == "" { 11 | t.Fatal("returned home directory is empty") 12 | } 13 | 14 | if !filepath.IsAbs(home) { 15 | t.Fatalf("returned path is not absolute: %s", home) 16 | } 17 | } 18 | 19 | func TestGetShortcutString(t *testing.T) { 20 | shortcut := GetShortcutString() 21 | if shortcut == "" { 22 | t.Fatal("returned shortcut string is empty") 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/httputils/mimetype_test.go: -------------------------------------------------------------------------------- 1 | package httputils 2 | 3 | import ( 4 | "testing" 5 | ) 6 | 7 | func TestDetectContentType(t *testing.T) { 8 | input := []byte("That is just a plain text") 9 | 10 | if contentType, _, err := DetectContentType(input); err != nil || contentType != "text/plain" { 11 | t.Errorf("TestDetectContentType failed") 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/idtools/idtools_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package idtools 4 | 5 | import ( 6 | "os" 7 | 8 | "github.com/docker/docker/pkg/system" 9 | ) 10 | 11 | // Platforms such as Windows do not support the UID/GID concept. So make this 12 | // just a wrapper around system.MkdirAll. 13 | func mkdirAs(path string, mode os.FileMode, ownerUID, ownerGID int, mkAll, chownExisting bool) error { 14 | if err := system.MkdirAll(path, mode); err != nil && !os.IsExist(err) { 15 | return err 16 | } 17 | return nil 18 | } 19 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/idtools/usergroupadd_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux 2 | 3 | package idtools 4 | 5 | import "fmt" 6 | 7 | // AddNamespaceRangesUser takes a name and finds an unused uid, gid pair 8 | // and calls the appropriate helper function to add the group and then 9 | // the user to the group in /etc/group and /etc/passwd respectively. 10 | func AddNamespaceRangesUser(name string) (int, int, error) { 11 | return -1, -1, fmt.Errorf("No support for adding users or groups on this OS") 12 | } 13 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/ioutils/fmt.go: -------------------------------------------------------------------------------- 1 | package ioutils 2 | 3 | import ( 4 | "fmt" 5 | "io" 6 | ) 7 | 8 | // FprintfIfNotEmpty prints the string value if it's not empty 9 | func FprintfIfNotEmpty(w io.Writer, format, value string) (int, error) { 10 | if value != "" { 11 | return fmt.Fprintf(w, format, value) 12 | } 13 | return 0, nil 14 | } 15 | 16 | // FprintfIfTrue prints the boolean value if it's true 17 | func FprintfIfTrue(w io.Writer, format string, ok bool) (int, error) { 18 | if ok { 19 | return fmt.Fprintf(w, format, ok) 20 | } 21 | return 0, nil 22 | } 23 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/ioutils/fmt_test.go: -------------------------------------------------------------------------------- 1 | package ioutils 2 | 3 | import "testing" 4 | 5 | func TestFprintfIfNotEmpty(t *testing.T) { 6 | wc := NewWriteCounter(&NopWriter{}) 7 | n, _ := FprintfIfNotEmpty(wc, "foo%s", "") 8 | 9 | if wc.Count != 0 || n != 0 { 10 | t.Errorf("Wrong count: %v vs. %v vs. 0", wc.Count, n) 11 | } 12 | 13 | n, _ = FprintfIfNotEmpty(wc, "foo%s", "bar") 14 | if wc.Count != 6 || n != 6 { 15 | t.Errorf("Wrong count: %v vs. %v vs. 6", wc.Count, n) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/ioutils/temp_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package ioutils 4 | 5 | import "io/ioutil" 6 | 7 | // TempDir on Unix systems is equivalent to ioutil.TempDir. 8 | func TempDir(dir, prefix string) (string, error) { 9 | return ioutil.TempDir(dir, prefix) 10 | } 11 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/ioutils/temp_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package ioutils 4 | 5 | import ( 6 | "io/ioutil" 7 | 8 | "github.com/docker/docker/pkg/longpath" 9 | ) 10 | 11 | // TempDir is the equivalent of ioutil.TempDir, except that the result is in Windows longpath format. 12 | func TempDir(dir, prefix string) (string, error) { 13 | tempDir, err := ioutil.TempDir(dir, prefix) 14 | if err != nil { 15 | return "", err 16 | } 17 | return longpath.AddPrefix(tempDir), nil 18 | } 19 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/longpath/longpath_test.go: -------------------------------------------------------------------------------- 1 | package longpath 2 | 3 | import ( 4 | "strings" 5 | "testing" 6 | ) 7 | 8 | func TestStandardLongPath(t *testing.T) { 9 | c := `C:\simple\path` 10 | longC := AddPrefix(c) 11 | if !strings.EqualFold(longC, `\\?\C:\simple\path`) { 12 | t.Errorf("Wrong long path returned. Original = %s ; Long = %s", c, longC) 13 | } 14 | } 15 | 16 | func TestUNCLongPath(t *testing.T) { 17 | c := `\\server\share\path` 18 | longC := AddPrefix(c) 19 | if !strings.EqualFold(longC, `\\?\UNC\server\share\path`) { 20 | t.Errorf("Wrong UNC long path returned. Original = %s ; Long = %s", c, longC) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/mount/flags_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!freebsd freebsd,!cgo solaris,!cgo 2 | 3 | package mount 4 | 5 | // These flags are unsupported. 6 | const ( 7 | BIND = 0 8 | DIRSYNC = 0 9 | MANDLOCK = 0 10 | NOATIME = 0 11 | NODEV = 0 12 | NODIRATIME = 0 13 | NOEXEC = 0 14 | NOSUID = 0 15 | UNBINDABLE = 0 16 | RUNBINDABLE = 0 17 | PRIVATE = 0 18 | RPRIVATE = 0 19 | SHARED = 0 20 | RSHARED = 0 21 | SLAVE = 0 22 | RSLAVE = 0 23 | RBIND = 0 24 | RELATIME = 0 25 | RELATIVE = 0 26 | REMOUNT = 0 27 | STRICTATIME = 0 28 | SYNCHRONOUS = 0 29 | RDONLY = 0 30 | ) 31 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/mount/mounter_linux.go: -------------------------------------------------------------------------------- 1 | package mount 2 | 3 | import ( 4 | "syscall" 5 | ) 6 | 7 | func mount(device, target, mType string, flag uintptr, data string) error { 8 | if err := syscall.Mount(device, target, mType, flag, data); err != nil { 9 | return err 10 | } 11 | 12 | // If we have a bind mount or remount, remount... 13 | if flag&syscall.MS_BIND == syscall.MS_BIND && flag&syscall.MS_RDONLY == syscall.MS_RDONLY { 14 | return syscall.Mount(device, target, mType, flag|syscall.MS_REMOUNT, data) 15 | } 16 | return nil 17 | } 18 | 19 | func unmount(target string, flag int) error { 20 | return syscall.Unmount(target, flag) 21 | } 22 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/mount/mounter_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!freebsd,!solaris freebsd,!cgo solaris,!cgo 2 | 3 | package mount 4 | 5 | func mount(device, target, mType string, flag uintptr, data string) error { 6 | panic("Not implemented") 7 | } 8 | 9 | func unmount(target string, flag int) error { 10 | panic("Not implemented") 11 | } 12 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/mount/mountinfo_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !windows,!linux,!freebsd,!solaris freebsd,!cgo solaris,!cgo 2 | 3 | package mount 4 | 5 | import ( 6 | "fmt" 7 | "runtime" 8 | ) 9 | 10 | func parseMountTable() ([]*Info, error) { 11 | return nil, fmt.Errorf("mount.parseMountTable is not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) 12 | } 13 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/mount/mountinfo_windows.go: -------------------------------------------------------------------------------- 1 | package mount 2 | 3 | func parseMountTable() ([]*Info, error) { 4 | // Do NOT return an error! 5 | return nil, nil 6 | } 7 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/namesgenerator/cmd/names-generator/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/docker/docker/pkg/namesgenerator" 7 | ) 8 | 9 | func main() { 10 | fmt.Println(namesgenerator.GetRandomName(0)) 11 | } 12 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/namesgenerator/names-generator_test.go: -------------------------------------------------------------------------------- 1 | package namesgenerator 2 | 3 | import ( 4 | "strings" 5 | "testing" 6 | ) 7 | 8 | func TestNameFormat(t *testing.T) { 9 | name := GetRandomName(0) 10 | if !strings.Contains(name, "_") { 11 | t.Fatalf("Generated name does not contain an underscore") 12 | } 13 | if strings.ContainsAny(name, "0123456789") { 14 | t.Fatalf("Generated name contains numbers!") 15 | } 16 | } 17 | 18 | func TestNameRetries(t *testing.T) { 19 | name := GetRandomName(1) 20 | if !strings.Contains(name, "_") { 21 | t.Fatalf("Generated name does not contain an underscore") 22 | } 23 | if !strings.ContainsAny(name, "0123456789") { 24 | t.Fatalf("Generated name doesn't contain a number") 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/parsers/kernel/kernel_unix.go: -------------------------------------------------------------------------------- 1 | // +build linux freebsd solaris 2 | 3 | // Package kernel provides helper function to get, parse and compare kernel 4 | // versions for different platforms. 5 | package kernel 6 | 7 | import ( 8 | "bytes" 9 | ) 10 | 11 | // GetKernelVersion gets the current kernel version. 12 | func GetKernelVersion() (*VersionInfo, error) { 13 | uts, err := uname() 14 | if err != nil { 15 | return nil, err 16 | } 17 | 18 | release := make([]byte, len(uts.Release)) 19 | 20 | i := 0 21 | for _, c := range uts.Release { 22 | release[i] = byte(c) 23 | i++ 24 | } 25 | 26 | // Remove the \x00 from the release for Atoi to parse correctly 27 | release = release[:bytes.IndexByte(release, 0)] 28 | 29 | return ParseRelease(string(release)) 30 | } 31 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/parsers/kernel/uname_linux.go: -------------------------------------------------------------------------------- 1 | package kernel 2 | 3 | import ( 4 | "syscall" 5 | ) 6 | 7 | // Utsname represents the system name structure. 8 | // It is passthrough for syscall.Utsname in order to make it portable with 9 | // other platforms where it is not available. 10 | type Utsname syscall.Utsname 11 | 12 | func uname() (*syscall.Utsname, error) { 13 | uts := &syscall.Utsname{} 14 | 15 | if err := syscall.Uname(uts); err != nil { 16 | return nil, err 17 | } 18 | return uts, nil 19 | } 20 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/parsers/kernel/uname_solaris.go: -------------------------------------------------------------------------------- 1 | package kernel 2 | 3 | import ( 4 | "golang.org/x/sys/unix" 5 | ) 6 | 7 | func uname() (*unix.Utsname, error) { 8 | uts := &unix.Utsname{} 9 | 10 | if err := unix.Uname(uts); err != nil { 11 | return nil, err 12 | } 13 | return uts, nil 14 | } 15 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/parsers/kernel/uname_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!solaris 2 | 3 | package kernel 4 | 5 | import ( 6 | "errors" 7 | ) 8 | 9 | // Utsname represents the system name structure. 10 | // It is defined here to make it portable as it is available on linux but not 11 | // on windows. 12 | type Utsname struct { 13 | Release [65]byte 14 | } 15 | 16 | func uname() (*Utsname, error) { 17 | return nil, errors.New("Kernel version detection is available only on linux") 18 | } 19 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/parsers/operatingsystem/operatingsystem_unix.go: -------------------------------------------------------------------------------- 1 | // +build freebsd darwin 2 | 3 | package operatingsystem 4 | 5 | import ( 6 | "errors" 7 | "os/exec" 8 | ) 9 | 10 | // GetOperatingSystem gets the name of the current operating system. 11 | func GetOperatingSystem() (string, error) { 12 | cmd := exec.Command("uname", "-s") 13 | osName, err := cmd.Output() 14 | if err != nil { 15 | return "", err 16 | } 17 | return string(osName), nil 18 | } 19 | 20 | // IsContainerized returns true if we are running inside a container. 21 | // No-op on FreeBSD and Darwin, always returns false. 22 | func IsContainerized() (bool, error) { 23 | // TODO: Implement jail detection for freeBSD 24 | return false, errors.New("Cannot detect if we are in container") 25 | } 26 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/pidfile/pidfile_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package pidfile 4 | 5 | import ( 6 | "os" 7 | "path/filepath" 8 | "strconv" 9 | ) 10 | 11 | func processExists(pid int) bool { 12 | if _, err := os.Stat(filepath.Join("/proc", strconv.Itoa(pid))); err == nil { 13 | return true 14 | } 15 | return false 16 | } 17 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/pidfile/pidfile_windows.go: -------------------------------------------------------------------------------- 1 | package pidfile 2 | 3 | import "syscall" 4 | 5 | const ( 6 | processQueryLimitedInformation = 0x1000 7 | 8 | stillActive = 259 9 | ) 10 | 11 | func processExists(pid int) bool { 12 | h, err := syscall.OpenProcess(processQueryLimitedInformation, false, uint32(pid)) 13 | if err != nil { 14 | return false 15 | } 16 | var c uint32 17 | err = syscall.GetExitCodeProcess(h, &c) 18 | syscall.Close(h) 19 | if err != nil { 20 | return c == stillActive 21 | } 22 | return true 23 | } 24 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/platform/architecture_linux.go: -------------------------------------------------------------------------------- 1 | // Package platform provides helper function to get the runtime architecture 2 | // for different platforms. 3 | package platform 4 | 5 | import ( 6 | "syscall" 7 | ) 8 | 9 | // runtimeArchitecture gets the name of the current architecture (x86, x86_64, …) 10 | func runtimeArchitecture() (string, error) { 11 | utsname := &syscall.Utsname{} 12 | if err := syscall.Uname(utsname); err != nil { 13 | return "", err 14 | } 15 | return charsToString(utsname.Machine), nil 16 | } 17 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/platform/architecture_unix.go: -------------------------------------------------------------------------------- 1 | // +build freebsd solaris darwin 2 | 3 | // Package platform provides helper function to get the runtime architecture 4 | // for different platforms. 5 | package platform 6 | 7 | import ( 8 | "os/exec" 9 | "strings" 10 | ) 11 | 12 | // runtimeArchitecture gets the name of the current architecture (x86, x86_64, i86pc, sun4v, ...) 13 | func runtimeArchitecture() (string, error) { 14 | cmd := exec.Command("/usr/bin/uname", "-m") 15 | machine, err := cmd.Output() 16 | if err != nil { 17 | return "", err 18 | } 19 | return strings.TrimSpace(string(machine)), nil 20 | } 21 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/platform/platform.go: -------------------------------------------------------------------------------- 1 | package platform 2 | 3 | import ( 4 | "runtime" 5 | 6 | "github.com/Sirupsen/logrus" 7 | ) 8 | 9 | var ( 10 | // Architecture holds the runtime architecture of the process. 11 | Architecture string 12 | // OSType holds the runtime operating system type (Linux, …) of the process. 13 | OSType string 14 | ) 15 | 16 | func init() { 17 | var err error 18 | Architecture, err = runtimeArchitecture() 19 | if err != nil { 20 | logrus.Errorf("Could not read system architecture info: %v", err) 21 | } 22 | OSType = runtime.GOOS 23 | } 24 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/platform/utsname_int8.go: -------------------------------------------------------------------------------- 1 | // +build linux,386 linux,amd64 linux,arm64 2 | // see golang's sources src/syscall/ztypes_linux_*.go that use int8 3 | 4 | package platform 5 | 6 | // Convert the OS/ARCH-specific utsname.Machine to string 7 | // given as an array of signed int8 8 | func charsToString(ca [65]int8) string { 9 | s := make([]byte, len(ca)) 10 | var lens int 11 | for ; lens < len(ca); lens++ { 12 | if ca[lens] == 0 { 13 | break 14 | } 15 | s[lens] = uint8(ca[lens]) 16 | } 17 | return string(s[0:lens]) 18 | } 19 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/platform/utsname_uint8.go: -------------------------------------------------------------------------------- 1 | // +build linux,arm linux,ppc64 linux,ppc64le s390x 2 | // see golang's sources src/syscall/ztypes_linux_*.go that use uint8 3 | 4 | package platform 5 | 6 | // Convert the OS/ARCH-specific utsname.Machine to string 7 | // given as an array of unsigned uint8 8 | func charsToString(ca [65]uint8) string { 9 | s := make([]byte, len(ca)) 10 | var lens int 11 | for ; lens < len(ca); lens++ { 12 | if ca[lens] == 0 { 13 | break 14 | } 15 | s[lens] = ca[lens] 16 | } 17 | return string(s[0:lens]) 18 | } 19 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/plugins/errors.go: -------------------------------------------------------------------------------- 1 | package plugins 2 | 3 | import ( 4 | "fmt" 5 | "net/http" 6 | ) 7 | 8 | type statusError struct { 9 | status int 10 | method string 11 | err string 12 | } 13 | 14 | // Error returns a formatted string for this error type 15 | func (e *statusError) Error() string { 16 | return fmt.Sprintf("%s: %v", e.method, e.err) 17 | } 18 | 19 | // IsNotFound indicates if the passed in error is from an http.StatusNotFound from the plugin 20 | func IsNotFound(err error) bool { 21 | return isStatusError(err, http.StatusNotFound) 22 | } 23 | 24 | func isStatusError(err error, status int) bool { 25 | if err == nil { 26 | return false 27 | } 28 | e, ok := err.(*statusError) 29 | if !ok { 30 | return false 31 | } 32 | return e.status == status 33 | } 34 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/plugins/pluginrpc-gen/fixtures/otherfixture/spaceship.go: -------------------------------------------------------------------------------- 1 | package otherfixture 2 | 3 | // Spaceship is a fixture for tests 4 | type Spaceship struct{} 5 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/promise/promise.go: -------------------------------------------------------------------------------- 1 | package promise 2 | 3 | // Go is a basic promise implementation: it wraps calls a function in a goroutine, 4 | // and returns a channel which will later return the function's return value. 5 | func Go(f func() error) chan error { 6 | ch := make(chan error, 1) 7 | go func() { 8 | ch <- f() 9 | }() 10 | return ch 11 | } 12 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/random/random_test.go: -------------------------------------------------------------------------------- 1 | package random 2 | 3 | import ( 4 | "math/rand" 5 | "sync" 6 | "testing" 7 | ) 8 | 9 | // for go test -v -race 10 | func TestConcurrency(t *testing.T) { 11 | rnd := rand.New(NewSource()) 12 | var wg sync.WaitGroup 13 | 14 | for i := 0; i < 10; i++ { 15 | wg.Add(1) 16 | go func() { 17 | rnd.Int63() 18 | wg.Done() 19 | }() 20 | } 21 | wg.Wait() 22 | } 23 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/reexec/README.md: -------------------------------------------------------------------------------- 1 | ## reexec 2 | 3 | The `reexec` package facilitates the busybox style reexec of the docker binary that we require because 4 | of the forking limitations of using Go. Handlers can be registered with a name and the argv 0 of 5 | the exec of the binary will be used to find and execute custom init paths. 6 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/reexec/command_linux.go: -------------------------------------------------------------------------------- 1 | // +build linux 2 | 3 | package reexec 4 | 5 | import ( 6 | "os/exec" 7 | "syscall" 8 | ) 9 | 10 | // Self returns the path to the current process's binary. 11 | // Returns "/proc/self/exe". 12 | func Self() string { 13 | return "/proc/self/exe" 14 | } 15 | 16 | // Command returns *exec.Cmd which have Path as current binary. Also it setting 17 | // SysProcAttr.Pdeathsig to SIGTERM. 18 | // This will use the in-memory version (/proc/self/exe) of the current binary, 19 | // it is thus safe to delete or replace the on-disk binary (os.Args[0]). 20 | func Command(args ...string) *exec.Cmd { 21 | return &exec.Cmd{ 22 | Path: Self(), 23 | Args: args, 24 | SysProcAttr: &syscall.SysProcAttr{ 25 | Pdeathsig: syscall.SIGTERM, 26 | }, 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/reexec/command_unix.go: -------------------------------------------------------------------------------- 1 | // +build freebsd solaris 2 | 3 | package reexec 4 | 5 | import ( 6 | "os/exec" 7 | ) 8 | 9 | // Self returns the path to the current process's binary. 10 | // Uses os.Args[0]. 11 | func Self() string { 12 | return naiveSelf() 13 | } 14 | 15 | // Command returns *exec.Cmd which have Path as current binary. 16 | // For example if current binary is "docker" at "/usr/bin/", then cmd.Path will 17 | // be set to "/usr/bin/docker". 18 | func Command(args ...string) *exec.Cmd { 19 | return &exec.Cmd{ 20 | Path: Self(), 21 | Args: args, 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/reexec/command_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!windows,!freebsd,!solaris 2 | 3 | package reexec 4 | 5 | import ( 6 | "os/exec" 7 | ) 8 | 9 | // Command is unsupported on operating systems apart from Linux and Windows. 10 | func Command(args ...string) *exec.Cmd { 11 | return nil 12 | } 13 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/reexec/command_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package reexec 4 | 5 | import ( 6 | "os/exec" 7 | ) 8 | 9 | // Self returns the path to the current process's binary. 10 | // Uses os.Args[0]. 11 | func Self() string { 12 | return naiveSelf() 13 | } 14 | 15 | // Command returns *exec.Cmd which have Path as current binary. 16 | // For example if current binary is "docker.exe" at "C:\", then cmd.Path will 17 | // be set to "C:\docker.exe". 18 | func Command(args ...string) *exec.Cmd { 19 | return &exec.Cmd{ 20 | Path: Self(), 21 | Args: args, 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/signal/README.md: -------------------------------------------------------------------------------- 1 | This package provides helper functions for dealing with signals across various operating systems -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/signal/signal_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!darwin,!freebsd,!windows,!solaris 2 | 3 | package signal 4 | 5 | import ( 6 | "syscall" 7 | ) 8 | 9 | // SignalMap is an empty map of signals for unsupported platform. 10 | var SignalMap = map[string]syscall.Signal{} 11 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/stringid/README.md: -------------------------------------------------------------------------------- 1 | This package provides helper functions for dealing with string identifiers 2 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/stringutils/README.md: -------------------------------------------------------------------------------- 1 | This package provides helper functions for dealing with strings 2 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/symlink/README.md: -------------------------------------------------------------------------------- 1 | Package symlink implements EvalSymlinksInScope which is an extension of filepath.EvalSymlinks, 2 | as well as a Windows long-path aware version of filepath.EvalSymlinks 3 | from the [Go standard library](https://golang.org/pkg/path/filepath). 4 | 5 | The code from filepath.EvalSymlinks has been adapted in fs.go. 6 | Please read the LICENSE.BSD file that governs fs.go and LICENSE.APACHE for fs_test.go. 7 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/symlink/fs_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package symlink 4 | 5 | import ( 6 | "path/filepath" 7 | ) 8 | 9 | func evalSymlinks(path string) (string, error) { 10 | return filepath.EvalSymlinks(path) 11 | } 12 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/sysinfo/README.md: -------------------------------------------------------------------------------- 1 | SysInfo stores information about which features a kernel supports. 2 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/sysinfo/numcpu.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!windows 2 | 3 | package sysinfo 4 | 5 | import ( 6 | "runtime" 7 | ) 8 | 9 | // NumCPU returns the number of CPUs 10 | func NumCPU() int { 11 | return runtime.NumCPU() 12 | } 13 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/sysinfo/sysinfo_freebsd.go: -------------------------------------------------------------------------------- 1 | package sysinfo 2 | 3 | // New returns an empty SysInfo for freebsd for now. 4 | func New(quiet bool) *SysInfo { 5 | sysInfo := &SysInfo{} 6 | return sysInfo 7 | } 8 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/sysinfo/sysinfo_windows.go: -------------------------------------------------------------------------------- 1 | package sysinfo 2 | 3 | // New returns an empty SysInfo for windows for now. 4 | func New(quiet bool) *SysInfo { 5 | sysInfo := &SysInfo{} 6 | return sysInfo 7 | } 8 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/chtimes_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package system 4 | 5 | import ( 6 | "time" 7 | ) 8 | 9 | //setCTime will set the create time on a file. On Unix, the create 10 | //time is updated as a side effect of setting the modified time, so 11 | //no action is required. 12 | func setCTime(path string, ctime time.Time) error { 13 | return nil 14 | } 15 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/errors.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import ( 4 | "errors" 5 | ) 6 | 7 | var ( 8 | // ErrNotSupportedPlatform means the platform is not supported. 9 | ErrNotSupportedPlatform = errors.New("platform and architecture is not supported") 10 | ) 11 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/filesys.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package system 4 | 5 | import ( 6 | "os" 7 | "path/filepath" 8 | ) 9 | 10 | // MkdirAll creates a directory named path along with any necessary parents, 11 | // with permission specified by attribute perm for all dir created. 12 | func MkdirAll(path string, perm os.FileMode) error { 13 | return os.MkdirAll(path, perm) 14 | } 15 | 16 | // IsAbs is a platform-specific wrapper for filepath.IsAbs. 17 | func IsAbs(path string) bool { 18 | return filepath.IsAbs(path) 19 | } 20 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/lstat.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package system 4 | 5 | import ( 6 | "syscall" 7 | ) 8 | 9 | // Lstat takes a path to a file and returns 10 | // a system.StatT type pertaining to that file. 11 | // 12 | // Throws an error if the file does not exist 13 | func Lstat(path string) (*StatT, error) { 14 | s := &syscall.Stat_t{} 15 | if err := syscall.Lstat(path, s); err != nil { 16 | return nil, err 17 | } 18 | return fromStatT(s) 19 | } 20 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/lstat_unix_test.go: -------------------------------------------------------------------------------- 1 | // +build linux freebsd 2 | 3 | package system 4 | 5 | import ( 6 | "os" 7 | "testing" 8 | ) 9 | 10 | // TestLstat tests Lstat for existing and non existing files 11 | func TestLstat(t *testing.T) { 12 | file, invalid, _, dir := prepareFiles(t) 13 | defer os.RemoveAll(dir) 14 | 15 | statFile, err := Lstat(file) 16 | if err != nil { 17 | t.Fatal(err) 18 | } 19 | if statFile == nil { 20 | t.Fatal("returned empty stat for existing file") 21 | } 22 | 23 | statInvalid, err := Lstat(invalid) 24 | if err == nil { 25 | t.Fatal("did not return error for non-existing file") 26 | } 27 | if statInvalid != nil { 28 | t.Fatal("returned non-nil stat for non-existing file") 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/lstat_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package system 4 | 5 | import ( 6 | "os" 7 | ) 8 | 9 | // Lstat calls os.Lstat to get a fileinfo interface back. 10 | // This is then copied into our own locally defined structure. 11 | // Note the Linux version uses fromStatT to do the copy back, 12 | // but that not strictly necessary when already in an OS specific module. 13 | func Lstat(path string) (*StatT, error) { 14 | fi, err := os.Lstat(path) 15 | if err != nil { 16 | return nil, err 17 | } 18 | 19 | return &StatT{ 20 | name: fi.Name(), 21 | size: fi.Size(), 22 | mode: fi.Mode(), 23 | modTime: fi.ModTime(), 24 | isDir: fi.IsDir()}, nil 25 | } 26 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/meminfo.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | // MemInfo contains memory statistics of the host system. 4 | type MemInfo struct { 5 | // Total usable RAM (i.e. physical RAM minus a few reserved bits and the 6 | // kernel binary code). 7 | MemTotal int64 8 | 9 | // Amount of free memory. 10 | MemFree int64 11 | 12 | // Total amount of swap space available. 13 | SwapTotal int64 14 | 15 | // Amount of swap space that is currently unused. 16 | SwapFree int64 17 | } 18 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/meminfo_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!windows,!solaris 2 | 3 | package system 4 | 5 | // ReadMemInfo is not supported on platforms other than linux and windows. 6 | func ReadMemInfo() (*MemInfo, error) { 7 | return nil, ErrNotSupportedPlatform 8 | } 9 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/mknod_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package system 4 | 5 | // Mknod is not implemented on Windows. 6 | func Mknod(path string, mode uint32, dev int) error { 7 | return ErrNotSupportedPlatform 8 | } 9 | 10 | // Mkdev is not implemented on Windows. 11 | func Mkdev(major int64, minor int64) uint32 { 12 | panic("Mkdev not implemented on Windows.") 13 | } 14 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/path_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package system 4 | 5 | // DefaultPathEnv is unix style list of directories to search for 6 | // executables. Each directory is separated from the next by a colon 7 | // ':' character . 8 | const DefaultPathEnv = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 9 | 10 | // CheckSystemDriveAndRemoveDriveLetter verifies that a path, if it includes a drive letter, 11 | // is the system drive. This is a no-op on Linux. 12 | func CheckSystemDriveAndRemoveDriveLetter(path string) (string, error) { 13 | return path, nil 14 | } 15 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/stat_freebsd.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import ( 4 | "syscall" 5 | ) 6 | 7 | // fromStatT converts a syscall.Stat_t type to a system.Stat_t type 8 | func fromStatT(s *syscall.Stat_t) (*StatT, error) { 9 | return &StatT{size: s.Size, 10 | mode: uint32(s.Mode), 11 | uid: s.Uid, 12 | gid: s.Gid, 13 | rdev: uint64(s.Rdev), 14 | mtim: s.Mtimespec}, nil 15 | } 16 | 17 | // Stat takes a path to a file and returns 18 | // a system.Stat_t type pertaining to that file. 19 | // 20 | // Throws an error if the file does not exist 21 | func Stat(path string) (*StatT, error) { 22 | s := &syscall.Stat_t{} 23 | if err := syscall.Stat(path, s); err != nil { 24 | return nil, err 25 | } 26 | return fromStatT(s) 27 | } 28 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/stat_openbsd.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import ( 4 | "syscall" 5 | ) 6 | 7 | // fromStatT creates a system.StatT type from a syscall.Stat_t type 8 | func fromStatT(s *syscall.Stat_t) (*StatT, error) { 9 | return &StatT{size: s.Size, 10 | mode: uint32(s.Mode), 11 | uid: s.Uid, 12 | gid: s.Gid, 13 | rdev: uint64(s.Rdev), 14 | mtim: s.Mtim}, nil 15 | } 16 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/stat_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!windows,!freebsd,!solaris,!openbsd 2 | 3 | package system 4 | 5 | import ( 6 | "syscall" 7 | ) 8 | 9 | // fromStatT creates a system.StatT type from a syscall.Stat_t type 10 | func fromStatT(s *syscall.Stat_t) (*StatT, error) { 11 | return &StatT{size: s.Size, 12 | mode: uint32(s.Mode), 13 | uid: s.Uid, 14 | gid: s.Gid, 15 | rdev: uint64(s.Rdev), 16 | mtim: s.Mtimespec}, nil 17 | } 18 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/syscall_unix.go: -------------------------------------------------------------------------------- 1 | // +build linux freebsd 2 | 3 | package system 4 | 5 | import "syscall" 6 | 7 | // Unmount is a platform-specific helper function to call 8 | // the unmount syscall. 9 | func Unmount(dest string) error { 10 | return syscall.Unmount(dest, 0) 11 | } 12 | 13 | // CommandLineToArgv should not be used on Unix. 14 | // It simply returns commandLine in the only element in the returned array. 15 | func CommandLineToArgv(commandLine string) ([]string, error) { 16 | return []string{commandLine}, nil 17 | } 18 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/syscall_windows_test.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import "testing" 4 | 5 | func TestHasWin32KSupport(t *testing.T) { 6 | s := HasWin32KSupport() // make sure this doesn't panic 7 | 8 | t.Logf("win32k: %v", s) // will be different on different platforms -- informative only 9 | } 10 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/umask.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package system 4 | 5 | import ( 6 | "syscall" 7 | ) 8 | 9 | // Umask sets current process's file mode creation mask to newmask 10 | // and returns oldmask. 11 | func Umask(newmask int) (oldmask int, err error) { 12 | return syscall.Umask(newmask), nil 13 | } 14 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/umask_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package system 4 | 5 | // Umask is not supported on the windows platform. 6 | func Umask(newmask int) (oldmask int, err error) { 7 | // should not be called on cli code path 8 | return 0, ErrNotSupportedPlatform 9 | } 10 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/utimes_darwin.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import "syscall" 4 | 5 | // LUtimesNano is not supported by darwin platform. 6 | func LUtimesNano(path string, ts []syscall.Timespec) error { 7 | return ErrNotSupportedPlatform 8 | } 9 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/utimes_freebsd.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import ( 4 | "syscall" 5 | "unsafe" 6 | ) 7 | 8 | // LUtimesNano is used to change access and modification time of the specified path. 9 | // It's used for symbol link file because syscall.UtimesNano doesn't support a NOFOLLOW flag atm. 10 | func LUtimesNano(path string, ts []syscall.Timespec) error { 11 | var _path *byte 12 | _path, err := syscall.BytePtrFromString(path) 13 | if err != nil { 14 | return err 15 | } 16 | 17 | if _, _, err := syscall.Syscall(syscall.SYS_LUTIMES, uintptr(unsafe.Pointer(_path)), uintptr(unsafe.Pointer(&ts[0])), 0); err != 0 && err != syscall.ENOSYS { 18 | return err 19 | } 20 | 21 | return nil 22 | } 23 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/utimes_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux,!freebsd,!darwin 2 | 3 | package system 4 | 5 | import "syscall" 6 | 7 | // LUtimesNano is not supported on platforms other than linux, freebsd and darwin. 8 | func LUtimesNano(path string, ts []syscall.Timespec) error { 9 | return ErrNotSupportedPlatform 10 | } 11 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/system/xattrs_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux 2 | 3 | package system 4 | 5 | // Lgetxattr is not supported on platforms other than linux. 6 | func Lgetxattr(path string, attr string) ([]byte, error) { 7 | return nil, ErrNotSupportedPlatform 8 | } 9 | 10 | // Lsetxattr is not supported on platforms other than linux. 11 | func Lsetxattr(path string, attr string, data []byte, flags int) error { 12 | return ErrNotSupportedPlatform 13 | } 14 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/tarsum/builder_context.go: -------------------------------------------------------------------------------- 1 | package tarsum 2 | 3 | // BuilderContext is an interface extending TarSum by adding the Remove method. 4 | // In general there was concern about adding this method to TarSum itself 5 | // so instead it is being added just to "BuilderContext" which will then 6 | // only be used during the .dockerignore file processing 7 | // - see builder/evaluator.go 8 | type BuilderContext interface { 9 | TarSum 10 | Remove(string) 11 | } 12 | 13 | func (bc *tarSum) Remove(filename string) { 14 | for i, fis := range bc.sums { 15 | if fis.Name() == filename { 16 | bc.sums = append(bc.sums[:i], bc.sums[i+1:]...) 17 | // Note, we don't just return because there could be 18 | // more than one with this name 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/tarsum/testdata/511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158/json: -------------------------------------------------------------------------------- 1 | {"id":"511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158","comment":"Imported from -","created":"2013-06-13T14:03:50.821769-07:00","container_config":{"Hostname":"","Domainname":"","User":"","Memory":0,"MemorySwap":0,"CpuShares":0,"AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":null,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":null,"Cmd":null,"Image":"","Volumes":null,"WorkingDir":"","Entrypoint":null,"NetworkDisabled":false,"OnBuild":null},"docker_version":"0.4.0","architecture":"x86_64","Size":0} -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/tarsum/testdata/xattr/layer.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/tarsum/testdata/xattr/layer.tar -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/tarsum/writercloser.go: -------------------------------------------------------------------------------- 1 | package tarsum 2 | 3 | import ( 4 | "io" 5 | ) 6 | 7 | type writeCloseFlusher interface { 8 | io.WriteCloser 9 | Flush() error 10 | } 11 | 12 | type nopCloseFlusher struct { 13 | io.Writer 14 | } 15 | 16 | func (n *nopCloseFlusher) Close() error { 17 | return nil 18 | } 19 | 20 | func (n *nopCloseFlusher) Flush() error { 21 | return nil 22 | } 23 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/term/tc_other.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | // +build !linux !cgo 3 | // +build !solaris !cgo 4 | 5 | package term 6 | 7 | import ( 8 | "syscall" 9 | "unsafe" 10 | ) 11 | 12 | func tcget(fd uintptr, p *Termios) syscall.Errno { 13 | _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, uintptr(getTermios), uintptr(unsafe.Pointer(p))) 14 | return err 15 | } 16 | 17 | func tcset(fd uintptr, p *Termios) syscall.Errno { 18 | _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, setTermios, uintptr(unsafe.Pointer(p))) 19 | return err 20 | } 21 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/term/windows/windows_test.go: -------------------------------------------------------------------------------- 1 | // This file is necessary to pass the Docker tests. 2 | 3 | package windows 4 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/testutil/pkg.go: -------------------------------------------------------------------------------- 1 | package testutil 2 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/pkg/useragent/README.md: -------------------------------------------------------------------------------- 1 | This package provides helper functions to pack version information into a single User-Agent header. 2 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/volume/volume_copy.go: -------------------------------------------------------------------------------- 1 | package volume 2 | 3 | import "strings" 4 | 5 | const ( 6 | // DefaultCopyMode is the copy mode used by default for normal/named volumes 7 | DefaultCopyMode = true 8 | ) 9 | 10 | // {=isEnabled} 11 | var copyModes = map[string]bool{ 12 | "nocopy": false, 13 | } 14 | 15 | func copyModeExists(mode string) bool { 16 | _, exists := copyModes[mode] 17 | return exists 18 | } 19 | 20 | // GetCopyMode gets the copy mode from the mode string for mounts 21 | func getCopyMode(mode string) (bool, bool) { 22 | for _, o := range strings.Split(mode, ",") { 23 | if isEnabled, exists := copyModes[o]; exists { 24 | return isEnabled, true 25 | } 26 | } 27 | return DefaultCopyMode, false 28 | } 29 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/docker/volume/volume_propagation_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !linux 2 | 3 | package volume 4 | 5 | // DefaultPropagationMode is used only in linux. In other cases it returns 6 | // empty string. 7 | const DefaultPropagationMode string = "" 8 | 9 | // propagation modes not supported on this platform. 10 | var propagationModes = map[string]bool{} 11 | 12 | // GetPropagation is not supported. Return empty string. 13 | func GetPropagation(mode string) string { 14 | return DefaultPropagationMode 15 | } 16 | 17 | // HasPropagation checks if there is a valid propagation mode present in 18 | // passed string. Returns true if a valid propagation mode specifier is 19 | // present, false otherwise. 20 | func HasPropagation(mode string) bool { 21 | return false 22 | } 23 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/go-units/README.md: -------------------------------------------------------------------------------- 1 | [![GoDoc](https://godoc.org/github.com/docker/go-units?status.svg)](https://godoc.org/github.com/docker/go-units) 2 | 3 | # Introduction 4 | 5 | go-units is a library to transform human friendly measurements into machine friendly values. 6 | 7 | ## Usage 8 | 9 | See the [docs in godoc](https://godoc.org/github.com/docker/go-units) for examples and documentation. 10 | 11 | ## Copyright and license 12 | 13 | Copyright © 2015 Docker, Inc. 14 | 15 | go-units is licensed under the Apache License, Version 2.0. 16 | See [LICENSE](LICENSE) for the full text of the license. 17 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/docker/go-units/circle.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | post: 3 | # install golint 4 | - go get github.com/golang/lint/golint 5 | 6 | test: 7 | pre: 8 | # run analysis before tests 9 | - go vet ./... 10 | - test -z "$(golint ./... | tee /dev/stderr)" 11 | - test -z "$(gofmt -s -l . | tee /dev/stderr)" 12 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/fsouza/go-dockerclient/DOCKER-LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | You can find the Docker license at the following link: 6 | https://raw.githubusercontent.com/docker/docker/master/LICENSE 7 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/fsouza/go-dockerclient/cancelable.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 go-dockerclient authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build go1.5 6 | 7 | package docker 8 | 9 | import "net/http" 10 | 11 | func cancelable(client *http.Client, req *http.Request) func() { 12 | ch := make(chan struct{}) 13 | req.Cancel = ch 14 | return func() { 15 | close(ch) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/fsouza/go-dockerclient/cancelable_go14.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 go-dockerclient authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !go1.5 6 | 7 | package docker 8 | 9 | import "net/http" 10 | 11 | func cancelable(client *http.Client, req *http.Request) func() { 12 | return func() { 13 | if rc, ok := client.Transport.(interface { 14 | CancelRequest(*http.Request) 15 | }); ok { 16 | rc.CancelRequest(req) 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/gocraft/web/cover.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | go test -covermode=count -coverprofile=count.out . 4 | go tool cover -html=count.out 5 | go tool cover -func=count.out -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/gocraft/web/options_handler.go: -------------------------------------------------------------------------------- 1 | package web 2 | 3 | import ( 4 | "net/http" 5 | "reflect" 6 | "strings" 7 | ) 8 | 9 | func (r *Router) genericOptionsHandler(ctx reflect.Value, methods []string) func(rw ResponseWriter, req *Request) { 10 | return func(rw ResponseWriter, req *Request) { 11 | if r.optionsHandler.IsValid() { 12 | invoke(r.optionsHandler, ctx, []reflect.Value{reflect.ValueOf(rw), reflect.ValueOf(req), reflect.ValueOf(methods)}) 13 | } else { 14 | rw.Header().Add("Access-Control-Allow-Methods", strings.Join(methods, ", ")) 15 | rw.WriteHeader(http.StatusOK) 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/golang/protobuf/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at http://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/golang/protobuf/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at http://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/google/gofuzz/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 Google Inc. All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package fuzz is a library for populating go objects with random values. 18 | package fuzz 19 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/howeyc/gopass/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Chris Howey 2 | 3 | Permission to use, copy, modify, and distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 12 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 13 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/inconshreveable/mousetrap/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2014 Alan Shreve 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/inconshreveable/mousetrap/trap_others.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package mousetrap 4 | 5 | // StartedByExplorer returns true if the program was invoked by the user 6 | // double-clicking on the executable from explorer.exe 7 | // 8 | // It is conservative and returns false if any of the internal calls fail. 9 | // It does not guarantee that the program was run from a terminal. It only can tell you 10 | // whether it was launched from explorer.exe 11 | // 12 | // On non-Windows platforms, it always returns false. 13 | func StartedByExplorer() bool { 14 | return false 15 | } 16 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/kr/pretty/Readme: -------------------------------------------------------------------------------- 1 | package pretty 2 | 3 | import "github.com/kr/pretty" 4 | 5 | Package pretty provides pretty-printing for Go values. 6 | 7 | Documentation 8 | 9 | http://godoc.org/github.com/kr/pretty 10 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/kr/text/Readme: -------------------------------------------------------------------------------- 1 | This is a Go package for manipulating paragraphs of text. 2 | 3 | See http://go.pkgdoc.org/github.com/kr/text for full documentation. 4 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/kr/text/doc.go: -------------------------------------------------------------------------------- 1 | // Package text provides rudimentary functions for manipulating text in 2 | // paragraphs. 3 | package text 4 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c: -------------------------------------------------------------------------------- 1 | #ifndef USE_LIBSQLITE3 2 | # include "code/sqlite3-binding.c" 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h: -------------------------------------------------------------------------------- 1 | #ifndef USE_LIBSQLITE3 2 | #include "code/sqlite3-binding.h" 3 | #else 4 | #include 5 | #endif 6 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/mattn/go-sqlite3/sqlite3_icu.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2014 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | // +build icu 6 | 7 | package sqlite3 8 | 9 | /* 10 | #cgo LDFLAGS: -licuuc -licui18n 11 | #cgo CFLAGS: -DSQLITE_ENABLE_ICU 12 | */ 13 | import "C" 14 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/mattn/go-sqlite3/sqlite3_libsqlite3.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2014 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | // +build libsqlite3 6 | 7 | package sqlite3 8 | 9 | /* 10 | #cgo CFLAGS: -DUSE_LIBSQLITE3 11 | #cgo LDFLAGS: -lsqlite3 12 | */ 13 | import "C" 14 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/mattn/go-sqlite3/sqlite3_omit_load_extension.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2014 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | // +build sqlite_omit_load_extension 6 | 7 | package sqlite3 8 | 9 | /* 10 | #cgo CFLAGS: -DSQLITE_OMIT_LOAD_EXTENSION 11 | */ 12 | import "C" 13 | import ( 14 | "errors" 15 | ) 16 | 17 | func (c *SQLiteConn) loadExtensions(extensions []string) error { 18 | return errors.New("Extensions have been disabled for static builds") 19 | } 20 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/mattn/go-sqlite3/sqlite3_other.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2014 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | // +build !windows 6 | 7 | package sqlite3 8 | 9 | /* 10 | #cgo CFLAGS: -I. 11 | #cgo linux LDFLAGS: -ldl 12 | */ 13 | import "C" 14 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/mattn/go-sqlite3/sqlite3_windows.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2014 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | // +build windows 6 | 7 | package sqlite3 8 | 9 | /* 10 | #cgo CFLAGS: -I. -fno-stack-check -fno-stack-protector -mno-stack-arg-probe 11 | #cgo windows,386 CFLAGS: -D_localtime32=localtime 12 | #cgo LDFLAGS: -lmingwex -lmingw32 13 | */ 14 | import "C" 15 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/op/go-logging/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## 2.0.0-rc1 (2016-02-11) 4 | 5 | Time flies and it has been three years since this package was first released. 6 | There have been a couple of API changes I have wanted to do for some time but 7 | I've tried to maintain backwards compatibility. Some inconsistencies in the 8 | API have started to show, proper vendor support in Go out of the box and 9 | the fact that `go vet` will give warnings -- I have decided to bump the major 10 | version. 11 | 12 | * Make eg. `Info` and `Infof` do different things. You want to change all calls 13 | to `Info` with a string format go to `Infof` etc. In many cases, `go vet` will 14 | guide you. 15 | * `Id` in `Record` is now called `ID` 16 | 17 | ## 1.0.0 (2013-02-21) 18 | 19 | Initial release 20 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/op/go-logging/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | Alec Thomas 2 | Guilhem Lettron 3 | Ivan Daniluk 4 | Nimi Wariboko Jr 5 | Róbert Selvek 6 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/opencontainers/runc/NOTICE: -------------------------------------------------------------------------------- 1 | runc 2 | 3 | Copyright 2012-2015 Docker, Inc. 4 | 5 | This product includes software developed at Docker, Inc. (http://www.docker.com). 6 | 7 | The following is courtesy of our legal counsel: 8 | 9 | 10 | Use and transfer of Docker may be subject to certain restrictions by the 11 | United States and other governments. 12 | It is your responsibility to ensure that your use and/or transfer does not 13 | violate applicable laws. 14 | 15 | For more information, please see http://www.bis.doc.gov 16 | 17 | See also http://www.apache.org/dev/crypto.html and/or seek legal counsel. 18 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/opencontainers/runc/libcontainer/user/MAINTAINERS: -------------------------------------------------------------------------------- 1 | Tianon Gravi (@tianon) 2 | Aleksa Sarai (@cyphar) 3 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/opencontainers/runc/libcontainer/user/lookup_unix.go: -------------------------------------------------------------------------------- 1 | // +build darwin dragonfly freebsd linux netbsd openbsd solaris 2 | 3 | package user 4 | 5 | import ( 6 | "io" 7 | "os" 8 | ) 9 | 10 | // Unix-specific path to the passwd and group formatted files. 11 | const ( 12 | unixPasswdPath = "/etc/passwd" 13 | unixGroupPath = "/etc/group" 14 | ) 15 | 16 | func GetPasswdPath() (string, error) { 17 | return unixPasswdPath, nil 18 | } 19 | 20 | func GetPasswd() (io.ReadCloser, error) { 21 | return os.Open(unixPasswdPath) 22 | } 23 | 24 | func GetGroupPath() (string, error) { 25 | return unixGroupPath, nil 26 | } 27 | 28 | func GetGroup() (io.ReadCloser, error) { 29 | return os.Open(unixGroupPath) 30 | } 31 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/opencontainers/runc/libcontainer/user/lookup_unsupported.go: -------------------------------------------------------------------------------- 1 | // +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris 2 | 3 | package user 4 | 5 | import "io" 6 | 7 | func GetPasswdPath() (string, error) { 8 | return "", ErrUnsupported 9 | } 10 | 11 | func GetPasswd() (io.ReadCloser, error) { 12 | return nil, ErrUnsupported 13 | } 14 | 15 | func GetGroupPath() (string, error) { 16 | return "", ErrUnsupported 17 | } 18 | 19 | func GetGroup() (io.ReadCloser, error) { 20 | return nil, ErrUnsupported 21 | } 22 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command_notwin.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package cobra 4 | 5 | var preExecHookFn func(*Command) 6 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command_win.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package cobra 4 | 5 | import ( 6 | "os" 7 | "time" 8 | 9 | "github.com/inconshreveable/mousetrap" 10 | ) 11 | 12 | var preExecHookFn = preExecHook 13 | 14 | // enables an information splash screen on Windows if the CLI is started from explorer.exe. 15 | var MousetrapHelpText string = `This is a command line tool 16 | 17 | You need to open cmd.exe and run it from there. 18 | ` 19 | 20 | func preExecHook(c *Command) { 21 | if mousetrap.StartedByExplorer() { 22 | c.Print(MousetrapHelpText) 23 | time.Sleep(5 * time.Second) 24 | os.Exit(1) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/stretchr/objx/README.md: -------------------------------------------------------------------------------- 1 | # objx 2 | 3 | * Jump into the [API Documentation](http://godoc.org/github.com/stretchr/objx) 4 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/stretchr/objx/constants.go: -------------------------------------------------------------------------------- 1 | package objx 2 | 3 | const ( 4 | // PathSeparator is the character used to separate the elements 5 | // of the keypath. 6 | // 7 | // For example, `location.address.city` 8 | PathSeparator string = "." 9 | 10 | // SignatureSeparator is the character that is used to 11 | // separate the Base64 string from the security signature. 12 | SignatureSeparator = "_" 13 | ) 14 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/stretchr/objx/security.go: -------------------------------------------------------------------------------- 1 | package objx 2 | 3 | import ( 4 | "crypto/sha1" 5 | "encoding/hex" 6 | ) 7 | 8 | // HashWithKey hashes the specified string using the security 9 | // key. 10 | func HashWithKey(data, key string) string { 11 | hash := sha1.New() 12 | hash.Write([]byte(data + ":" + key)) 13 | return hex.EncodeToString(hash.Sum(nil)) 14 | } 15 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/stretchr/objx/tests.go: -------------------------------------------------------------------------------- 1 | package objx 2 | 3 | // Has gets whether there is something at the specified selector 4 | // or not. 5 | // 6 | // If m is nil, Has will always return false. 7 | func (m Map) Has(selector string) bool { 8 | if m == nil { 9 | return false 10 | } 11 | return !m.Get(selector).IsNil() 12 | } 13 | 14 | // IsNil gets whether the data is nil or not. 15 | func (v *Value) IsNil() bool { 16 | return v == nil || v.data == nil 17 | } 18 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl: -------------------------------------------------------------------------------- 1 | {{.CommentWithoutT "a"}} 2 | func (a *Assertions) {{.DocInfo.Name}}({{.Params}}) bool { 3 | return {{.DocInfo.Name}}(a.t, {{.ForwardedParams}}) 4 | } 5 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/stretchr/testify/assert/errors.go: -------------------------------------------------------------------------------- 1 | package assert 2 | 3 | import ( 4 | "errors" 5 | ) 6 | 7 | // AnError is an error instance useful for testing. If the code does not care 8 | // about error specifics, and only needs to return the error for example, this 9 | // error should be used to make the test code more readable. 10 | var AnError = errors.New("assert.AnError general error for testing") 11 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/stretchr/testify/assert/forward_assertions.go: -------------------------------------------------------------------------------- 1 | package assert 2 | 3 | // Assertions provides assertion methods around the 4 | // TestingT interface. 5 | type Assertions struct { 6 | t TestingT 7 | } 8 | 9 | // New makes a new Assertions object for the specified TestingT. 10 | func New(t TestingT) *Assertions { 11 | return &Assertions{ 12 | t: t, 13 | } 14 | } 15 | 16 | //go:generate go run ../_codegen/main.go -output-package=assert -template=assertion_forward.go.tmpl 17 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/stretchr/testify/require/forward_requirements.go: -------------------------------------------------------------------------------- 1 | package require 2 | 3 | // Assertions provides assertion methods around the 4 | // TestingT interface. 5 | type Assertions struct { 6 | t TestingT 7 | } 8 | 9 | // New makes a new Assertions object for the specified TestingT. 10 | func New(t TestingT) *Assertions { 11 | return &Assertions{ 12 | t: t, 13 | } 14 | } 15 | 16 | //go:generate go run ../_codegen/main.go -output-package=require -template=require_forward.go.tmpl 17 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/stretchr/testify/require/require.go.tmpl: -------------------------------------------------------------------------------- 1 | {{.Comment}} 2 | func {{.DocInfo.Name}}(t TestingT, {{.Params}}) { 3 | if !assert.{{.DocInfo.Name}}(t, {{.ForwardedParams}}) { 4 | t.FailNow() 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/stretchr/testify/require/require_forward.go.tmpl: -------------------------------------------------------------------------------- 1 | {{.CommentWithoutT "a"}} 2 | func (a *Assertions) {{.DocInfo.Name}}({{.Params}}) { 3 | {{.DocInfo.Name}}(a.t, {{.ForwardedParams}}) 4 | } 5 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/stretchr/testify/require/requirements.go: -------------------------------------------------------------------------------- 1 | package require 2 | 3 | // TestingT is an interface wrapper around *testing.T 4 | type TestingT interface { 5 | Errorf(format string, args ...interface{}) 6 | FailNow() 7 | } 8 | 9 | //go:generate go run ../_codegen/main.go -output-package=require -template=require.go.tmpl 10 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/tecbot/gorocksdb/cache.go: -------------------------------------------------------------------------------- 1 | package gorocksdb 2 | 3 | // #include "rocksdb/c.h" 4 | import "C" 5 | 6 | // Cache is a cache used to store data read from data in memory. 7 | type Cache struct { 8 | c *C.rocksdb_cache_t 9 | } 10 | 11 | // NewLRUCache creates a new LRU Cache object with the capacity given. 12 | func NewLRUCache(capacity int) *Cache { 13 | return NewNativeCache(C.rocksdb_cache_create_lru(C.size_t(capacity))) 14 | } 15 | 16 | // NewNativeCache creates a Cache object. 17 | func NewNativeCache(c *C.rocksdb_cache_t) *Cache { 18 | return &Cache{c} 19 | } 20 | 21 | // Destroy deallocates the Cache object. 22 | func (c *Cache) Destroy() { 23 | C.rocksdb_cache_destroy(c.c) 24 | c.c = nil 25 | } 26 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/tecbot/gorocksdb/dynflag.go: -------------------------------------------------------------------------------- 1 | // !build embed 2 | 3 | package gorocksdb 4 | 5 | // #cgo LDFLAGS: -lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy 6 | import "C" 7 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/tecbot/gorocksdb/embedflag.go: -------------------------------------------------------------------------------- 1 | // +build embed 2 | 3 | package gorocksdb 4 | 5 | // #cgo CXXFLAGS: -std=c++11 6 | // #cgo CPPFLAGS: -I${SRCDIR}/../../cockroachdb/c-lz4/internal/lib 7 | // #cgo CPPFLAGS: -I${SRCDIR}/../../cockroachdb/c-rocksdb/internal/include 8 | // #cgo CPPFLAGS: -I${SRCDIR}/../../cockroachdb/c-snappy/internal 9 | // #cgo LDFLAGS: -lstdc++ 10 | // #cgo darwin LDFLAGS: -Wl,-undefined -Wl,dynamic_lookup 11 | // #cgo !darwin LDFLAGS: -Wl,-unresolved-symbols=ignore-all -lrt 12 | import "C" 13 | 14 | import ( 15 | _ "github.com/cockroachdb/c-lz4" 16 | _ "github.com/cockroachdb/c-rocksdb" 17 | _ "github.com/cockroachdb/c-snappy" 18 | ) 19 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/tecbot/gorocksdb/options_compression.go: -------------------------------------------------------------------------------- 1 | package gorocksdb 2 | 3 | // CompressionOptions represents options for different compression algorithms like Zlib. 4 | type CompressionOptions struct { 5 | WindowBits int 6 | Level int 7 | Strategy int 8 | } 9 | 10 | // NewDefaultCompressionOptions creates a default CompressionOptions object. 11 | func NewDefaultCompressionOptions() *CompressionOptions { 12 | return NewCompressionOptions(-14, -1, 0) 13 | } 14 | 15 | // NewCompressionOptions creates a CompressionOptions object. 16 | func NewCompressionOptions(windowBits, level, strategy int) *CompressionOptions { 17 | return &CompressionOptions{ 18 | WindowBits: windowBits, 19 | Level: level, 20 | Strategy: strategy, 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/github.com/tecbot/gorocksdb/snapshot.go: -------------------------------------------------------------------------------- 1 | package gorocksdb 2 | 3 | // #include "rocksdb/c.h" 4 | import "C" 5 | 6 | // Snapshot provides a consistent view of read operations in a DB. 7 | type Snapshot struct { 8 | c *C.rocksdb_snapshot_t 9 | cDb *C.rocksdb_t 10 | } 11 | 12 | // NewNativeSnapshot creates a Snapshot object. 13 | func NewNativeSnapshot(c *C.rocksdb_snapshot_t, cDb *C.rocksdb_t) *Snapshot { 14 | return &Snapshot{c, cDb} 15 | } 16 | 17 | // Release removes the snapshot from the database's list of snapshots. 18 | func (s *Snapshot) Release() { 19 | C.rocksdb_release_snapshot(s.cDb, s.c) 20 | s.c, s.cDb = nil, nil 21 | } 22 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/crypto/sha3/register.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build go1.4 6 | 7 | package sha3 8 | 9 | import ( 10 | "crypto" 11 | ) 12 | 13 | func init() { 14 | crypto.RegisterHash(crypto.SHA3_224, New224) 15 | crypto.RegisterHash(crypto.SHA3_256, New256) 16 | crypto.RegisterHash(crypto.SHA3_384, New384) 17 | crypto.RegisterHash(crypto.SHA3_512, New512) 18 | } 19 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/crypto/sha3/xor.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !amd64,!386 appengine 6 | 7 | package sha3 8 | 9 | var ( 10 | xorIn = xorInGeneric 11 | copyOut = copyOutGeneric 12 | xorInUnaligned = xorInGeneric 13 | copyOutUnaligned = copyOutGeneric 14 | ) 15 | 16 | const xorImplementationUnaligned = "generic" 17 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin dragonfly freebsd netbsd openbsd 6 | 7 | package terminal 8 | 9 | import "syscall" 10 | 11 | const ioctlReadTermios = syscall.TIOCGETA 12 | const ioctlWriteTermios = syscall.TIOCSETA 13 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package terminal 6 | 7 | // These constants are declared here, rather than importing 8 | // them from the syscall package as some syscall packages, even 9 | // on linux, for example gccgo, do not declare them. 10 | const ioctlReadTermios = 0x5401 // syscall.TCGETS 11 | const ioctlWriteTermios = 0x5402 // syscall.TCSETS 12 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/net/.gitattributes: -------------------------------------------------------------------------------- 1 | # Treat all files in this repo as binary, with no git magic updating 2 | # line endings. Windows users contributing to Go will need to use a 3 | # modern version of git and editors capable of LF line endings. 4 | # 5 | # We'll prevent accidental CRLF line endings from entering the repo 6 | # via the git-review gofmt checks. 7 | # 8 | # See golang.org/issue/9281 9 | 10 | * -text 11 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/net/.gitignore: -------------------------------------------------------------------------------- 1 | # Add no patterns to .hgignore except for files generated by the build. 2 | last-change 3 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/net/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at http://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/net/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at http://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/net/README: -------------------------------------------------------------------------------- 1 | This repository holds supplementary Go networking libraries. 2 | 3 | To submit changes to this repository, see http://golang.org/doc/contribute.html. 4 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/net/bpf/testdata/all_instructions.bpf: -------------------------------------------------------------------------------- 1 | 50,0 0 0 42,1 0 0 42,96 0 0 3,97 0 0 3,48 0 0 42,40 0 0 42,32 0 0 42,80 0 0 42,72 0 0 42,64 0 0 42,177 0 0 42,128 0 0 0,32 0 0 4294963200,32 0 0 4294963204,32 0 0 4294963256,2 0 0 3,3 0 0 3,4 0 0 42,20 0 0 42,36 0 0 42,52 0 0 42,68 0 0 42,84 0 0 42,100 0 0 42,116 0 0 42,148 0 0 42,164 0 0 42,12 0 0 0,28 0 0 0,44 0 0 0,60 0 0 0,76 0 0 0,92 0 0 0,108 0 0 0,124 0 0 0,156 0 0 0,172 0 0 0,132 0 0 0,5 0 0 10,21 8 9 42,21 0 8 42,53 0 7 42,37 0 6 42,37 4 5 42,53 3 4 42,69 2 3 42,7 0 0 0,135 0 0 0,22 0 0 0,6 0 0 0, 2 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/net/codereview.cfg: -------------------------------------------------------------------------------- 1 | issuerepo: golang/go 2 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/net/context/ctxhttp/ctxhttp_17_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !plan9,go1.7 6 | 7 | package ctxhttp 8 | 9 | import ( 10 | "io" 11 | "net/http" 12 | "net/http/httptest" 13 | "testing" 14 | 15 | "context" 16 | ) 17 | 18 | func TestGo17Context(t *testing.T) { 19 | ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 20 | io.WriteString(w, "ok") 21 | })) 22 | ctx := context.Background() 23 | resp, err := Get(ctx, http.DefaultClient, ts.URL) 24 | if resp == nil || err != nil { 25 | t.Fatalf("error received from client: %v %v", err, resp) 26 | } 27 | resp.Body.Close() 28 | } 29 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/net/context/withtimeout_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package context_test 6 | 7 | import ( 8 | "fmt" 9 | "time" 10 | 11 | "golang.org/x/net/context" 12 | ) 13 | 14 | func ExampleWithTimeout() { 15 | // Pass a context with a timeout to tell a blocking function that it 16 | // should abandon its work after the timeout elapses. 17 | ctx, _ := context.WithTimeout(context.Background(), 100*time.Millisecond) 18 | select { 19 | case <-time.After(200 * time.Millisecond): 20 | fmt.Println("overslept") 21 | case <-ctx.Done(): 22 | fmt.Println(ctx.Err()) // prints "context deadline exceeded" 23 | } 24 | // Output: 25 | // context deadline exceeded 26 | } 27 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/net/html/charset/testdata/README: -------------------------------------------------------------------------------- 1 | These test cases come from 2 | http://www.w3.org/International/tests/repository/html5/the-input-byte-stream/results-basics 3 | 4 | Distributed under both the W3C Test Suite License 5 | (http://www.w3.org/Consortium/Legal/2008/04-testsuite-license) 6 | and the W3C 3-clause BSD License 7 | (http://www.w3.org/Consortium/Legal/2008/03-bsd-license). 8 | To contribute to a W3C Test Suite, see the policies and contribution 9 | forms (http://www.w3.org/2004/10/27-testcases). 10 | -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/net/html/charset/testdata/UTF-16BE-BOM.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/net/html/charset/testdata/UTF-16BE-BOM.html -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/net/html/charset/testdata/UTF-16LE-BOM.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Blockchain-Archive/SDK-Demo/5d81c0cfb0260b384eea99abdd7eb5baa2f4d4c1/src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/net/html/charset/testdata/UTF-16LE-BOM.html -------------------------------------------------------------------------------- /src/chaincode/vendor/github.com/hyperledger/fabric/vendor/golang.org/x/net/html/testdata/webkit/adoption02.dat: -------------------------------------------------------------------------------- 1 | #data 2 | 12

34 3 | #errors 4 | #document 5 | | 6 | | 7 | | 8 | | 9 | | "1" 10 | | 11 | | "2" 12 | | 13 | |

14 | | 15 | | "3" 16 | | "4" 17 | 18 | #data 19 |

20 | #errors 21 | #document 22 | | 23 | | 24 | | 25 | | 26 | |
27 | | 28 | |