├── .gitignore ├── .travis.yml ├── Gopkg.lock ├── Gopkg.toml ├── README.md ├── bootstrap └── bootstrap.go ├── commons ├── README.md ├── crypto │ ├── README.md │ ├── common.go │ ├── crypto.go │ ├── decrypt.go │ ├── encrypt.go │ ├── encryption_test.go │ ├── key.go │ ├── rand_entropy.go │ ├── secp256k1 │ │ ├── README.md │ │ ├── curve.go │ │ ├── ext.h │ │ ├── libsecp256k1 │ │ │ ├── .libs │ │ │ │ ├── libsecp256k1.0.dylib │ │ │ │ ├── libsecp256k1.a │ │ │ │ ├── libsecp256k1.dylib │ │ │ │ ├── libsecp256k1.la │ │ │ │ └── libsecp256k1.lai │ │ │ ├── .travis.yml │ │ │ ├── COPYING │ │ │ ├── Makefile │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── README.md │ │ │ ├── TODO │ │ │ ├── aclocal.m4 │ │ │ ├── autogen.sh │ │ │ ├── autom4te.cache │ │ │ │ ├── output.0 │ │ │ │ ├── output.1 │ │ │ │ ├── output.2 │ │ │ │ ├── requests │ │ │ │ ├── traces.0 │ │ │ │ ├── traces.1 │ │ │ │ └── traces.2 │ │ │ ├── build-aux │ │ │ │ ├── compile │ │ │ │ ├── config.guess │ │ │ │ ├── config.sub │ │ │ │ ├── depcomp │ │ │ │ ├── install-sh │ │ │ │ ├── ltmain.sh │ │ │ │ ├── m4 │ │ │ │ │ ├── ax_jni_include_dir.m4 │ │ │ │ │ ├── ax_prog_cc_for_build.m4 │ │ │ │ │ ├── bitcoin_secp.m4 │ │ │ │ │ ├── libtool.m4 │ │ │ │ │ ├── ltoptions.m4 │ │ │ │ │ ├── ltsugar.m4 │ │ │ │ │ ├── ltversion.m4 │ │ │ │ │ └── lt~obsolete.m4 │ │ │ │ ├── missing │ │ │ │ └── test-driver │ │ │ ├── config.log │ │ │ ├── config.status │ │ │ ├── configure │ │ │ ├── configure.ac │ │ │ ├── contrib │ │ │ │ ├── lax_der_parsing.c │ │ │ │ ├── lax_der_parsing.h │ │ │ │ ├── lax_der_privatekey_parsing.c │ │ │ │ └── lax_der_privatekey_parsing.h │ │ │ ├── exhaustive_tests │ │ │ ├── gen_context │ │ │ ├── gen_context.o │ │ │ ├── include │ │ │ │ ├── secp256k1.h │ │ │ │ ├── secp256k1_ecdh.h │ │ │ │ └── secp256k1_recovery.h │ │ │ ├── libsecp256k1.la │ │ │ ├── libsecp256k1.pc │ │ │ ├── libsecp256k1.pc.in │ │ │ ├── libtool │ │ │ ├── sage │ │ │ │ ├── group_prover.sage │ │ │ │ ├── secp256k1.sage │ │ │ │ └── weierstrass_prover.sage │ │ │ ├── src │ │ │ │ ├── .deps │ │ │ │ │ ├── .dirstamp │ │ │ │ │ ├── bench_ecdh.Po │ │ │ │ │ ├── bench_internal-bench_internal.Po │ │ │ │ │ ├── bench_recover.Po │ │ │ │ │ ├── bench_sign.Po │ │ │ │ │ ├── bench_verify.Po │ │ │ │ │ ├── exhaustive_tests-tests_exhaustive.Po │ │ │ │ │ ├── libsecp256k1_la-secp256k1.Plo │ │ │ │ │ └── tests-tests.Po │ │ │ │ ├── .dirstamp │ │ │ │ ├── .libs │ │ │ │ │ └── libsecp256k1_la-secp256k1.o │ │ │ │ ├── asm │ │ │ │ │ └── field_10x26_arm.s │ │ │ │ ├── basic-config.h │ │ │ │ ├── bench.h │ │ │ │ ├── bench_ecdh.c │ │ │ │ ├── bench_internal.c │ │ │ │ ├── bench_recover.c │ │ │ │ ├── bench_schnorr_verify.c │ │ │ │ ├── bench_sign.c │ │ │ │ ├── bench_verify.c │ │ │ │ ├── ecdsa.h │ │ │ │ ├── ecdsa_impl.h │ │ │ │ ├── eckey.h │ │ │ │ ├── eckey_impl.h │ │ │ │ ├── ecmult.h │ │ │ │ ├── ecmult_const.h │ │ │ │ ├── ecmult_const_impl.h │ │ │ │ ├── ecmult_gen.h │ │ │ │ ├── ecmult_gen_impl.h │ │ │ │ ├── ecmult_impl.h │ │ │ │ ├── ecmult_static_context.h │ │ │ │ ├── exhaustive_tests-tests_exhaustive.o │ │ │ │ ├── field.h │ │ │ │ ├── field_10x26.h │ │ │ │ ├── field_10x26_impl.h │ │ │ │ ├── field_5x52.h │ │ │ │ ├── field_5x52_asm_impl.h │ │ │ │ ├── field_5x52_impl.h │ │ │ │ ├── field_5x52_int128_impl.h │ │ │ │ ├── field_impl.h │ │ │ │ ├── gen_context.c │ │ │ │ ├── group.h │ │ │ │ ├── group_impl.h │ │ │ │ ├── hash.h │ │ │ │ ├── hash_impl.h │ │ │ │ ├── java │ │ │ │ │ ├── .deps │ │ │ │ │ │ ├── libsecp256k1_jni_la-org_bitcoin_NativeSecp256k1.Plo │ │ │ │ │ │ └── libsecp256k1_jni_la-org_bitcoin_Secp256k1Context.Plo │ │ │ │ │ ├── org │ │ │ │ │ │ └── bitcoin │ │ │ │ │ │ │ ├── NativeSecp256k1.java │ │ │ │ │ │ │ ├── NativeSecp256k1Test.java │ │ │ │ │ │ │ ├── NativeSecp256k1Util.java │ │ │ │ │ │ │ └── Secp256k1Context.java │ │ │ │ │ ├── org_bitcoin_NativeSecp256k1.c │ │ │ │ │ ├── org_bitcoin_NativeSecp256k1.h │ │ │ │ │ ├── org_bitcoin_Secp256k1Context.c │ │ │ │ │ └── org_bitcoin_Secp256k1Context.h │ │ │ │ ├── libsecp256k1-config.h │ │ │ │ ├── libsecp256k1-config.h.in │ │ │ │ ├── libsecp256k1_la-secp256k1.lo │ │ │ │ ├── libsecp256k1_la-secp256k1.o │ │ │ │ ├── modules │ │ │ │ │ ├── ecdh │ │ │ │ │ │ ├── Makefile.am.include │ │ │ │ │ │ ├── main_impl.h │ │ │ │ │ │ └── tests_impl.h │ │ │ │ │ └── recovery │ │ │ │ │ │ ├── Makefile.am.include │ │ │ │ │ │ ├── main_impl.h │ │ │ │ │ │ └── tests_impl.h │ │ │ │ ├── num.h │ │ │ │ ├── num_gmp.h │ │ │ │ ├── num_gmp_impl.h │ │ │ │ ├── num_impl.h │ │ │ │ ├── scalar.h │ │ │ │ ├── scalar_4x64.h │ │ │ │ ├── scalar_4x64_impl.h │ │ │ │ ├── scalar_8x32.h │ │ │ │ ├── scalar_8x32_impl.h │ │ │ │ ├── scalar_impl.h │ │ │ │ ├── scalar_low.h │ │ │ │ ├── scalar_low_impl.h │ │ │ │ ├── secp256k1.c │ │ │ │ ├── stamp-h1 │ │ │ │ ├── testrand.h │ │ │ │ ├── testrand_impl.h │ │ │ │ ├── tests-tests.o │ │ │ │ ├── tests.c │ │ │ │ ├── tests_exhaustive.c │ │ │ │ └── util.h │ │ │ └── tests │ │ ├── panic_cb.go │ │ └── secp256.go │ └── testdata │ │ └── very-light-scrypt.json ├── helper │ ├── abi_helper.go │ ├── exec_helper.go │ ├── sync_helper.go │ ├── update_helper.go │ ├── window_helper.go │ └── window_helper_test.go ├── math │ └── big.go ├── queue │ ├── exists_map.go │ ├── exists_map_test.go │ ├── gossip_queue.go │ ├── priority_queue.go │ ├── receipt_queue.go │ ├── thread_safe_queue.go │ ├── thread_safe_queue_test.go │ ├── transaction_queue.go │ └── transaction_queue_test.go ├── services │ ├── db_service.go │ ├── grpc_service.go │ ├── http_service.go │ └── readme.md ├── state │ ├── in_memory.go │ └── in_memory_test.go ├── tree │ ├── example_tst.go │ ├── merkle_tree.go │ ├── tree_test_factory.go │ └── tree_test_run.go ├── types │ ├── README.md │ ├── account.go │ ├── account_test.go │ ├── authentication.go │ ├── config.go │ ├── config_test.go │ ├── constants.go │ ├── endpoint.go │ ├── events.go │ ├── gossip.go │ ├── gossip_test.go │ ├── i_service.go │ ├── node.go │ ├── node_test.go │ ├── page.go │ ├── page_test.go │ ├── pagingResult.go │ ├── privKey.go │ ├── privKey_test.go │ ├── rate_limit.go │ ├── rate_limit_test.go │ ├── rate_limits.go │ ├── receipt.go │ ├── receipt_test.go │ ├── response.go │ ├── rumor.go │ ├── rumor_test.go │ ├── transaction.go │ ├── transaction_sorter.go │ ├── transaction_sorter_test.go │ ├── transaction_test.go │ ├── version.go │ ├── window.go │ └── window_test.go └── utils │ ├── README.md │ ├── common.go │ ├── events.go │ ├── file_header_add.go │ ├── files.go │ ├── kmutex.go │ ├── linear_regression.go │ ├── linear_regression_test.go │ ├── logger.go │ ├── network.go │ ├── number.go │ ├── reflection.go │ └── time.go ├── curls ├── deploy_smart_contract.sh ├── execute_smart_contract_get_var5.sh ├── execute_smart_contract_set_var5.sh ├── get_account.sh ├── get_delegates.sh ├── get_receipt.sh ├── get_transaction.sh ├── get_transactions.sh ├── get_transactions_by_from_address.sh ├── get_transactions_by_to_address.sh └── transfer_tokens.sh ├── dapos ├── README.md ├── dapos_api.go ├── dapos_handshake.go ├── dapos_service.go ├── dapos_transport_grpc.go ├── dapos_transport_http.go └── proto │ ├── README.md │ ├── dapos.pb.go │ ├── dapos.proto │ └── dapos.proto.sh ├── disgover ├── README.md ├── disgover_api.go ├── disgover_service.go ├── disgover_transport_grpc.go ├── disgover_transport_http.go ├── nodes.png └── proto │ ├── README.md │ ├── disgover.pb.go │ ├── disgover.proto │ └── disgover.proto.sh ├── dvm ├── badgerwrapper │ └── badger_wrapper.go ├── dvm_api.go ├── dvm_helpers.go ├── dvm_result.go ├── dvm_service.go ├── dvm_unused.go ├── ethereum │ ├── abi │ │ ├── abi.go │ │ ├── abi_test.go │ │ ├── argument.go │ │ ├── bind │ │ │ ├── auth.go │ │ │ ├── backend.go │ │ │ ├── base.go │ │ │ ├── bind.go │ │ │ ├── bind_test.go │ │ │ ├── template.go │ │ │ ├── topics.go │ │ │ ├── util.go │ │ │ └── util_test.go │ │ ├── doc.go │ │ ├── error.go │ │ ├── event.go │ │ ├── event_test.go │ │ ├── method.go │ │ ├── numbers.go │ │ ├── numbers_test.go │ │ ├── pack.go │ │ ├── pack_test.go │ │ ├── reflect.go │ │ ├── type.go │ │ ├── type_test.go │ │ ├── unpack.go │ │ └── unpack_test.go │ ├── common │ │ ├── big.go │ │ ├── bytes.go │ │ ├── hexutil │ │ │ ├── hexutil.go │ │ │ ├── hexutil_test.go │ │ │ ├── json.go │ │ │ ├── json_example_test.go │ │ │ └── json_test.go │ │ ├── math │ │ │ ├── big.go │ │ │ └── integer.go │ │ ├── size.go │ │ └── types.go │ ├── crypto │ │ ├── bn256 │ │ │ ├── bn256_fast.go │ │ │ ├── bn256_fuzz.go │ │ │ ├── bn256_slow.go │ │ │ ├── cloudflare │ │ │ │ ├── bn256.go │ │ │ │ ├── bn256_test.go │ │ │ │ ├── constants.go │ │ │ │ ├── curve.go │ │ │ │ ├── example_test.go │ │ │ │ ├── gfp.go │ │ │ │ ├── gfp12.go │ │ │ │ ├── gfp2.go │ │ │ │ ├── gfp6.go │ │ │ │ ├── gfp_amd64.s │ │ │ │ ├── gfp_arm64.s │ │ │ │ ├── gfp_decl.go │ │ │ │ ├── gfp_generic.go │ │ │ │ ├── gfp_test.go │ │ │ │ ├── lattice.go │ │ │ │ ├── lattice_test.go │ │ │ │ ├── main_test.go │ │ │ │ ├── mul_amd64.h │ │ │ │ ├── mul_arm64.h │ │ │ │ ├── mul_bmi2_amd64.h │ │ │ │ ├── optate.go │ │ │ │ └── twist.go │ │ │ └── google │ │ │ │ ├── bn256.go │ │ │ │ ├── bn256_test.go │ │ │ │ ├── constants.go │ │ │ │ ├── curve.go │ │ │ │ ├── example_test.go │ │ │ │ ├── gfp12.go │ │ │ │ ├── gfp2.go │ │ │ │ ├── gfp6.go │ │ │ │ ├── main_test.go │ │ │ │ ├── optate.go │ │ │ │ └── twist.go │ │ ├── crypto.go │ │ ├── keccakf.go │ │ ├── sha3.go │ │ ├── signature_cgo.go │ │ └── xor_unaligned.go │ ├── error.go │ ├── ethdb │ │ ├── .gitignore │ │ ├── database.go │ │ ├── interface.go │ │ └── memory_database.go │ ├── evm.go │ ├── gaspool.go │ ├── interfaces.go │ ├── log │ │ ├── format.go │ │ ├── handler.go │ │ ├── logger.go │ │ └── root.go │ ├── params │ │ ├── config.go │ │ ├── gas_table.go │ │ └── protocol_params.go │ ├── rlp │ │ ├── decode.go │ │ ├── encode.go │ │ ├── raw.go │ │ └── typecache.go │ ├── state │ │ ├── database.go │ │ ├── database_nocache.go │ │ ├── journal.go │ │ ├── state_object.go │ │ ├── statedb.go │ │ └── statedb_bak.go │ ├── state_transition.go │ ├── trie │ │ ├── database.go │ │ ├── encoding.go │ │ ├── hasher.go │ │ ├── iterator.go │ │ ├── node.go │ │ ├── proof.go │ │ ├── secure_trie.go │ │ └── trie.go │ ├── types │ │ ├── block.go │ │ ├── bloom9.go │ │ ├── gen_tx_json.go │ │ ├── log.go │ │ ├── receipt.go │ │ ├── receiptforstorage.go │ │ ├── receipts.go │ │ ├── transaction.go │ │ └── transaction_signing.go │ └── vm │ │ ├── analysis.go │ │ ├── analysis_test.go │ │ ├── common.go │ │ ├── contract.go │ │ ├── contracts.go │ │ ├── contracts_test.go │ │ ├── errors.go │ │ ├── evm.go │ │ ├── gas.go │ │ ├── gas_table.go │ │ ├── gen_structlog.go │ │ ├── instructions.go │ │ ├── instructions_test.go │ │ ├── int_pool_verifier.go │ │ ├── int_pool_verifier_empty.go │ │ ├── interface.go │ │ ├── interpreter.go │ │ ├── intpool.go │ │ ├── jump_table.go │ │ ├── logger.go │ │ ├── memory.go │ │ ├── memory_table.go │ │ ├── noop.go │ │ ├── opcodes.go │ │ ├── stack.go │ │ └── stack_table.go ├── vmstatehelpercontracts │ └── contracts.go └── vmstatehelperimplemtations │ └── implementation.go ├── localapi ├── README.md ├── localapi_service.go ├── localapi_transport_http.go └── types.go ├── main.go ├── sdk ├── endpoints.go └── endpoints_test.go ├── seed-update ├── tools ├── README.md └── tools ├── update ├── disgo_update.sh └── disgo_update.sh.zip └── vendor └── github.com ├── AndreasBriese └── bbloom │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── bbloom.go │ └── sipHash.go ├── agl └── ed25519 │ ├── LICENSE │ ├── ed25519.go │ ├── edwards25519 │ ├── const.go │ └── edwards25519.go │ └── extra25519 │ └── extra25519.go ├── btcsuite └── btcd │ ├── LICENSE │ ├── btcec │ ├── README.md │ ├── btcec.go │ ├── ciphering.go │ ├── doc.go │ ├── field.go │ ├── genprecomps.go │ ├── gensecp256k1.go │ ├── precompute.go │ ├── privkey.go │ ├── pubkey.go │ ├── secp256k1.go │ └── signature.go │ ├── btcjson │ └── CONTRIBUTORS │ ├── rpcclient │ └── CONTRIBUTORS │ └── txscript │ └── data │ └── LICENSE ├── davecgh └── go-spew │ ├── LICENSE │ └── spew │ ├── bypass.go │ ├── bypasssafe.go │ ├── common.go │ ├── config.go │ ├── doc.go │ ├── dump.go │ ├── format.go │ └── spew.go ├── dgraph-io └── badger │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── appveyor.yml │ ├── backup.go │ ├── backup_test.go │ ├── badger │ ├── .gitignore │ ├── cmd │ │ ├── backup.go │ │ ├── info.go │ │ ├── restore.go │ │ └── root.go │ └── main.go │ ├── compaction.go │ ├── contrib │ └── cover.sh │ ├── db.go │ ├── db_test.go │ ├── dir_unix.go │ ├── dir_windows.go │ ├── doc.go │ ├── errors.go │ ├── images │ ├── benchmarks-rocksdb.png │ ├── diggy-shadow.png │ └── sketch.jpg │ ├── integration │ └── testgc │ │ ├── .gitignore │ │ └── main.go │ ├── iterator.go │ ├── level_handler.go │ ├── levels.go │ ├── managed_db.go │ ├── managed_db_test.go │ ├── manifest.go │ ├── manifest_test.go │ ├── options.go │ ├── options │ └── options.go │ ├── protos │ ├── backup.pb.go │ ├── backup.proto │ ├── gen.sh │ ├── manifest.pb.go │ └── manifest.proto │ ├── skl │ ├── README.md │ ├── arena.go │ ├── skl.go │ └── skl_test.go │ ├── structs.go │ ├── table │ ├── README.md │ ├── builder.go │ ├── iterator.go │ ├── table.go │ └── table_test.go │ ├── test.sh │ ├── transaction.go │ ├── transaction_test.go │ ├── util.go │ ├── value.go │ ├── value_test.go │ └── y │ ├── error.go │ ├── file_dsync.go │ ├── file_nodsync.go │ ├── iterator.go │ ├── iterator_test.go │ ├── metrics.go │ ├── mmap_unix.go │ ├── mmap_windows.go │ ├── watermark.go │ └── y.go ├── dgryski └── go-farm │ ├── .gitignore │ ├── .travis.yml │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── VERSION │ ├── basics.go │ ├── farmhashcc.go │ ├── farmhashmk.go │ ├── farmhashna.go │ ├── farmhashuo.go │ └── platform.go ├── ebfe └── keccak │ ├── .gitignore │ ├── .travis.yml │ ├── LICENSE │ ├── keccak.go │ ├── sha3.go │ └── shake.go ├── go-stack └── stack │ ├── .travis.yml │ ├── LICENSE.md │ ├── README.md │ ├── go.mod │ └── stack.go ├── gogo └── protobuf │ ├── AUTHORS │ ├── CONTRIBUTORS │ ├── GOLANG_CONTRIBUTORS │ ├── LICENSE │ └── proto │ ├── Makefile │ ├── clone.go │ ├── custom_gogo.go │ ├── decode.go │ ├── discard.go │ ├── duration.go │ ├── duration_gogo.go │ ├── encode.go │ ├── encode_gogo.go │ ├── equal.go │ ├── extensions.go │ ├── extensions_gogo.go │ ├── lib.go │ ├── lib_gogo.go │ ├── message_set.go │ ├── pointer_reflect.go │ ├── pointer_reflect_gogo.go │ ├── pointer_unsafe.go │ ├── pointer_unsafe_gogo.go │ ├── properties.go │ ├── properties_gogo.go │ ├── skip_gogo.go │ ├── table_marshal.go │ ├── table_marshal_gogo.go │ ├── table_merge.go │ ├── table_unmarshal.go │ ├── table_unmarshal_gogo.go │ ├── text.go │ ├── text_gogo.go │ ├── text_parser.go │ ├── timestamp.go │ └── timestamp_gogo.go ├── golang ├── protobuf │ ├── AUTHORS │ ├── CONTRIBUTORS │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── conformance │ │ ├── Makefile │ │ ├── conformance.go │ │ ├── conformance.sh │ │ ├── failure_list_go.txt │ │ ├── internal │ │ │ └── conformance_proto │ │ │ │ ├── conformance.pb.go │ │ │ │ └── conformance.proto │ │ └── test.sh │ ├── descriptor │ │ ├── descriptor.go │ │ └── descriptor_test.go │ ├── go.mod │ ├── go.sum │ ├── jsonpb │ │ ├── jsonpb.go │ │ ├── jsonpb_test.go │ │ └── jsonpb_test_proto │ │ │ ├── more_test_objects.pb.go │ │ │ ├── more_test_objects.proto │ │ │ ├── test_objects.pb.go │ │ │ └── test_objects.proto │ ├── proto │ │ ├── all_test.go │ │ ├── any_test.go │ │ ├── clone.go │ │ ├── clone_test.go │ │ ├── decode.go │ │ ├── decode_test.go │ │ ├── deprecated.go │ │ ├── discard.go │ │ ├── discard_test.go │ │ ├── encode.go │ │ ├── encode_test.go │ │ ├── equal.go │ │ ├── equal_test.go │ │ ├── extensions.go │ │ ├── extensions_test.go │ │ ├── lib.go │ │ ├── map_test.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 │ │ ├── table_marshal.go │ │ ├── table_merge.go │ │ ├── table_unmarshal.go │ │ ├── test_proto │ │ │ ├── test.pb.go │ │ │ └── test.proto │ │ ├── text.go │ │ ├── text_parser.go │ │ ├── text_parser_test.go │ │ └── text_test.go │ ├── protoc-gen-go │ │ ├── descriptor │ │ │ ├── descriptor.pb.go │ │ │ └── descriptor.proto │ │ ├── doc.go │ │ ├── generator │ │ │ ├── generator.go │ │ │ ├── internal │ │ │ │ └── remap │ │ │ │ │ ├── remap.go │ │ │ │ │ └── remap_test.go │ │ │ └── name_test.go │ │ ├── golden_test.go │ │ ├── grpc │ │ │ └── grpc.go │ │ ├── link_grpc.go │ │ ├── main.go │ │ ├── plugin │ │ │ ├── plugin.pb.go │ │ │ ├── plugin.pb.golden │ │ │ └── plugin.proto │ │ └── testdata │ │ │ ├── deprecated │ │ │ ├── deprecated.pb.go │ │ │ └── deprecated.proto │ │ │ ├── extension_base │ │ │ ├── extension_base.pb.go │ │ │ └── extension_base.proto │ │ │ ├── extension_extra │ │ │ ├── extension_extra.pb.go │ │ │ └── extension_extra.proto │ │ │ ├── extension_test.go │ │ │ ├── extension_user │ │ │ ├── extension_user.pb.go │ │ │ └── extension_user.proto │ │ │ ├── grpc │ │ │ ├── grpc.pb.go │ │ │ └── grpc.proto │ │ │ ├── import_public │ │ │ ├── a.pb.go │ │ │ ├── a.proto │ │ │ ├── b.pb.go │ │ │ ├── b.proto │ │ │ ├── importing │ │ │ │ ├── importing.pb.go │ │ │ │ └── importing.proto │ │ │ └── sub │ │ │ │ ├── a.pb.go │ │ │ │ ├── a.proto │ │ │ │ ├── b.pb.go │ │ │ │ └── b.proto │ │ │ ├── import_public_test.go │ │ │ ├── imports │ │ │ ├── fmt │ │ │ │ ├── m.pb.go │ │ │ │ └── m.proto │ │ │ ├── test_a_1 │ │ │ │ ├── m1.pb.go │ │ │ │ ├── m1.proto │ │ │ │ ├── m2.pb.go │ │ │ │ └── m2.proto │ │ │ ├── test_a_2 │ │ │ │ ├── m3.pb.go │ │ │ │ ├── m3.proto │ │ │ │ ├── m4.pb.go │ │ │ │ └── m4.proto │ │ │ ├── test_b_1 │ │ │ │ ├── m1.pb.go │ │ │ │ ├── m1.proto │ │ │ │ ├── m2.pb.go │ │ │ │ └── m2.proto │ │ │ ├── test_import_a1m1.pb.go │ │ │ ├── test_import_a1m1.proto │ │ │ ├── test_import_a1m2.pb.go │ │ │ ├── test_import_a1m2.proto │ │ │ ├── test_import_all.pb.go │ │ │ └── test_import_all.proto │ │ │ ├── issue780_oneof_conflict │ │ │ ├── test.pb.go │ │ │ └── test.proto │ │ │ ├── main_test.go │ │ │ ├── multi │ │ │ ├── multi1.pb.go │ │ │ ├── multi1.proto │ │ │ ├── multi2.pb.go │ │ │ ├── multi2.proto │ │ │ ├── multi3.pb.go │ │ │ └── multi3.proto │ │ │ ├── my_test │ │ │ ├── test.pb.go │ │ │ └── test.proto │ │ │ └── proto3 │ │ │ ├── proto3.pb.go │ │ │ └── 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 │ │ ├── struct │ │ │ ├── struct.pb.go │ │ │ └── struct.proto │ │ ├── timestamp.go │ │ ├── timestamp │ │ │ ├── timestamp.pb.go │ │ │ └── timestamp.proto │ │ ├── timestamp_test.go │ │ └── wrappers │ │ │ ├── wrappers.pb.go │ │ │ └── wrappers.proto │ └── regenerate.sh └── snappy │ ├── .gitignore │ ├── AUTHORS │ ├── CONTRIBUTORS │ ├── LICENSE │ ├── README │ ├── decode.go │ ├── decode_amd64.go │ ├── decode_amd64.s │ ├── decode_other.go │ ├── encode.go │ ├── encode_amd64.go │ ├── encode_amd64.s │ ├── encode_other.go │ └── snappy.go ├── google └── uuid │ ├── .travis.yml │ ├── CONTRIBUTING.md │ ├── CONTRIBUTORS │ ├── LICENSE │ ├── README.md │ ├── dce.go │ ├── doc.go │ ├── hash.go │ ├── marshal.go │ ├── node.go │ ├── node_js.go │ ├── node_net.go │ ├── sql.go │ ├── time.go │ ├── util.go │ ├── uuid.go │ ├── version1.go │ └── version4.go ├── gorilla ├── context │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── context.go │ └── doc.go └── mux │ ├── .travis.yml │ ├── AUTHORS │ ├── ISSUE_TEMPLATE.md │ ├── LICENSE │ ├── README.md │ ├── context.go │ ├── doc.go │ ├── go.mod │ ├── middleware.go │ ├── mux.go │ ├── regexp.go │ ├── route.go │ └── test_helpers.go ├── gxed └── hashland │ ├── LICENSE │ ├── keccak │ └── LICENSE │ ├── keccakpg │ ├── keccak.go │ └── package.json │ └── murmur3 │ └── LICENSE ├── hashicorp └── golang-lru │ ├── .gitignore │ ├── 2q.go │ ├── LICENSE │ ├── README.md │ ├── arc.go │ ├── doc.go │ ├── go.mod │ ├── lru.go │ └── simplelru │ ├── lru.go │ └── lru_interface.go ├── ipfs ├── go-ipfs-util │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── file.go │ ├── package.json │ ├── time.go │ └── util.go └── go-log │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── context.go │ ├── entry.go │ ├── log.go │ ├── loggable.go │ ├── metadata.go │ ├── oldlog.go │ ├── package.json │ ├── tracer │ ├── LICENSE │ ├── context.go │ ├── debug.go │ ├── event.go │ ├── propagation.go │ ├── propagation_ot.go │ ├── raw.go │ ├── recorder.go │ ├── span.go │ ├── tracer.go │ ├── util.go │ └── wire │ │ ├── carrier.go │ │ ├── gen.go │ │ ├── wire.pb.go │ │ └── wire.proto │ └── writer │ ├── option.go │ ├── polite_json_formatter.go │ └── writer.go ├── jasonlvhit └── gocron │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ └── gocron.go ├── keybase ├── go-codec │ ├── LICENSE │ └── codec │ │ ├── 0doc.go │ │ ├── README.md │ │ ├── binc.go │ │ ├── cbor.go │ │ ├── decode.go │ │ ├── encode.go │ │ ├── fast-path.generated.go │ │ ├── fast-path.go.tmpl │ │ ├── fast-path.not.go │ │ ├── gen-dec-array.go.tmpl │ │ ├── gen-dec-map.go.tmpl │ │ ├── gen-helper.generated.go │ │ ├── gen-helper.go.tmpl │ │ ├── gen.generated.go │ │ ├── gen.go │ │ ├── gen_15.go │ │ ├── gen_16.go │ │ ├── helper.go │ │ ├── helper_internal.go │ │ ├── helper_not_unsafe.go │ │ ├── helper_unsafe.go │ │ ├── json.go │ │ ├── msgpack.go │ │ ├── noop.go │ │ ├── prebuild.go │ │ ├── prebuild.sh │ │ ├── rpc.go │ │ ├── simple.go │ │ ├── test-cbor-goldens.json │ │ ├── test.py │ │ ├── tests.sh │ │ └── time.go └── go-merkle-tree │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── bitslice.go │ ├── config.go │ ├── doc.go │ ├── errors.go │ ├── hash.go │ ├── inode.go │ ├── interfaces.go │ ├── mem.go │ ├── msgpack.go │ ├── node.go │ ├── sorted_map.go │ ├── tree.go │ └── types.go ├── konsorten └── go-windows-terminal-sequences │ ├── README.md │ ├── license │ └── sequences.go ├── libp2p ├── go-libp2p-crypto │ ├── .travis.yml │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── codecov.yml │ ├── ed25519.go │ ├── key.go │ ├── package.json │ ├── pb │ │ ├── Makefile │ │ ├── crypto.pb.go │ │ └── crypto.proto │ ├── rsa.go │ └── secp256k1.go ├── go-libp2p-kbucket │ ├── .travis.yml │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── bucket.go │ ├── codecov.yml │ ├── keyspace │ │ ├── keyspace.go │ │ └── xor.go │ ├── package.json │ ├── sorting.go │ ├── table.go │ └── util.go ├── go-libp2p-peer │ ├── .travis.yml │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── codecov.yml │ ├── package.json │ └── peer.go └── go-libp2p-peerstore │ ├── .gitignore │ ├── .travis.yml │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── codecov.yml │ ├── interface.go │ ├── metrics.go │ ├── package.json │ ├── peerinfo.go │ └── peerstore.go ├── mattn ├── go-colorable │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── colorable_appengine.go │ ├── colorable_others.go │ ├── colorable_windows.go │ └── noncolorable.go └── go-isatty │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── doc.go │ ├── isatty_bsd.go │ ├── isatty_linux.go │ ├── isatty_linux_ppc64x.go │ ├── isatty_others.go │ ├── isatty_solaris.go │ └── isatty_windows.go ├── minio ├── blake2b-simd │ ├── .gitignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── appveyor.yml │ ├── blake2b.go │ ├── compressAvx2_amd64.go │ ├── compressAvx2_amd64.s │ ├── compressAvx_amd64.go │ ├── compressAvx_amd64.s │ ├── compressSse_amd64.go │ ├── compressSse_amd64.s │ ├── compress_amd64.go │ ├── compress_generic.go │ ├── compress_noasm.go │ ├── cpuid.go │ ├── cpuid_386.s │ └── cpuid_amd64.s └── sha256-simd │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── appveyor.yml │ ├── cpuid.go │ ├── cpuid_386.go │ ├── cpuid_386.s │ ├── cpuid_amd64.go │ ├── cpuid_amd64.s │ ├── cpuid_arm.go │ ├── cpuid_linux_arm64.go │ ├── cpuid_other.go │ ├── cpuid_others_arm64.go │ ├── sha256.go │ ├── sha256blockAvx2_amd64.go │ ├── sha256blockAvx2_amd64.s │ ├── sha256blockAvx512_amd64.asm │ ├── sha256blockAvx512_amd64.go │ ├── sha256blockAvx512_amd64.s │ ├── sha256blockAvx_amd64.go │ ├── sha256blockAvx_amd64.s │ ├── sha256blockSsse_amd64.go │ ├── sha256blockSsse_amd64.s │ ├── sha256block_386.go │ ├── sha256block_amd64.go │ ├── sha256block_arm.go │ ├── sha256block_arm64.go │ ├── sha256block_arm64.s │ ├── sha256block_noasm.go │ └── sha256block_other.go ├── mr-tron └── base58 │ ├── LICENSE │ └── base58 │ ├── alphabet.go │ └── base58.go ├── multiformats ├── go-multiaddr │ ├── .gitignore │ ├── .travis.yml │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── codec.go │ ├── doc.go │ ├── interface.go │ ├── multiaddr.go │ ├── package.json │ ├── protocol.go │ ├── protocols.go │ ├── transcoders.go │ ├── util.go │ └── varint.go └── go-multihash │ ├── .gitignore │ ├── .travis.yml │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── codecov.yml │ ├── io.go │ ├── multihash.go │ ├── multihash │ └── LICENSE │ ├── package.json │ └── sum.go ├── opentracing └── opentracing-go │ ├── .gitignore │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── ext │ └── tags.go │ ├── globaltracer.go │ ├── gocontext.go │ ├── log │ ├── field.go │ └── util.go │ ├── noop.go │ ├── propagation.go │ ├── span.go │ └── tracer.go ├── patrickmn └── go-cache │ ├── CONTRIBUTORS │ ├── LICENSE │ ├── README.md │ ├── cache.go │ └── sharded.go ├── pborman └── uuid │ ├── .travis.yml │ ├── CONTRIBUTING.md │ ├── CONTRIBUTORS │ ├── LICENSE │ ├── README.md │ ├── dce.go │ ├── doc.go │ ├── hash.go │ ├── marshal.go │ ├── node.go │ ├── node_js.go │ ├── node_net.go │ ├── sql.go │ ├── time.go │ ├── util.go │ ├── uuid.go │ ├── version1.go │ └── version4.go ├── pkg └── errors │ ├── .gitignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── appveyor.yml │ ├── errors.go │ └── stack.go ├── pmezard └── go-difflib │ ├── LICENSE │ └── difflib │ └── difflib.go ├── processout └── grpc-go-pool │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ └── pool.go ├── rs └── cors │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── cors.go │ ├── go.mod │ └── utils.go ├── sirupsen └── logrus │ ├── .gitignore │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── alt_exit.go │ ├── appveyor.yml │ ├── doc.go │ ├── entry.go │ ├── exported.go │ ├── formatter.go │ ├── go.mod │ ├── go.sum │ ├── hooks.go │ ├── json_formatter.go │ ├── logger.go │ ├── logrus.go │ ├── terminal_appengine.go │ ├── terminal_bsd.go │ ├── terminal_check_appengine.go │ ├── terminal_check_js.go │ ├── terminal_check_notappengine.go │ ├── terminal_check_windows.go │ ├── terminal_linux.go │ ├── terminal_windows.go │ ├── text_formatter.go │ └── writer.go ├── spaolacci └── murmur3 │ ├── .gitignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── murmur.go │ ├── murmur128.go │ ├── murmur32.go │ └── murmur64.go ├── stretchr └── testify │ ├── LICENSE │ ├── assert │ ├── assertion_format.go │ ├── assertion_format.go.tmpl │ ├── assertion_forward.go │ ├── assertion_forward.go.tmpl │ ├── assertions.go │ ├── doc.go │ ├── errors.go │ ├── forward_assertions.go │ └── http_assertions.go │ └── require │ ├── doc.go │ ├── forward_requirements.go │ ├── require.go │ ├── require.go.tmpl │ ├── require_forward.go │ ├── require_forward.go.tmpl │ └── requirements.go ├── syndtr └── goleveldb │ ├── LICENSE │ └── leveldb │ ├── batch.go │ ├── cache │ ├── cache.go │ └── lru.go │ ├── comparer.go │ ├── comparer │ ├── bytes_comparer.go │ └── comparer.go │ ├── db.go │ ├── db_compaction.go │ ├── db_iter.go │ ├── db_snapshot.go │ ├── db_state.go │ ├── db_transaction.go │ ├── db_util.go │ ├── db_write.go │ ├── doc.go │ ├── errors.go │ ├── errors │ └── errors.go │ ├── filter.go │ ├── filter │ ├── bloom.go │ └── filter.go │ ├── iterator │ ├── array_iter.go │ ├── indexed_iter.go │ ├── iter.go │ └── merged_iter.go │ ├── journal │ └── journal.go │ ├── key.go │ ├── memdb │ └── memdb.go │ ├── opt │ └── options.go │ ├── options.go │ ├── session.go │ ├── session_compaction.go │ ├── session_record.go │ ├── session_util.go │ ├── storage.go │ ├── storage │ ├── file_storage.go │ ├── file_storage_nacl.go │ ├── file_storage_plan9.go │ ├── file_storage_solaris.go │ ├── file_storage_unix.go │ ├── file_storage_windows.go │ ├── mem_storage.go │ └── storage.go │ ├── table.go │ ├── table │ ├── reader.go │ ├── table.go │ └── writer.go │ ├── util.go │ ├── util │ ├── buffer.go │ ├── buffer_pool.go │ ├── crc32.go │ ├── hash.go │ ├── range.go │ └── util.go │ └── version.go └── whyrusleeping └── go-logging ├── .travis.yml ├── CONTRIBUTORS ├── LICENSE ├── README.md ├── backend.go ├── format.go ├── level.go ├── log.go ├── logger.go ├── memory.go ├── multi.go └── syslog.go /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .vscode 3 | 4 | .DS_Store 5 | debug 6 | disgo 7 | db 8 | 9 | update 10 | 11 | config 12 | 13 | *.iml 14 | commons/types/testdb/ 15 | *.log 16 | commons/helper/testdb/ 17 | GPATH 18 | GRTAGS 19 | GTAGS 20 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - "1.9" 5 | - master 6 | 7 | notifications: 8 | email: 9 | recipients: 10 | - muhammad@dispatchlabs.io 11 | - nicolae@dispatchlabs.io 12 | on_success: always 13 | on_failure: always 14 | script: 15 | - go build 16 | -------------------------------------------------------------------------------- /commons/crypto/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # crypto 4 | 5 | 6 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/README.md: -------------------------------------------------------------------------------- 1 | # secp256k1 2 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/.libs/libsecp256k1.0.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/commons/crypto/secp256k1/libsecp256k1/.libs/libsecp256k1.0.dylib -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/.libs/libsecp256k1.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/commons/crypto/secp256k1/libsecp256k1/.libs/libsecp256k1.a -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/.libs/libsecp256k1.dylib: -------------------------------------------------------------------------------- 1 | libsecp256k1.0.dylib -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/.libs/libsecp256k1.la: -------------------------------------------------------------------------------- 1 | ../libsecp256k1.la -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/.libs/libsecp256k1.lai: -------------------------------------------------------------------------------- 1 | # libsecp256k1.la - a libtool library file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # The name that we can dlopen(3). 8 | dlname='libsecp256k1.0.dylib' 9 | 10 | # Names of this library. 11 | library_names='libsecp256k1.0.dylib libsecp256k1.dylib' 12 | 13 | # The name of the static archive. 14 | old_library='libsecp256k1.a' 15 | 16 | # Linker flags that cannot go in dependency_libs. 17 | inherited_linker_flags=' ' 18 | 19 | # Libraries that this one depends upon. 20 | dependency_libs=' -L/usr/local/opt/gmp/lib -lgmp' 21 | 22 | # Names of additional weak libraries provided by this library 23 | weak_library_names='' 24 | 25 | # Version information for libsecp256k1. 26 | current=0 27 | age=0 28 | revision=0 29 | 30 | # Is this an already installed library? 31 | installed=yes 32 | 33 | # Should we warn about portability when linking against -modules? 34 | shouldnotlink=no 35 | 36 | # Files to dlopen/dlpreopen 37 | dlopen='' 38 | dlpreopen='' 39 | 40 | # Directory that this library needs to be installed in: 41 | libdir='/usr/local/lib' 42 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Pieter Wuille 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/TODO: -------------------------------------------------------------------------------- 1 | * Unit tests for fieldelem/groupelem, including ones intended to 2 | trigger fieldelem's boundary cases. 3 | * Complete constant-time operations for signing/keygen 4 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | autoreconf -if --warnings=all 4 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/build-aux/m4/ltversion.m4: -------------------------------------------------------------------------------- 1 | # ltversion.m4 -- version numbers -*- Autoconf -*- 2 | # 3 | # Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. 4 | # Written by Scott James Remnant, 2004 5 | # 6 | # This file is free software; the Free Software Foundation gives 7 | # unlimited permission to copy and/or distribute it, with or without 8 | # modifications, as long as this notice is preserved. 9 | 10 | # @configure_input@ 11 | 12 | # serial 4179 ltversion.m4 13 | # This file is part of GNU Libtool 14 | 15 | m4_define([LT_PACKAGE_VERSION], [2.4.6]) 16 | m4_define([LT_PACKAGE_REVISION], [2.4.6]) 17 | 18 | AC_DEFUN([LTVERSION_VERSION], 19 | [macro_version='2.4.6' 20 | macro_revision='2.4.6' 21 | _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 22 | _LT_DECL(, macro_revision, 0) 23 | ]) 24 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/exhaustive_tests: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/commons/crypto/secp256k1/libsecp256k1/exhaustive_tests -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/gen_context: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/commons/crypto/secp256k1/libsecp256k1/gen_context -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/gen_context.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/commons/crypto/secp256k1/libsecp256k1/gen_context.o -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/include/secp256k1_ecdh.h: -------------------------------------------------------------------------------- 1 | #ifndef _SECP256K1_ECDH_ 2 | # define _SECP256K1_ECDH_ 3 | 4 | # include "secp256k1.h" 5 | 6 | # ifdef __cplusplus 7 | extern "C" { 8 | # endif 9 | 10 | /** Compute an EC Diffie-Hellman secret in constant time 11 | * Returns: 1: exponentiation was successful 12 | * 0: scalar was invalid (zero or overflow) 13 | * Args: ctx: pointer to a context object (cannot be NULL) 14 | * Out: result: a 32-byte array which will be populated by an ECDH 15 | * secret computed from the point and scalar 16 | * In: pubkey: a pointer to a secp256k1_pubkey containing an 17 | * initialized public key 18 | * privkey: a 32-byte scalar with which to multiply the point 19 | */ 20 | SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdh( 21 | const secp256k1_context* ctx, 22 | unsigned char *result, 23 | const secp256k1_pubkey *pubkey, 24 | const unsigned char *privkey 25 | ) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); 26 | 27 | # ifdef __cplusplus 28 | } 29 | # endif 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/libsecp256k1.la: -------------------------------------------------------------------------------- 1 | # libsecp256k1.la - a libtool library file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # The name that we can dlopen(3). 8 | dlname='libsecp256k1.0.dylib' 9 | 10 | # Names of this library. 11 | library_names='libsecp256k1.0.dylib libsecp256k1.dylib' 12 | 13 | # The name of the static archive. 14 | old_library='libsecp256k1.a' 15 | 16 | # Linker flags that cannot go in dependency_libs. 17 | inherited_linker_flags=' ' 18 | 19 | # Libraries that this one depends upon. 20 | dependency_libs=' -L/usr/local/opt/gmp/lib -lgmp' 21 | 22 | # Names of additional weak libraries provided by this library 23 | weak_library_names='' 24 | 25 | # Version information for libsecp256k1. 26 | current=0 27 | age=0 28 | revision=0 29 | 30 | # Is this an already installed library? 31 | installed=no 32 | 33 | # Should we warn about portability when linking against -modules? 34 | shouldnotlink=no 35 | 36 | # Files to dlopen/dlpreopen 37 | dlopen='' 38 | dlpreopen='' 39 | 40 | # Directory that this library needs to be installed in: 41 | libdir='/usr/local/lib' 42 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/libsecp256k1.pc: -------------------------------------------------------------------------------- 1 | prefix=/usr/local 2 | exec_prefix=${prefix} 3 | libdir=${exec_prefix}/lib 4 | includedir=${prefix}/include 5 | 6 | Name: libsecp256k1 7 | Description: Optimized C library for EC operations on curve secp256k1 8 | URL: https://github.com/bitcoin-core/secp256k1 9 | Version: 0.1 10 | Cflags: -I${includedir} 11 | Libs.private: -L/usr/local/opt/gmp/lib -lgmp 12 | Libs: -L${libdir} -lsecp256k1 13 | 14 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/libsecp256k1.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libsecp256k1 7 | Description: Optimized C library for EC operations on curve secp256k1 8 | URL: https://github.com/bitcoin-core/secp256k1 9 | Version: @PACKAGE_VERSION@ 10 | Cflags: -I${includedir} 11 | Libs.private: @SECP_LIBS@ 12 | Libs: -L${libdir} -lsecp256k1 13 | 14 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/.deps/.dirstamp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/commons/crypto/secp256k1/libsecp256k1/src/.deps/.dirstamp -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/.deps/bench_ecdh.Po: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/.deps/bench_internal-bench_internal.Po: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/.deps/bench_recover.Po: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/.deps/bench_sign.Po: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/.deps/bench_verify.Po: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/.dirstamp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/commons/crypto/secp256k1/libsecp256k1/src/.dirstamp -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/.libs/libsecp256k1_la-secp256k1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/commons/crypto/secp256k1/libsecp256k1/src/.libs/libsecp256k1_la-secp256k1.o -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/basic-config.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2013, 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef _SECP256K1_BASIC_CONFIG_ 8 | #define _SECP256K1_BASIC_CONFIG_ 9 | 10 | #ifdef USE_BASIC_CONFIG 11 | 12 | #undef USE_ASM_X86_64 13 | #undef USE_ENDOMORPHISM 14 | #undef USE_FIELD_10X26 15 | #undef USE_FIELD_5X52 16 | #undef USE_FIELD_INV_BUILTIN 17 | #undef USE_FIELD_INV_NUM 18 | #undef USE_NUM_GMP 19 | #undef USE_NUM_NONE 20 | #undef USE_SCALAR_4X64 21 | #undef USE_SCALAR_8X32 22 | #undef USE_SCALAR_INV_BUILTIN 23 | #undef USE_SCALAR_INV_NUM 24 | 25 | #define USE_NUM_NONE 1 26 | #define USE_FIELD_INV_BUILTIN 1 27 | #define USE_SCALAR_INV_BUILTIN 1 28 | #define USE_FIELD_10X26 1 29 | #define USE_SCALAR_8X32 1 30 | 31 | #endif // USE_BASIC_CONFIG 32 | #endif // _SECP256K1_BASIC_CONFIG_ 33 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/ecmult_const.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2015 Andrew Poelstra * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef _SECP256K1_ECMULT_CONST_ 8 | #define _SECP256K1_ECMULT_CONST_ 9 | 10 | #include "scalar.h" 11 | #include "group.h" 12 | 13 | static void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a, const secp256k1_scalar *q); 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/exhaustive_tests-tests_exhaustive.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/commons/crypto/secp256k1/libsecp256k1/src/exhaustive_tests-tests_exhaustive.o -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/java/.deps/libsecp256k1_jni_la-org_bitcoin_NativeSecp256k1.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/java/.deps/libsecp256k1_jni_la-org_bitcoin_Secp256k1Context.Plo: -------------------------------------------------------------------------------- 1 | # dummy 2 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/java/org_bitcoin_Secp256k1Context.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "org_bitcoin_Secp256k1Context.h" 4 | #include "include/secp256k1.h" 5 | 6 | SECP256K1_API jlong JNICALL Java_org_bitcoin_Secp256k1Context_secp256k1_1init_1context 7 | (JNIEnv* env, jclass classObject) 8 | { 9 | secp256k1_context *ctx = secp256k1_context_create(SECP256K1_CONTEXT_SIGN | SECP256K1_CONTEXT_VERIFY); 10 | 11 | (void)classObject;(void)env; 12 | 13 | return (uintptr_t)ctx; 14 | } 15 | 16 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/java/org_bitcoin_Secp256k1Context.h: -------------------------------------------------------------------------------- 1 | /* DO NOT EDIT THIS FILE - it is machine generated */ 2 | #include 3 | #include "include/secp256k1.h" 4 | /* Header for class org_bitcoin_Secp256k1Context */ 5 | 6 | #ifndef _Included_org_bitcoin_Secp256k1Context 7 | #define _Included_org_bitcoin_Secp256k1Context 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | /* 12 | * Class: org_bitcoin_Secp256k1Context 13 | * Method: secp256k1_init_context 14 | * Signature: ()J 15 | */ 16 | SECP256K1_API jlong JNICALL Java_org_bitcoin_Secp256k1Context_secp256k1_1init_1context 17 | (JNIEnv *, jclass); 18 | 19 | #ifdef __cplusplus 20 | } 21 | #endif 22 | #endif 23 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/libsecp256k1_la-secp256k1.lo: -------------------------------------------------------------------------------- 1 | # src/libsecp256k1_la-secp256k1.lo - a libtool object file 2 | # Generated by libtool (GNU libtool) 2.4.6 3 | # 4 | # Please DO NOT delete this file! 5 | # It is necessary for linking the library. 6 | 7 | # Name of the PIC object. 8 | pic_object='.libs/libsecp256k1_la-secp256k1.o' 9 | 10 | # Name of the non-PIC object 11 | non_pic_object='libsecp256k1_la-secp256k1.o' 12 | 13 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/libsecp256k1_la-secp256k1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/commons/crypto/secp256k1/libsecp256k1/src/libsecp256k1_la-secp256k1.o -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/modules/ecdh/Makefile.am.include: -------------------------------------------------------------------------------- 1 | include_HEADERS += include/secp256k1_ecdh.h 2 | noinst_HEADERS += src/modules/ecdh/main_impl.h 3 | noinst_HEADERS += src/modules/ecdh/tests_impl.h 4 | if USE_BENCHMARK 5 | noinst_PROGRAMS += bench_ecdh 6 | bench_ecdh_SOURCES = src/bench_ecdh.c 7 | bench_ecdh_LDADD = libsecp256k1.la $(SECP_LIBS) $(COMMON_LIB) 8 | endif 9 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/modules/recovery/Makefile.am.include: -------------------------------------------------------------------------------- 1 | include_HEADERS += include/secp256k1_recovery.h 2 | noinst_HEADERS += src/modules/recovery/main_impl.h 3 | noinst_HEADERS += src/modules/recovery/tests_impl.h 4 | if USE_BENCHMARK 5 | noinst_PROGRAMS += bench_recover 6 | bench_recover_SOURCES = src/bench_recover.c 7 | bench_recover_LDADD = libsecp256k1.la $(SECP_LIBS) $(COMMON_LIB) 8 | endif 9 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/num_gmp.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2013, 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef _SECP256K1_NUM_REPR_ 8 | #define _SECP256K1_NUM_REPR_ 9 | 10 | #include 11 | 12 | #define NUM_LIMBS ((256+GMP_NUMB_BITS-1)/GMP_NUMB_BITS) 13 | 14 | typedef struct { 15 | mp_limb_t data[2*NUM_LIMBS]; 16 | int neg; 17 | int limbs; 18 | } secp256k1_num; 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/num_impl.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2013, 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef _SECP256K1_NUM_IMPL_H_ 8 | #define _SECP256K1_NUM_IMPL_H_ 9 | 10 | #if defined HAVE_CONFIG_H 11 | #include "libsecp256k1-config.h" 12 | #endif 13 | 14 | #include "num.h" 15 | 16 | #if defined(USE_NUM_GMP) 17 | #include "num_gmp_impl.h" 18 | #elif defined(USE_NUM_NONE) 19 | /* Nothing. */ 20 | #else 21 | #error "Please select num implementation" 22 | #endif 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/scalar_4x64.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef _SECP256K1_SCALAR_REPR_ 8 | #define _SECP256K1_SCALAR_REPR_ 9 | 10 | #include 11 | 12 | /** A scalar modulo the group order of the secp256k1 curve. */ 13 | typedef struct { 14 | uint64_t d[4]; 15 | } secp256k1_scalar; 16 | 17 | #define SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {{((uint64_t)(d1)) << 32 | (d0), ((uint64_t)(d3)) << 32 | (d2), ((uint64_t)(d5)) << 32 | (d4), ((uint64_t)(d7)) << 32 | (d6)}} 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/scalar_8x32.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef _SECP256K1_SCALAR_REPR_ 8 | #define _SECP256K1_SCALAR_REPR_ 9 | 10 | #include 11 | 12 | /** A scalar modulo the group order of the secp256k1 curve. */ 13 | typedef struct { 14 | uint32_t d[8]; 15 | } secp256k1_scalar; 16 | 17 | #define SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {{(d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7)}} 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/scalar_low.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2015 Andrew Poelstra * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef _SECP256K1_SCALAR_REPR_ 8 | #define _SECP256K1_SCALAR_REPR_ 9 | 10 | #include 11 | 12 | /** A scalar modulo the group order of the secp256k1 curve. */ 13 | typedef uint32_t secp256k1_scalar; 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/stamp-h1: -------------------------------------------------------------------------------- 1 | timestamp for src/libsecp256k1-config.h 2 | -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/src/tests-tests.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/commons/crypto/secp256k1/libsecp256k1/src/tests-tests.o -------------------------------------------------------------------------------- /commons/crypto/secp256k1/libsecp256k1/tests: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/commons/crypto/secp256k1/libsecp256k1/tests -------------------------------------------------------------------------------- /commons/crypto/testdata/very-light-scrypt.json: -------------------------------------------------------------------------------- 1 | { 2 | "address": "45dea0fb0bba44f4fcf290bba71fd57d7117cbb8", 3 | "crypto": { 4 | "cipher": "aes-128-ctr", 5 | "ciphertext": "b87781948a1befd247bff51ef4063f716cf6c2d3481163e9a8f42e1f9bb74145", 6 | "cipherparams": { 7 | "iv": "dc4926b48a105133d2f16b96833abf1e" 8 | }, 9 | "kdf": "scrypt", 10 | "kdfparams": { 11 | "dklen": 32, 12 | "n": 2, 13 | "p": 1, 14 | "r": 8, 15 | "salt": "004244bbdc51cadda545b1cfa43cff9ed2ae88e08c61f1479dbb45410722f8f0" 16 | }, 17 | "mac": "39990c1684557447940d4c69e06b1b82b2aceacb43f284df65c956daf3046b85" 18 | }, 19 | "id": "ce541d8d-c79b-40f8-9f8c-20f59616faba", 20 | "version": 3 21 | } 22 | -------------------------------------------------------------------------------- /commons/queue/exists_map.go: -------------------------------------------------------------------------------- 1 | package queue 2 | 3 | import "sync" 4 | 5 | type ExistsMap struct { 6 | sync.RWMutex 7 | internal map[interface{}]bool 8 | } 9 | 10 | func NewExistsMap() *ExistsMap { 11 | return &ExistsMap{ 12 | internal: make(map[interface{}]bool), 13 | } 14 | } 15 | 16 | func (em *ExistsMap) Exists(key interface{}) bool { 17 | em.RLock() 18 | _, ok := em.internal[key] 19 | em.RUnlock() 20 | return ok 21 | } 22 | 23 | func (em *ExistsMap) Delete(key interface{}) { 24 | em.Lock() 25 | delete(em.internal, key) 26 | em.Unlock() 27 | } 28 | 29 | func (em *ExistsMap) Put(key interface{}) { 30 | em.Lock() 31 | em.internal[key] = true 32 | em.Unlock() 33 | } 34 | -------------------------------------------------------------------------------- /commons/queue/exists_map_test.go: -------------------------------------------------------------------------------- 1 | package queue 2 | 3 | import ( 4 | "testing" 5 | "fmt" 6 | "time" 7 | ) 8 | 9 | func TestExistsMapConcurrency(t *testing.T) { 10 | 11 | em := NewExistsMap() 12 | go addToQueue(em) 13 | go existInQueue(em) 14 | go deleteFromQueue(em) 15 | time.Sleep(time.Second * 10) 16 | } 17 | 18 | func addToQueue(em *ExistsMap) { 19 | for i := 0; i < 1000; i++ { 20 | value := fmt.Sprintf("value-%d", i) 21 | em.Put(value) 22 | //fmt.Printf("Put: %s\n", value) 23 | } 24 | } 25 | 26 | func existInQueue(em *ExistsMap) { 27 | for i := 0; i < 1000; i++ { 28 | value := fmt.Sprintf("value-%d", i) 29 | em.Exists(fmt.Sprintf(value)) 30 | //fmt.Printf("Exists: %s = %v\n", value, exists) 31 | } 32 | } 33 | 34 | func deleteFromQueue(em *ExistsMap) { 35 | for i := 0; i < 1000; i++ { 36 | value := fmt.Sprintf("value-%d", i) 37 | em.Delete(value) 38 | //fmt.Printf("Delete: %s\n", value) 39 | } 40 | } -------------------------------------------------------------------------------- /commons/queue/transaction_queue_test.go: -------------------------------------------------------------------------------- 1 | package queue 2 | 3 | import ( 4 | "testing" 5 | "fmt" 6 | "sync" 7 | 8 | ) 9 | 10 | func TestTxQueue(t *testing.T) { 11 | testTime := 3 12 | txq := NewTransactionQueue(testTime) 13 | 14 | for i := 1; i <= 5; i++ { 15 | tx := GetMockTransaction(int64(i)) 16 | //tx.Time = int64(rand.Intn(100)) 17 | txq.Push(tx) 18 | } 19 | fmt.Printf("Queue length = %d", txq.Queue.Len()) 20 | 21 | var wg sync.WaitGroup 22 | wg.Add(1) 23 | //testStart := utils.ToMilliSeconds(time.Now()) 24 | for { 25 | if(txq.HasAvailable()) { 26 | fmt.Printf("\n***** There is a record in the queue *****\n") 27 | tx := txq.Pop() 28 | fmt.Printf(tx.String()) 29 | } else { 30 | //if utils.ToMilliSeconds(time.Now()) - testStart > int64(5000) { 31 | break 32 | //} 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /commons/state/in_memory.go: -------------------------------------------------------------------------------- 1 | package state 2 | 3 | // import ( 4 | // "github.com/dispatchlabs/disgo/commons/tree" 5 | // "github.com/dispatchlabs/disgo/commons/utils" 6 | // ) 7 | 8 | // func NewMerkleTree(content []tree.MerkleTreeContent) *tree.MerkleTree { 9 | 10 | // merkleTree, err := tree.NewTree(content) 11 | // if err != nil { 12 | // utils.Error(err.Error()) 13 | // } 14 | 15 | // utils.Info(merkleTree.String()) 16 | // return merkleTree 17 | // } 18 | 19 | /* 20 | TryGet(key []byte) ([]byte, error) 21 | TryUpdate(key, value []byte) error 22 | TryDelete(key []byte) error 23 | Commit(onleaf trie.LeafCallback) (crypto.HashBytes, error) 24 | Hash() crypto.HashBytes 25 | NodeIterator(startKey []byte) trie.NodeIterator 26 | GetKey([]byte) []byte // TODO(fjl): remove this when SecureTrie is removed 27 | Prove(key []byte, fromLevel uint, proofDb ethdb.Putter) error 28 | 29 | */ 30 | -------------------------------------------------------------------------------- /commons/state/in_memory_test.go: -------------------------------------------------------------------------------- 1 | package state 2 | 3 | //func TestMerkleTree(t *testing.T) { 4 | // var testTX *types.Transaction 5 | // 6 | // content := make([]tree.MerkleTreeContent, 0) 7 | // for i := 0; i < 10; i++ { 8 | // tx := mockTransaction(t) 9 | // //content = append(content, tx) 10 | // if i == 3 { 11 | // testTX = tx 12 | // } 13 | // } 14 | // merkleTree := NewMerkleTree(content) 15 | // hash := testTX.CalculateHash() 16 | // fmt.Printf("Key: %v\n", hash) 17 | // merkleTree.VerifyTree() 18 | // //exists := merkleTree.Root.Has(merkleTree, hash) 19 | // //fmt.Printf("Exists = %b for: %s\n", exists, hash) 20 | //} 21 | // 22 | //func mockTransaction(t *testing.T) *types.Transaction { 23 | // 24 | // key, _ := crypto.NewKey(rand.Reader) 25 | // 26 | // tx, err := types.NewTransaction( 27 | // key.GetPrivateKeyString(), 28 | // 0, 29 | // key.Address, 30 | // "d70613f93152c84050e7826c4e2b0cc02c1c3b99", 31 | // 1, 32 | // 0, 33 | // time.Now().UnixNano(), 34 | // ) 35 | // 36 | // if err != nil { 37 | // t.Fatalf("Could not create transaction %s", err.Error()) 38 | // } 39 | // return tx 40 | //} -------------------------------------------------------------------------------- /commons/types/README.md: -------------------------------------------------------------------------------- 1 | # commons/types 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/types/endpoint.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | "encoding/json" 5 | "github.com/dispatchlabs/disgo/commons/utils" 6 | ) 7 | 8 | // Endpoint - Is the DisGover's notion of where a node can be contacted 9 | type Endpoint struct { 10 | Host string 11 | Port int64 12 | } 13 | 14 | // UnmarshalJSON 15 | func (this *Endpoint) UnmarshalJSON(bytes []byte) error { 16 | var jsonMap map[string]interface{} 17 | err := json.Unmarshal(bytes, &jsonMap) 18 | if err != nil { 19 | return err 20 | } 21 | if jsonMap["host"] != nil { 22 | this.Host = jsonMap["host"].(string) 23 | } 24 | if jsonMap["port"] != nil { 25 | this.Port = int64(jsonMap["port"].(float64)) 26 | } 27 | return nil 28 | } 29 | 30 | // MarshalJSON 31 | func (this Endpoint) MarshalJSON() ([]byte, error) { 32 | return json.Marshal(struct { 33 | Host string `json:"host"` 34 | Port int64 `json:"port"` 35 | }{ 36 | Host: this.Host, 37 | Port: this.Port, 38 | }) 39 | } 40 | 41 | // String 42 | func (this Endpoint) String() string { 43 | bytes, err := json.Marshal(this) 44 | if err != nil { 45 | utils.Error("unable to marshal endpoint", err) 46 | return "" 47 | } 48 | return string(bytes) 49 | } 50 | -------------------------------------------------------------------------------- /commons/types/events.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | type events struct { 4 | DbServiceInitFinished string 5 | GrpcServiceInitFinished string 6 | HttpServiceInitFinished string 7 | DisGoverServiceInitFinished string 8 | DAPoSServiceInitFinished string 9 | DVMServiceInitFinished string 10 | } 11 | 12 | var ( 13 | Events = events{ 14 | DbServiceInitFinished: "DbServiceInitFinished", 15 | GrpcServiceInitFinished: "GrpcServiceInitFinished", 16 | HttpServiceInitFinished: "HttpServiceInitFinished", 17 | DisGoverServiceInitFinished: "DisGoverServiceInitFinished", 18 | DAPoSServiceInitFinished: "DAPoSServiceInitFinished", 19 | DVMServiceInitFinished: "DVMServiceInitFinished", 20 | } 21 | ) 22 | -------------------------------------------------------------------------------- /commons/types/i_service.go: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Disgo-Commons library. 3 | * 4 | * The Disgo-Commons library is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * The Disgo-Commons library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with the Disgo-Commons library. If not, see . 16 | */ 17 | package types 18 | 19 | // IService - 20 | type IService interface { 21 | 22 | // return the run state of the service - 23 | IsRunning() bool 24 | 25 | // start the service and wait for requests - 26 | Go() 27 | } 28 | -------------------------------------------------------------------------------- /commons/types/pagingResult.go: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Disgo-Commons library. 3 | * 4 | * The Disgo-Commons library is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * The Disgo-Commons library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with the Disgo-Commons library. If not, see . 16 | */ 17 | package types 18 | 19 | import ( 20 | ) 21 | 22 | // Name 23 | type PagingResult struct { 24 | Count int `json:"count"` 25 | PageStart string `json:"pageStart"` 26 | } 27 | -------------------------------------------------------------------------------- /commons/types/transaction_sorter_test.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | "time" 5 | "github.com/dispatchlabs/disgo/commons/utils" 6 | "testing" 7 | ) 8 | 9 | func getMockTransaction(value int64) *Transaction { 10 | tx, err := NewTransferTokensTransaction( 11 | "0f86ea981203b26b5b8244c8f661e30e5104555068a4bd168d3e3015db9bb25a", 12 | "3ed25f42484d517cdfc72cafb7ebc9e8baa52c2c", 13 | "d70613f93152c84050e7826c4e2b0cc02c1c3b99", 14 | value, 15 | 0, 16 | utils.ToMilliSeconds(time.Now()), 17 | ) 18 | if err != nil { 19 | panic(err) 20 | } 21 | return tx 22 | } 23 | 24 | func TestSortingTransactions(t *testing.T) { 25 | txs := make([]*Transaction, 0) 26 | var i int64 27 | for i = 1; i <= 5; i++ { 28 | tx := getMockTransaction(i) 29 | txs = append(txs, tx) 30 | time.Sleep(time.Second) 31 | } 32 | SortByTime(txs, false) 33 | var lastTime int64 34 | lastTime = 0; 35 | for _, tx := range txs { 36 | if lastTime == 0 { 37 | lastTime = tx.Time 38 | } else { 39 | if tx.Time > lastTime { 40 | t.Fatalf("transactions are not sorted") 41 | } 42 | } 43 | //t.Logf("transaction %d has value %d and last value was %d", i, tx.Time, lastTime) 44 | lastTime = tx.Time 45 | } 46 | } -------------------------------------------------------------------------------- /commons/types/window_test.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | "testing" 5 | "fmt" 6 | ) 7 | 8 | func TestWindow(t *testing.T) { 9 | 10 | 11 | window := NewWindow() 12 | 13 | fmt.Printf("Window: \n%s\n", window.ToPrettyJson()) 14 | } -------------------------------------------------------------------------------- /commons/utils/README.md: -------------------------------------------------------------------------------- 1 | # utils 2 | -------------------------------------------------------------------------------- /commons/utils/common.go: -------------------------------------------------------------------------------- 1 | package utils 2 | 3 | import ( 4 | "math/rand" 5 | "time" 6 | "encoding/json" 7 | ) 8 | 9 | func Random(min, max int) int { 10 | rand.Seed(time.Now().UnixNano()) 11 | return rand.Intn(max-min) + min 12 | } 13 | 14 | const letterBytes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" 15 | func RandomString(length int) string { 16 | rand.Seed(time.Now().UnixNano()) 17 | b := make([]byte, length) 18 | for i := range b { 19 | b[i] = letterBytes[rand.Intn(len(letterBytes))] 20 | } 21 | return string(b) 22 | } 23 | 24 | func IsJSON(bytes []byte) bool { 25 | var js map[string]interface{} 26 | return json.Unmarshal(bytes, &js) == nil 27 | } -------------------------------------------------------------------------------- /commons/utils/linear_regression.go: -------------------------------------------------------------------------------- 1 | package utils 2 | 3 | type Point struct { 4 | X float64 5 | Y float64 6 | } 7 | 8 | func LinearRegression(points *[]Point) (a float64, b float64) { 9 | n := float64(len(*points)) 10 | 11 | sumX := 0.0 12 | sumY := 0.0 13 | sumXY := 0.0 14 | sumXX := 0.0 15 | 16 | for _, p := range *points { 17 | sumX += p.X 18 | sumY += p.Y 19 | sumXY += p.X * p.Y 20 | sumXX += p.X * p.X 21 | } 22 | 23 | base := (n*sumXX - sumX*sumX) 24 | if base == 0 { 25 | return 0.0, 0.0 26 | } 27 | 28 | a = (n*sumXY - sumX*sumY) / base 29 | b = (sumXX*sumY - sumXY*sumX) / base 30 | 31 | return a, b 32 | } 33 | 34 | 35 | -------------------------------------------------------------------------------- /commons/utils/linear_regression_test.go: -------------------------------------------------------------------------------- 1 | package utils 2 | 3 | import "testing" 4 | 5 | func TestLinearRegression(t *testing.T) { 6 | points := make([]Point, 0) 7 | 8 | points = append(points, Point{X:0.0, Y:1.0,}) 9 | points = append(points, Point{X:0.1, Y:1.5,}) 10 | points = append(points, Point{X:0.2, Y:2.0,}) 11 | points = append(points, Point{X:0.3, Y:2.5,}) 12 | points = append(points, Point{X:0.4, Y:3.0,}) 13 | points = append(points, Point{X:0.5, Y:3.5,}) 14 | points = append(points, Point{X:0.6, Y:4.0,}) 15 | 16 | a, _ := LinearRegression(&points) 17 | 18 | if int(a) != 5 { 19 | t.Errorf("Slope, got: %d, want: %d.", int(a), 5) 20 | } 21 | } -------------------------------------------------------------------------------- /commons/utils/number.go: -------------------------------------------------------------------------------- 1 | package utils 2 | 3 | import ( 4 | "encoding/binary" 5 | ) 6 | 7 | func Uint64ToBytes(i uint64) []byte { 8 | var buf [8]byte 9 | binary.BigEndian.PutUint64(buf[:], i) 10 | return buf[:] 11 | } 12 | 13 | func BytesToUint64(b []byte) uint64 { 14 | return binary.BigEndian.Uint64(b) 15 | } 16 | 17 | func AddNumberBytes(existing, new []byte) []byte { 18 | return Uint64ToBytes(BytesToUint64(existing) + BytesToUint64(new)) 19 | } -------------------------------------------------------------------------------- /curls/get_account.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | curl 'http://10.0.1.2:1975/v1/accounts/3ed25f42484d517cdfc72cafb7ebc9e8baa52c2c' -------------------------------------------------------------------------------- /curls/get_delegates.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | curl 'http://seed.dispatchlabs.io:1975/v1/delegates' -------------------------------------------------------------------------------- /curls/get_receipt.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | curl 'http://127.0.0.1:3502/v1/receipts/635afdaa172b3bde30ec6b57444c914095817b7b7a94731ead0085b2093e0b2b' 4 | -------------------------------------------------------------------------------- /curls/get_transaction.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | curl 'http://10.0.1.2:1951/v1/transactions/eb7e9336d3110dde9dc6c971b8a9e6e7504e43965193f2a6fb3d2b6d69e55e9d' 4 | -------------------------------------------------------------------------------- /curls/get_transactions.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | curl 'http://10.0.1.2:1975/v1/transactions' 4 | -------------------------------------------------------------------------------- /curls/get_transactions_by_from_address.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | curl 'http://10.0.1.2:1975/v1/transactions/from/3ed25f42484d517cdfc72cafb7ebc9e8baa52c2c' -------------------------------------------------------------------------------- /curls/get_transactions_by_to_address.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | curl 'http://10.0.1.2:1975/v1/transactions/to/a491fce401f84ecadd8fd3ac58d78fd7576c5a4b' -------------------------------------------------------------------------------- /curls/transfer_tokens.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | curl -X POST -d '{"hash":"eb7e9336d3110dde9dc6c971b8a9e6e7504e43965193f2a6fb3d2b6d69e55e9d","type":0,"from":"3ed25f42484d517cdfc72cafb7ebc9e8baa52c2c","to":"a491fce401f84ecadd8fd3ac58d78fd7576c5a4b","value":999,"code":"","abi":"","method":"","params":null,"time":1532111402124,"signature":"ba08b2d68f2394050bffc0e843e6e1e69155d12936d699ac90357caa012ec26c02498d4425b7c151a98f25e47c51296a471d4715cb5bbff5cc7eb58e077ae95801","hertz":0,"fromName":"","toName":""}' 'http://10.0.1.2:1975/v1/transactions' 4 | -------------------------------------------------------------------------------- /dapos/proto/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | # DAPoS/proto 5 | 6 | 7 | ### Overview 8 | 9 | ##### Proto Library 10 | 11 | The current transport protocol on Dispatch is GRPC. However, we are allowing to scale it to any transport protocol (e.g. JSON RPC, among other RPC mechanisms). Therefore, we created Proto3 as an decoupled package that defines the interfaces which need to be configured for the transport protocol to be compatible with Dispatchlabs consensus. 12 | 13 | To see the interfaces, refer to: 14 | 15 | [DAPoS.proto](https://github.com/dispatchlabs/disgo/dapos/blob/master/proto/dapos.proto) 16 | 17 | 18 | 19 | 20 | 21 | ### Configuration 22 | To be able to generate the go language bindings: 23 | 24 | `protoc --go_out=plugins=grpc:. *.proto` -------------------------------------------------------------------------------- /dapos/proto/dapos.proto.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Install [protoc](https://github.com/google/protobuf/releases) compiler. 4 | # 5 | # `go get -u github.com/golang/protobuf/protoc-gen-go` # `protoc-gen-go` plugin 6 | # `go get -u google.golang.org/grpc` # `grpc` package 7 | # `go get -u golang.org/x/net/context` # `context` package 8 | # `go get -u github.com/golang/protobuf/proto` # `protobuf` package 9 | # `protoc --go_out=plugins=grpc:. proto/blockchain.proto` # Build 10 | # 11 | 12 | protoc --go_out=plugins=grpc:. *.proto 13 | -------------------------------------------------------------------------------- /disgover/nodes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/disgover/nodes.png -------------------------------------------------------------------------------- /disgover/proto/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # disgover/proto 4 | 5 | 6 | ### Overview 7 | 8 | ##### Proto Library 9 | 10 | The current transport protocol on Dispatch is GRPC. However, we are allowing to scale it to any transport protocol (e.g. JSON RPC, among other RPC mechanisms). Therefore, we created Proto3 as an decoupled package that defines the interfaces which need to be configured for the transport protocol to be compatible with Didpatchlabs node discovery. 11 | 12 | To see the interfaces, refer to: 13 | 14 | [disgover.proto](https://github.com/dispatchlabs/disgo/disgover/blob/master/proto/disgover.proto) 15 | 16 | 17 | 18 | 19 | 20 | ### Configuration 21 | To be able to generate the go language bindings: 22 | 23 | `protoc --go_out=plugins=grpc:. *.proto` 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /disgover/proto/disgover.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package disgover; 4 | 5 | message Empty { 6 | } 7 | 8 | message Authentication { 9 | string Hash = 2; 10 | int64 Time = 3; 11 | string Signature = 4; 12 | } 13 | 14 | message Endpoint { 15 | string Host = 1; 16 | int64 Port = 2; 17 | } 18 | 19 | message Node { 20 | string Address = 1; 21 | Endpoint GrpcEndpoint = 2; 22 | Endpoint HttpEndpoint = 3; 23 | string Type = 4; 24 | } 25 | 26 | message PingSeed { 27 | Authentication Authentication = 1; 28 | Node Node = 2; 29 | } 30 | 31 | message Update { 32 | Authentication Authentication = 1; 33 | repeated Node Delegates = 2; 34 | } 35 | 36 | message SoftwareUpdate { 37 | Authentication Authentication = 1; 38 | string Hash = 2; 39 | string FileName = 3; 40 | bytes Software = 4; 41 | string Signature = 5; 42 | string ScheduledReboot = 6; 43 | } 44 | 45 | service DisgoverGrpc { 46 | rpc PingSeedGrpc(PingSeed) returns (Update) {} 47 | rpc UpdateGrpc(Update) returns (Empty) {} 48 | rpc UpdateSoftwareGrpc(SoftwareUpdate) returns (Empty) {} 49 | } 50 | 51 | -------------------------------------------------------------------------------- /disgover/proto/disgover.proto.sh: -------------------------------------------------------------------------------- 1 | 2 | # Install [protoc](https://github.com/google/protobuf/releases) compiler. 3 | # 4 | # `go get -u github.com/golang/protobuf/protoc-gen-go` # `protoc-gen-go` plugin 5 | # `go get -u google.golang.org/grpc` # `grpc` package 6 | # `go get -u golang.org/x/net/context` # `context` package 7 | # `go get -u github.com/golang/protobuf/proto` # `protobuf` package 8 | # `protoc --go_out=plugins=grpc:. proto/blockchain.proto` # Build 9 | # 10 | 11 | protoc --go_out=plugins=grpc:. *.proto 12 | -------------------------------------------------------------------------------- /dvm/ethereum/abi/numbers_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The go-ethereum Authors 2 | // This file is part of the go-ethereum library. 3 | // 4 | // The go-ethereum library is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU Lesser General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // The go-ethereum library is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU Lesser General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU Lesser General Public License 15 | // along with the go-ethereum library. If not, see . 16 | 17 | package abi 18 | 19 | import ( 20 | "bytes" 21 | "math/big" 22 | "testing" 23 | ) 24 | 25 | func TestNumberTypes(t *testing.T) { 26 | ubytes := make([]byte, 32) 27 | ubytes[31] = 1 28 | 29 | unsigned := U256(big.NewInt(1)) 30 | if !bytes.Equal(unsigned, ubytes) { 31 | t.Errorf("expected %x got %x", ubytes, unsigned) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /dvm/ethereum/common/big.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The go-ethereum Authors 2 | // This file is part of the go-ethereum library. 3 | // 4 | // The go-ethereum library is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU Lesser General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // The go-ethereum library is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU Lesser General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU Lesser General Public License 15 | // along with the go-ethereum library. If not, see . 16 | 17 | package common 18 | 19 | import "math/big" 20 | 21 | // Common big integers often used 22 | var ( 23 | Big1 = big.NewInt(1) 24 | Big2 = big.NewInt(2) 25 | Big3 = big.NewInt(3) 26 | Big0 = big.NewInt(0) 27 | Big32 = big.NewInt(32) 28 | Big256 = big.NewInt(256) 29 | Big257 = big.NewInt(257) 30 | ) 31 | -------------------------------------------------------------------------------- /dvm/ethereum/crypto/bn256/bn256_fast.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Péter Szilágyi. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | // +build amd64 arm64 6 | 7 | // Package bn256 implements the Optimal Ate pairing over a 256-bit Barreto-Naehrig curve. 8 | package bn256 9 | 10 | import "github.com/dispatchlabs/disgo/dvm/ethereum/crypto/bn256/cloudflare" 11 | 12 | // G1 is an abstract cyclic group. The zero value is suitable for use as the 13 | // output of an operation, but cannot be used as an input. 14 | type G1 = bn256.G1 15 | 16 | // G2 is an abstract cyclic group. The zero value is suitable for use as the 17 | // output of an operation, but cannot be used as an input. 18 | type G2 = bn256.G2 19 | 20 | // PairingCheck calculates the Optimal Ate pairing for a set of points. 21 | func PairingCheck(a []*G1, b []*G2) bool { 22 | return bn256.PairingCheck(a, b) 23 | } 24 | -------------------------------------------------------------------------------- /dvm/ethereum/crypto/bn256/bn256_slow.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Péter Szilágyi. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be found 3 | // in the LICENSE file. 4 | 5 | // +build !amd64,!arm64 6 | 7 | // Package bn256 implements the Optimal Ate pairing over a 256-bit Barreto-Naehrig curve. 8 | package bn256 9 | 10 | import "github.com/dispatchlabs/disgo/dvm/ethereum/crypto/bn256/google" 11 | 12 | // G1 is an abstract cyclic group. The zero value is suitable for use as the 13 | // output of an operation, but cannot be used as an input. 14 | type G1 = bn256.G1 15 | 16 | // G2 is an abstract cyclic group. The zero value is suitable for use as the 17 | // output of an operation, but cannot be used as an input. 18 | type G2 = bn256.G2 19 | 20 | // PairingCheck calculates the Optimal Ate pairing for a set of points. 21 | func PairingCheck(a []*G1, b []*G2) bool { 22 | return bn256.PairingCheck(a, b) 23 | } 24 | -------------------------------------------------------------------------------- /dvm/ethereum/crypto/bn256/cloudflare/gfp_decl.go: -------------------------------------------------------------------------------- 1 | // +build amd64,!generic arm64,!generic 2 | 3 | package bn256 4 | 5 | // This file contains forward declarations for the architecture-specific 6 | // assembly implementations of these functions, provided that they exist. 7 | 8 | import ( 9 | "golang.org/x/sys/cpu" 10 | ) 11 | 12 | //nolint:varcheck 13 | var hasBMI2 = cpu.X86.HasBMI2 14 | 15 | // go:noescape 16 | func gfpNeg(c, a *gfP) 17 | 18 | //go:noescape 19 | func gfpAdd(c, a, b *gfP) 20 | 21 | //go:noescape 22 | func gfpSub(c, a, b *gfP) 23 | 24 | //go:noescape 25 | func gfpMul(c, a, b *gfP) 26 | -------------------------------------------------------------------------------- /dvm/ethereum/crypto/bn256/cloudflare/lattice_test.go: -------------------------------------------------------------------------------- 1 | package bn256 2 | 3 | import ( 4 | "crypto/rand" 5 | 6 | "testing" 7 | ) 8 | 9 | func TestLatticeReduceCurve(t *testing.T) { 10 | k, _ := rand.Int(rand.Reader, Order) 11 | ks := curveLattice.decompose(k) 12 | 13 | if ks[0].BitLen() > 130 || ks[1].BitLen() > 130 { 14 | t.Fatal("reduction too large") 15 | } else if ks[0].Sign() < 0 || ks[1].Sign() < 0 { 16 | t.Fatal("reduction must be positive") 17 | } 18 | } 19 | 20 | func TestLatticeReduceTarget(t *testing.T) { 21 | k, _ := rand.Int(rand.Reader, Order) 22 | ks := targetLattice.decompose(k) 23 | 24 | if ks[0].BitLen() > 66 || ks[1].BitLen() > 66 || ks[2].BitLen() > 66 || ks[3].BitLen() > 66 { 25 | t.Fatal("reduction too large") 26 | } else if ks[0].Sign() < 0 || ks[1].Sign() < 0 || ks[2].Sign() < 0 || ks[3].Sign() < 0 { 27 | t.Fatal("reduction must be positive") 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /dvm/ethereum/ethdb/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | # 3 | # If you find yourself ignoring temporary files generated by your text editor 4 | # or operating system, you probably want to add a global ignore instead: 5 | # git config --global core.excludesfile ~/.gitignore_global 6 | 7 | /tmp 8 | */**/*un~ 9 | *un~ 10 | .DS_Store 11 | */**/.DS_Store 12 | 13 | -------------------------------------------------------------------------------- /dvm/ethereum/vm/int_pool_verifier.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The go-ethereum Authors 2 | // This file is part of the go-ethereum library. 3 | // 4 | // The go-ethereum library is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU Lesser General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // The go-ethereum library is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU Lesser General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU Lesser General Public License 15 | // along with the go-ethereum library. If not, see . 16 | 17 | // +build VERIFY_EVM_INTEGER_POOL 18 | 19 | package vm 20 | 21 | import "fmt" 22 | 23 | const verifyPool = true 24 | 25 | func verifyIntegerPool(ip *intPool) { 26 | for i, item := range ip.pool.data { 27 | if item.Cmp(checkVal) != 0 { 28 | panic(fmt.Sprintf("%d'th item failed aggressive pool check. Value was modified", i)) 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /dvm/ethereum/vm/int_pool_verifier_empty.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The go-ethereum Authors 2 | // This file is part of the go-ethereum library. 3 | // 4 | // The go-ethereum library is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU Lesser General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // The go-ethereum library is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU Lesser General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU Lesser General Public License 15 | // along with the go-ethereum library. If not, see . 16 | 17 | // +build !VERIFY_EVM_INTEGER_POOL 18 | 19 | package vm 20 | 21 | const verifyPool = false 22 | 23 | func verifyIntegerPool(ip *intPool) {} 24 | -------------------------------------------------------------------------------- /localapi/types.go: -------------------------------------------------------------------------------- 1 | package localapi 2 | 3 | // Transfer - 4 | type Transfer struct { 5 | To string `json:"to"` 6 | Amount int64 `json:"amount"` 7 | } 8 | 9 | // Deploy - 10 | type Deploy struct { 11 | ByteCode string `json:"byteCode"` 12 | Abi string `json:"abi"` 13 | } 14 | 15 | // Execute - 16 | type Execute struct { 17 | ContractAddress string `json:"contractAddress"` 18 | Abi string `json:"abi"` 19 | Method string `json:"method"` 20 | Params string `json:"params"` 21 | } 22 | 23 | type Package struct { 24 | To string `json:"to"` 25 | Amount int64 `json:"amount"` 26 | Time int64 27 | } 28 | -------------------------------------------------------------------------------- /seed-update: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/seed-update -------------------------------------------------------------------------------- /tools/tools: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/tools/tools -------------------------------------------------------------------------------- /update/disgo_update.sh: -------------------------------------------------------------------------------- 1 | sleep 2 2 | rm -rf *.zip 3 | -------------------------------------------------------------------------------- /update/disgo_update.sh.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/update/disgo_update.sh.zip -------------------------------------------------------------------------------- /vendor/github.com/AndreasBriese/bbloom/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 1.1 3 | -------------------------------------------------------------------------------- /vendor/github.com/btcsuite/btcd/LICENSE: -------------------------------------------------------------------------------- 1 | ISC License 2 | 3 | Copyright (c) 2013-2017 The btcsuite developers 4 | Copyright (c) 2015-2016 The Decred developers 5 | 6 | Permission to use, copy, modify, and distribute this software for any 7 | purpose with or without fee is hereby granted, provided that the above 8 | copyright notice and this permission notice appear in all copies. 9 | 10 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 | -------------------------------------------------------------------------------- /vendor/github.com/btcsuite/btcd/btcec/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013-2014 The btcsuite developers 2 | // Use of this source code is governed by an ISC 3 | // license that can be found in the LICENSE file. 4 | 5 | /* 6 | Package btcec implements support for the elliptic curves needed for bitcoin. 7 | 8 | Bitcoin uses elliptic curve cryptography using koblitz curves 9 | (specifically secp256k1) for cryptographic functions. See 10 | http://www.secg.org/collateral/sec2_final.pdf for details on the 11 | standard. 12 | 13 | This package provides the data structures and functions implementing the 14 | crypto/elliptic Curve interface in order to permit using these curves 15 | with the standard crypto/ecdsa package provided with go. Helper 16 | functionality is provided to parse signatures and public keys from 17 | standard formats. It was designed for use with btcd, but should be 18 | general enough for other uses of elliptic curve crypto. It was originally based 19 | on some initial work by ThePiachu, but has significantly diverged since then. 20 | */ 21 | package btcec 22 | -------------------------------------------------------------------------------- /vendor/github.com/btcsuite/btcd/btcjson/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This is the list of people who have contributed code to the repository. 2 | # 3 | # Names should be added to this file only after verifying that the individual 4 | # or the individual's organization has agreed to the LICENSE. 5 | # 6 | # Names should be added to this file like so: 7 | # Name 8 | 9 | John C. Vernaleo 10 | Dave Collins 11 | Owain G. Ainsworth 12 | David Hill 13 | Josh Rickmar 14 | Andreas Metsälä 15 | Francis Lam 16 | Geert-Johan Riemer 17 | -------------------------------------------------------------------------------- /vendor/github.com/btcsuite/btcd/rpcclient/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This is the list of people who have contributed code to the repository. 2 | # 3 | # Names should be added to this file only after verifying that the individual 4 | # or the individual's organization has agreed to the LICENSE. 5 | # 6 | # Names should be added to this file like so: 7 | # Name 8 | 9 | Dave Collins 10 | Geert-Johan Riemer 11 | Josh Rickmar 12 | Michalis Kargakis 13 | Ruben de Vries 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /vendor/github.com/dgraph-io/badger/badger/.gitignore: -------------------------------------------------------------------------------- 1 | /badger 2 | -------------------------------------------------------------------------------- /vendor/github.com/dgraph-io/badger/contrib/cover.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SRC="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/.." 4 | TMP=$(mktemp /tmp/badger-coverage-XXXXX.txt) 5 | 6 | BUILD=$1 7 | OUT=$2 8 | 9 | set -e 10 | 11 | pushd $SRC &> /dev/null 12 | 13 | # create coverage output 14 | echo 'mode: atomic' > $OUT 15 | for PKG in $(go list ./...|grep -v -E 'vendor'); do 16 | go test -covermode=atomic -coverprofile=$TMP $PKG 17 | tail -n +2 $TMP >> $OUT 18 | done 19 | 20 | # Another round of tests after turning off mmap 21 | go test -v -vlog_mmap=false github.com/dgraph-io/badger 22 | 23 | popd &> /dev/null 24 | -------------------------------------------------------------------------------- /vendor/github.com/dgraph-io/badger/images/benchmarks-rocksdb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/vendor/github.com/dgraph-io/badger/images/benchmarks-rocksdb.png -------------------------------------------------------------------------------- /vendor/github.com/dgraph-io/badger/images/diggy-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/vendor/github.com/dgraph-io/badger/images/diggy-shadow.png -------------------------------------------------------------------------------- /vendor/github.com/dgraph-io/badger/images/sketch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dispatchlabs/disgo/44b7f5aa9bbf1fa52b4bf8f7b04f042c567db9ba/vendor/github.com/dgraph-io/badger/images/sketch.jpg -------------------------------------------------------------------------------- /vendor/github.com/dgraph-io/badger/integration/testgc/.gitignore: -------------------------------------------------------------------------------- 1 | /testgc 2 | -------------------------------------------------------------------------------- /vendor/github.com/dgraph-io/badger/options/options.go: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 Dgraph Labs, Inc. and Contributors 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 options 18 | 19 | // FileLoadingMode specifies how data in LSM table files and value log files should 20 | // be loaded. 21 | type FileLoadingMode int 22 | 23 | const ( 24 | // FileIO indicates that files must be loaded using standard I/O 25 | FileIO FileLoadingMode = iota 26 | // LoadToRAM indicates that file must be loaded into RAM 27 | LoadToRAM 28 | // MemoryMap indicates that that the file must be memory-mapped 29 | MemoryMap 30 | ) 31 | -------------------------------------------------------------------------------- /vendor/github.com/dgraph-io/badger/protos/backup.proto: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 Dgraph Labs, Inc. and Contributors 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 | // Use protos/gen.sh to generate .pb.go files. 18 | syntax = "proto3"; 19 | 20 | package protos; 21 | 22 | message KVPair { 23 | bytes key = 1; 24 | bytes value = 2; 25 | bytes userMeta = 3; 26 | uint64 version = 4; 27 | uint64 expires_at = 5; 28 | } -------------------------------------------------------------------------------- /vendor/github.com/dgraph-io/badger/protos/gen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # You might need to go get -v github.com/gogo/protobuf/... 4 | 5 | protos=${GOPATH-$HOME/go}/src/github.com/dgraph-io/badger/protos 6 | pushd $protos > /dev/null 7 | protoc --gofast_out=plugins=grpc:. -I=. *.proto 8 | -------------------------------------------------------------------------------- /vendor/github.com/dgraph-io/badger/protos/manifest.proto: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 Dgraph Labs, Inc. and Contributors 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 | // Use protos/gen.sh to generate .pb.go files. 18 | syntax = "proto3"; 19 | 20 | package protos; 21 | 22 | message ManifestChangeSet { 23 | // A set of changes that are applied atomically. 24 | repeated ManifestChange changes = 1; 25 | } 26 | 27 | message ManifestChange { 28 | uint64 Id = 1; 29 | enum Operation { 30 | CREATE = 0; 31 | DELETE = 1; 32 | } 33 | Operation Op = 2; 34 | uint32 Level = 3; // Only used for CREATE 35 | } 36 | -------------------------------------------------------------------------------- /vendor/github.com/dgraph-io/badger/test.sh: -------------------------------------------------------------------------------- 1 | l=$(go list ./...) 2 | for x in $l; do 3 | echo "Testing package $x" 4 | go test -race -v $x 5 | done 6 | -------------------------------------------------------------------------------- /vendor/github.com/dgraph-io/badger/y/file_dsync.go: -------------------------------------------------------------------------------- 1 | // +build !dragonfly,!freebsd,!windows 2 | 3 | /* 4 | * Copyright 2017 Dgraph Labs, Inc. and Contributors 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package y 20 | 21 | import "golang.org/x/sys/unix" 22 | 23 | func init() { 24 | datasyncFileFlag = unix.O_DSYNC 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/dgraph-io/badger/y/file_nodsync.go: -------------------------------------------------------------------------------- 1 | // +build dragonfly freebsd windows 2 | 3 | /* 4 | * Copyright 2017 Dgraph Labs, Inc. and Contributors 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package y 20 | 21 | import "syscall" 22 | 23 | func init() { 24 | datasyncFileFlag = syscall.O_SYNC 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/dgryski/go-farm/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | *.exe 21 | *.test 22 | *.prof 23 | 24 | target 25 | -------------------------------------------------------------------------------- /vendor/github.com/dgryski/go-farm/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | sudo: false 4 | 5 | branches: 6 | except: 7 | - release 8 | 9 | branches: 10 | only: 11 | - master 12 | - develop 13 | - travis 14 | 15 | go: 16 | - 1.9 17 | - tip 18 | 19 | matrix: 20 | allow_failures: 21 | - go: tip 22 | 23 | before_install: 24 | - if [ -n "$GH_USER" ]; then git config --global github.user ${GH_USER}; fi; 25 | - if [ -n "$GH_TOKEN" ]; then git config --global github.token ${GH_TOKEN}; fi; 26 | - go get github.com/mattn/goveralls 27 | 28 | before_script: 29 | - make deps 30 | 31 | script: 32 | - make qa 33 | 34 | after_failure: 35 | - cat ./target/test/report.xml 36 | 37 | after_success: 38 | - if [ "$TRAVIS_GO_VERSION" = "1.9" ]; then $HOME/gopath/bin/goveralls -covermode=count -coverprofile=target/report/coverage.out -service=travis-ci; fi; 39 | -------------------------------------------------------------------------------- /vendor/github.com/dgryski/go-farm/VERSION: -------------------------------------------------------------------------------- 1 | 2.0.1 2 | -------------------------------------------------------------------------------- /vendor/github.com/dgryski/go-farm/basics.go: -------------------------------------------------------------------------------- 1 | package farm 2 | 3 | // Some primes between 2^63 and 2^64 for various uses. 4 | const k0 uint64 = 0xc3a5c85c97cb3127 5 | const k1 uint64 = 0xb492b66fbe98f273 6 | const k2 uint64 = 0x9ae16a3b2f90404f 7 | 8 | // Magic numbers for 32-bit hashing. Copied from Murmur3. 9 | const c1 uint32 = 0xcc9e2d51 10 | const c2 uint32 = 0x1b873593 11 | 12 | // A 32-bit to 32-bit integer hash copied from Murmur3. 13 | func fmix(h uint32) uint32 { 14 | h ^= h >> 16 15 | h *= 0x85ebca6b 16 | h ^= h >> 13 17 | h *= 0xc2b2ae35 18 | h ^= h >> 16 19 | return h 20 | } 21 | 22 | func mur(a, h uint32) uint32 { 23 | // Helper from Murmur3 for combining two 32-bit values. 24 | a *= c1 25 | a = rotate32(a, 17) 26 | a *= c2 27 | h ^= a 28 | h = rotate32(h, 19) 29 | return h*5 + 0xe6546b64 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/dgryski/go-farm/platform.go: -------------------------------------------------------------------------------- 1 | package farm 2 | 3 | func rotate32(val uint32, shift uint) uint32 { 4 | return ((val >> shift) | (val << (32 - shift))) 5 | } 6 | 7 | func rotate64(val uint64, shift uint) uint64 { 8 | return ((val >> shift) | (val << (64 - shift))) 9 | } 10 | 11 | func fetch32(s []byte, idx int) uint32 { 12 | return uint32(s[idx+0]) | uint32(s[idx+1])<<8 | uint32(s[idx+2])<<16 | uint32(s[idx+3])<<24 13 | } 14 | 15 | func fetch64(s []byte, idx int) uint64 { 16 | return uint64(s[idx+0]) | uint64(s[idx+1])<<8 | uint64(s[idx+2])<<16 | uint64(s[idx+3])<<24 | 17 | uint64(s[idx+4])<<32 | uint64(s[idx+5])<<40 | uint64(s[idx+6])<<48 | uint64(s[idx+7])<<56 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/ebfe/keccak/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.swp 3 | *.swo 4 | -------------------------------------------------------------------------------- /vendor/github.com/ebfe/keccak/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.4 4 | - tip 5 | -------------------------------------------------------------------------------- /vendor/github.com/ebfe/keccak/sha3.go: -------------------------------------------------------------------------------- 1 | package keccak 2 | 3 | import ( 4 | "hash" 5 | ) 6 | 7 | // NewSHA3224 returns a new hash.Hash computing SHA3-224 as specified in the FIPS 202 draft. 8 | func NewSHA3224() hash.Hash { 9 | return newKeccak(224*2, 224, domainSHA3) 10 | } 11 | 12 | // NewSHA3256 returns a new hash.Hash computing SHA3-256 as specified in the FIPS 202 draft. 13 | func NewSHA3256() hash.Hash { 14 | return newKeccak(256*2, 256, domainSHA3) 15 | } 16 | 17 | // NewSHA3384 returns a new hash.Hash computing SHA3-384 as specified in the FIPS 202 draft. 18 | func NewSHA3384() hash.Hash { 19 | return newKeccak(384*2, 384, domainSHA3) 20 | } 21 | 22 | // NewSHA3512 returns a new hash.Hash computing SHA3-512 as specified in the FIPS 202 draft. 23 | func NewSHA3512() hash.Hash { 24 | return newKeccak(512*2, 512, domainSHA3) 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/ebfe/keccak/shake.go: -------------------------------------------------------------------------------- 1 | package keccak 2 | 3 | import ( 4 | "hash" 5 | ) 6 | 7 | // NewSHAKE128 returns a new hash.Hash computing SHAKE128 with a n*8 bit output as specified in the FIPS 202 draft. 8 | func NewSHAKE128(n int) hash.Hash { 9 | return newKeccak(128*2, n*8, domainSHAKE) 10 | } 11 | 12 | // NewSHAKE256 returns a new hash.Hash computing SHAKE256 with a n*8 bit output as specified in the FIPS 202 draft. 13 | func NewSHAKE256(n int) hash.Hash { 14 | return newKeccak(256*2, n*8, domainSHAKE) 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/go-stack/stack/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | go: 4 | - 1.7.x 5 | - 1.8.x 6 | - 1.9.x 7 | - 1.10.x 8 | - 1.11.x 9 | - tip 10 | 11 | before_install: 12 | - go get github.com/mattn/goveralls 13 | 14 | script: 15 | - goveralls -service=travis-ci 16 | -------------------------------------------------------------------------------- /vendor/github.com/go-stack/stack/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Chris Hines 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/github.com/go-stack/stack/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/go-stack/stack 2 | -------------------------------------------------------------------------------- /vendor/github.com/gogo/protobuf/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of GoGo authors for copyright purposes. 2 | # This file is distinct from the CONTRIBUTORS file, which 3 | # lists people. For example, employees are listed in CONTRIBUTORS, 4 | # but not in AUTHORS, because the employer holds the copyright. 5 | 6 | # Names should be added to this file as one of 7 | # Organization's name 8 | # Individual's name 9 | # Individual's name 10 | 11 | # Please keep the list sorted. 12 | 13 | Sendgrid, Inc 14 | Vastech SA (PTY) LTD 15 | Walter Schulze 16 | -------------------------------------------------------------------------------- /vendor/github.com/gogo/protobuf/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | Anton Povarov 2 | Brian Goff 3 | Clayton Coleman 4 | Denis Smirnov 5 | DongYun Kang 6 | Dwayne Schultz 7 | Georg Apitz 8 | Gustav Paul 9 | Johan Brandhorst 10 | John Shahid 11 | John Tuley 12 | Laurent 13 | Patrick Lee 14 | Peter Edge 15 | Roger Johansson 16 | Sam Nguyen 17 | Sergio Arbeo 18 | Stephen J Day 19 | Tamir Duberstein 20 | Todd Eisenberger 21 | Tormod Erevik Lea 22 | Vyacheslav Kim 23 | Walter Schulze 24 | -------------------------------------------------------------------------------- /vendor/github.com/gogo/protobuf/GOLANG_CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | The contributors to the Go protobuf repository: 2 | 3 | # This source code was written by the Go contributors. 4 | # The master list of contributors is in the main Go distribution, 5 | # visible at http://tip.golang.org/CONTRIBUTORS. -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /vendor/github.com/golang/protobuf/conformance/conformance.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cd $(dirname $0) 4 | exec go run conformance.go $* 5 | -------------------------------------------------------------------------------- /vendor/github.com/golang/protobuf/conformance/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROTOBUF_ROOT=$1 4 | CONFORMANCE_ROOT=$1/conformance 5 | CONFORMANCE_TEST_RUNNER=$CONFORMANCE_ROOT/conformance-test-runner 6 | 7 | cd $(dirname $0) 8 | 9 | if [[ $PROTOBUF_ROOT == "" ]]; then 10 | echo "usage: test.sh " >/dev/stderr 11 | exit 1 12 | fi 13 | 14 | if [[ ! -x $CONFORMANCE_TEST_RUNNER ]]; then 15 | echo "SKIP: conformance test runner not installed" >/dev/stderr 16 | exit 0 17 | fi 18 | 19 | a=$CONFORMANCE_ROOT/conformance.proto 20 | b=internal/conformance_proto/conformance.proto 21 | if [[ $(diff $a $b) != "" ]]; then 22 | cp $a $b 23 | echo "WARNING: conformance.proto is out of date" >/dev/stderr 24 | fi 25 | 26 | $CONFORMANCE_TEST_RUNNER --failure_list failure_list_go.txt ./conformance.sh 27 | -------------------------------------------------------------------------------- /vendor/github.com/golang/protobuf/descriptor/descriptor_test.go: -------------------------------------------------------------------------------- 1 | package descriptor_test 2 | 3 | import ( 4 | "fmt" 5 | "testing" 6 | 7 | "github.com/golang/protobuf/descriptor" 8 | tpb "github.com/golang/protobuf/proto/test_proto" 9 | protobuf "github.com/golang/protobuf/protoc-gen-go/descriptor" 10 | ) 11 | 12 | func TestMessage(t *testing.T) { 13 | var msg *protobuf.DescriptorProto 14 | fd, md := descriptor.ForMessage(msg) 15 | if pkg, want := fd.GetPackage(), "google.protobuf"; pkg != want { 16 | t.Errorf("descriptor.ForMessage(%T).GetPackage() = %q; want %q", msg, pkg, want) 17 | } 18 | if name, want := md.GetName(), "DescriptorProto"; name != want { 19 | t.Fatalf("descriptor.ForMessage(%T).GetName() = %q; want %q", msg, name, want) 20 | } 21 | } 22 | 23 | func Example_options() { 24 | var msg *tpb.MyMessageSet 25 | _, md := descriptor.ForMessage(msg) 26 | if md.GetOptions().GetMessageSetWireFormat() { 27 | fmt.Printf("%v uses option message_set_wire_format.\n", md.GetName()) 28 | } 29 | 30 | // Output: 31 | // MyMessageSet uses option message_set_wire_format. 32 | } 33 | -------------------------------------------------------------------------------- /vendor/github.com/golang/protobuf/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/golang/protobuf 2 | 3 | require ( 4 | golang.org/x/net v0.0.0-20180906233101-161cd47e91fd // indirect 5 | golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f 6 | google.golang.org/genproto v0.0.0-20180831171423-11092d34479b 7 | ) 8 | -------------------------------------------------------------------------------- /vendor/github.com/golang/protobuf/go.sum: -------------------------------------------------------------------------------- 1 | golang.org/x/net v0.0.0-20180906233101-161cd47e91fd h1:nTDtHvHSdCn1m6ITfMRqtOd/9+7a3s8RBNOZ3eYZzJA= 2 | golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= 3 | golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f h1:wMNYb4v58l5UBM7MYRLPG6ZhfOqbKu7X5eyFl8ZhKvA= 4 | golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 5 | google.golang.org/genproto v0.0.0-20180831171423-11092d34479b h1:lohp5blsw53GBXtLyLNaTXPXS9pJ1tiTw61ZHUoE9Qw= 6 | google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= 7 | -------------------------------------------------------------------------------- /vendor/github.com/golang/protobuf/protoc-gen-go/testdata/issue780_oneof_conflict/test.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | package oneoftest; 4 | 5 | message Foo { 6 | oneof bar { 7 | string get_bar = 1; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/golang/snappy/.gitignore: -------------------------------------------------------------------------------- 1 | cmd/snappytool/snappytool 2 | testdata/bench 3 | 4 | # These explicitly listed benchmark data files are for an obsolete version of 5 | # snappy_test.go. 6 | testdata/alice29.txt 7 | testdata/asyoulik.txt 8 | testdata/fireworks.jpeg 9 | testdata/geo.protodata 10 | testdata/html 11 | testdata/html_x_4 12 | testdata/kppkn.gtb 13 | testdata/lcet10.txt 14 | testdata/paper-100k.pdf 15 | testdata/plrabn12.txt 16 | testdata/urls.10K 17 | -------------------------------------------------------------------------------- /vendor/github.com/golang/snappy/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of Snappy-Go authors for copyright purposes. 2 | # This file is distinct from the CONTRIBUTORS files. 3 | # See the latter for an explanation. 4 | 5 | # Names should be added to this file as 6 | # Name or Organization 7 | # The email address is not required for organizations. 8 | 9 | # Please keep the list sorted. 10 | 11 | Damian Gryski 12 | Google Inc. 13 | Jan Mercl <0xjnml@gmail.com> 14 | Rodolfo Carvalho 15 | Sebastien Binet 16 | -------------------------------------------------------------------------------- /vendor/github.com/golang/snappy/decode_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Snappy-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 !appengine 6 | // +build gc 7 | // +build !noasm 8 | 9 | package snappy 10 | 11 | // decode has the same semantics as in decode_other.go. 12 | // 13 | //go:noescape 14 | func decode(dst, src []byte) int 15 | -------------------------------------------------------------------------------- /vendor/github.com/golang/snappy/encode_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Snappy-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 !appengine 6 | // +build gc 7 | // +build !noasm 8 | 9 | package snappy 10 | 11 | // emitLiteral has the same semantics as in encode_other.go. 12 | // 13 | //go:noescape 14 | func emitLiteral(dst, lit []byte) int 15 | 16 | // emitCopy has the same semantics as in encode_other.go. 17 | // 18 | //go:noescape 19 | func emitCopy(dst []byte, offset, length int) int 20 | 21 | // extendMatch has the same semantics as in encode_other.go. 22 | // 23 | //go:noescape 24 | func extendMatch(src []byte, i, j int) int 25 | 26 | // encodeBlock has the same semantics as in encode_other.go. 27 | // 28 | //go:noescape 29 | func encodeBlock(dst, src []byte) (d int) 30 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.4.3 5 | - 1.5.3 6 | - tip 7 | 8 | script: 9 | - go test -v ./... 10 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # How to contribute 2 | 3 | We definitely welcome patches and contribution to this project! 4 | 5 | ### Legal requirements 6 | 7 | In order to protect both you and ourselves, you will need to sign the 8 | [Contributor License Agreement](https://cla.developers.google.com/clas). 9 | 10 | You may have already signed it for other Google projects. 11 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | Paul Borman 2 | bmatsuo 3 | shawnps 4 | theory 5 | jboverfelt 6 | dsymonds 7 | cd1 8 | wallclockbuilder 9 | dansouza 10 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/README.md: -------------------------------------------------------------------------------- 1 | **This package is currently in development and the API may not be stable.** 2 | 3 | The API will become stable with v1. 4 | 5 | # uuid ![build status](https://travis-ci.org/google/uuid.svg?branch=master) 6 | The uuid package generates and inspects UUIDs based on 7 | [RFC 4122](http://tools.ietf.org/html/rfc4122) 8 | and DCE 1.1: Authentication and Security Services. 9 | 10 | This package is based on the github.com/pborman/uuid package (previously named 11 | code.google.com/p/go-uuid). It differs from these earlier packages in that 12 | a UUID is a 16 byte array rather than a byte slice. One loss due to this 13 | change is the ability to represent an invalid UUID (vs a NIL UUID). 14 | 15 | ###### Install 16 | `go get github.com/google/uuid` 17 | 18 | ###### Documentation 19 | [![GoDoc](https://godoc.org/github.com/google/uuid?status.svg)](http://godoc.org/github.com/google/uuid) 20 | 21 | Full `go doc` style documentation for the package can be viewed online without 22 | installing this package by using the GoDoc site here: 23 | http://godoc.org/github.com/google/uuid 24 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 Google Inc. 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 uuid generates and inspects UUIDs. 6 | // 7 | // UUIDs are based on RFC 4122 and DCE 1.1: Authentication and Security 8 | // Services. 9 | // 10 | // A UUID is a 16 byte (128 bit) array. UUIDs may be used as keys to 11 | // maps or compared directly. 12 | package uuid 13 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/marshal.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 Google Inc. 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 uuid 6 | 7 | import "fmt" 8 | 9 | // MarshalText implements encoding.TextMarshaler. 10 | func (uuid UUID) MarshalText() ([]byte, error) { 11 | var js [36]byte 12 | encodeHex(js[:], uuid) 13 | return js[:], nil 14 | } 15 | 16 | // UnmarshalText implements encoding.TextUnmarshaler. 17 | func (uuid *UUID) UnmarshalText(data []byte) error { 18 | // See comment in ParseBytes why we do this. 19 | // id, err := ParseBytes(data) 20 | id, err := ParseBytes(data) 21 | if err == nil { 22 | *uuid = id 23 | } 24 | return err 25 | } 26 | 27 | // MarshalBinary implements encoding.BinaryMarshaler. 28 | func (uuid UUID) MarshalBinary() ([]byte, error) { 29 | return uuid[:], nil 30 | } 31 | 32 | // UnmarshalBinary implements encoding.BinaryUnmarshaler. 33 | func (uuid *UUID) UnmarshalBinary(data []byte) error { 34 | if len(data) != 16 { 35 | return fmt.Errorf("invalid UUID (got %d bytes)", len(data)) 36 | } 37 | copy(uuid[:], data) 38 | return nil 39 | } 40 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/node_js.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google Inc. 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 js 6 | 7 | package uuid 8 | 9 | // getHardwareInterface returns nil values for the JS version of the code. 10 | // This remvoves the "net" dependency, because it is not used in the browser. 11 | // Using the "net" library inflates the size of the transpiled JS code by 673k bytes. 12 | func getHardwareInterface(name string) (string, []byte) { return "", nil } 13 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/node_net.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google Inc. 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 !js 6 | 7 | package uuid 8 | 9 | import "net" 10 | 11 | var interfaces []net.Interface // cached list of interfaces 12 | 13 | // getHardwareInterface returns the name and hardware address of interface name. 14 | // If name is "" then the name and hardware address of one of the system's 15 | // interfaces is returned. If no interfaces are found (name does not exist or 16 | // there are no interfaces) then "", nil is returned. 17 | // 18 | // Only addresses of at least 6 bytes are returned. 19 | func getHardwareInterface(name string) (string, []byte) { 20 | if interfaces == nil { 21 | var err error 22 | interfaces, err = net.Interfaces() 23 | if err != nil { 24 | return "", nil 25 | } 26 | } 27 | for _, ifs := range interfaces { 28 | if len(ifs.HardwareAddr) >= 6 && (name == "" || name == ifs.Name) { 29 | return ifs.Name, ifs.HardwareAddr 30 | } 31 | } 32 | return "", nil 33 | } 34 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/context/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | 4 | matrix: 5 | include: 6 | - go: 1.3 7 | - go: 1.4 8 | - go: 1.5 9 | - go: 1.6 10 | - go: 1.7 11 | - go: tip 12 | allow_failures: 13 | - go: tip 14 | 15 | script: 16 | - go get -t -v ./... 17 | - diff -u <(echo -n) <(gofmt -d .) 18 | - go vet $(go list ./... | grep -v /vendor/) 19 | - go test -v -race ./... 20 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/context/README.md: -------------------------------------------------------------------------------- 1 | context 2 | ======= 3 | [![Build Status](https://travis-ci.org/gorilla/context.png?branch=master)](https://travis-ci.org/gorilla/context) 4 | 5 | gorilla/context is a general purpose registry for global request variables. 6 | 7 | > Note: gorilla/context, having been born well before `context.Context` existed, does not play well 8 | > with the shallow copying of the request that [`http.Request.WithContext`](https://golang.org/pkg/net/http/#Request.WithContext) (added to net/http Go 1.7 onwards) performs. You should either use *just* gorilla/context, or moving forward, the new `http.Request.Context()`. 9 | 10 | Read the full documentation here: http://www.gorillatoolkit.org/pkg/context 11 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/mux/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | 4 | matrix: 5 | include: 6 | - go: 1.7.x 7 | - go: 1.8.x 8 | - go: 1.9.x 9 | - go: 1.10.x 10 | - go: 1.11.x 11 | - go: 1.x 12 | env: LATEST=true 13 | - go: tip 14 | allow_failures: 15 | - go: tip 16 | 17 | install: 18 | - # Skip 19 | 20 | script: 21 | - go get -t -v ./... 22 | - diff -u <(echo -n) <(gofmt -d .) 23 | - if [[ "$LATEST" = true ]]; then go tool vet .; fi 24 | - go test -v -race ./... 25 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/mux/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of gorilla/mux authors for copyright purposes. 2 | # 3 | # Please keep the list sorted. 4 | 5 | Google LLC (https://opensource.google.com/) 6 | Kamil Kisielk 7 | Matt Silverlock 8 | Rodrigo Moraes (https://github.com/moraes) 9 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/mux/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | **What version of Go are you running?** (Paste the output of `go version`) 2 | 3 | 4 | **What version of gorilla/mux are you at?** (Paste the output of `git rev-parse HEAD` inside `$GOPATH/src/github.com/gorilla/mux`) 5 | 6 | 7 | **Describe your problem** (and what you have tried so far) 8 | 9 | 10 | **Paste a minimal, runnable, reproduction of your issue below** (use backticks to format it) 11 | 12 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/mux/context.go: -------------------------------------------------------------------------------- 1 | package mux 2 | 3 | import ( 4 | "context" 5 | "net/http" 6 | ) 7 | 8 | func contextGet(r *http.Request, key interface{}) interface{} { 9 | return r.Context().Value(key) 10 | } 11 | 12 | func contextSet(r *http.Request, key, val interface{}) *http.Request { 13 | if val == nil { 14 | return r 15 | } 16 | 17 | return r.WithContext(context.WithValue(r.Context(), key, val)) 18 | } 19 | 20 | func contextClear(r *http.Request) { 21 | return 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/mux/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/gorilla/mux 2 | -------------------------------------------------------------------------------- /vendor/github.com/gorilla/mux/test_helpers.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Gorilla 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 mux 6 | 7 | import "net/http" 8 | 9 | // SetURLVars sets the URL variables for the given request, to be accessed via 10 | // mux.Vars for testing route behaviour. Arguments are not modified, a shallow 11 | // copy is returned. 12 | // 13 | // This API should only be used for testing purposes; it provides a way to 14 | // inject variables into the request context. Alternatively, URL variables 15 | // can be set by making a route that captures the required variables, 16 | // starting a server and sending the request to that server. 17 | func SetURLVars(r *http.Request, val map[string]string) *http.Request { 18 | return setVars(r, val) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/gxed/hashland/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Lawrence E. Bakst 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /vendor/github.com/gxed/hashland/keccak/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Barry Allard 2 | 3 | Except for keccak_test.go, .h and .c files are licensed seperately 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/github.com/gxed/hashland/keccakpg/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "whyrusleeping", 3 | "bugs": {}, 4 | "gx": { 5 | "dvcsimport": "github.com/gxed/hashland/keccakpg" 6 | }, 7 | "gxVersion": "0.10.0", 8 | "language": "go", 9 | "license": "", 10 | "name": "keccakpg", 11 | "releaseCmd": "git commit -a -m \"gx publish $VERSION\"", 12 | "version": "0.0.1" 13 | } 14 | 15 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/golang-lru/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/golang-lru/README.md: -------------------------------------------------------------------------------- 1 | golang-lru 2 | ========== 3 | 4 | This provides the `lru` package which implements a fixed-size 5 | thread safe LRU cache. It is based on the cache in Groupcache. 6 | 7 | Documentation 8 | ============= 9 | 10 | Full docs are available on [Godoc](http://godoc.org/github.com/hashicorp/golang-lru) 11 | 12 | Example 13 | ======= 14 | 15 | Using the LRU is very simple: 16 | 17 | ```go 18 | l, _ := New(128) 19 | for i := 0; i < 256; i++ { 20 | l.Add(i, nil) 21 | } 22 | if l.Len() != 128 { 23 | panic(fmt.Sprintf("bad len: %v", l.Len())) 24 | } 25 | ``` 26 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/golang-lru/doc.go: -------------------------------------------------------------------------------- 1 | // Package lru provides three different LRU caches of varying sophistication. 2 | // 3 | // Cache is a simple LRU cache. It is based on the 4 | // LRU implementation in groupcache: 5 | // https://github.com/golang/groupcache/tree/master/lru 6 | // 7 | // TwoQueueCache tracks frequently used and recently used entries separately. 8 | // This avoids a burst of accesses from taking out frequently used entries, 9 | // at the cost of about 2x computational overhead and some extra bookkeeping. 10 | // 11 | // ARCCache is an adaptive replacement cache. It tracks recent evictions as 12 | // well as recent usage in both the frequent and recent caches. Its 13 | // computational overhead is comparable to TwoQueueCache, but the memory 14 | // overhead is linear with the size of the cache. 15 | // 16 | // ARC has been patented by IBM, so do not use it if that is problematic for 17 | // your program. 18 | // 19 | // All caches in this package take locks while operating, and are therefore 20 | // thread-safe for consumers. 21 | package lru 22 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/golang-lru/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/hashicorp/golang-lru 2 | -------------------------------------------------------------------------------- /vendor/github.com/ipfs/go-ipfs-util/.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | -------------------------------------------------------------------------------- /vendor/github.com/ipfs/go-ipfs-util/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Juan Batiz-Benet 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/github.com/ipfs/go-ipfs-util/file.go: -------------------------------------------------------------------------------- 1 | package util 2 | 3 | import "os" 4 | 5 | // FileExists check if the file with the given path exits. 6 | func FileExists(filename string) bool { 7 | fi, err := os.Lstat(filename) 8 | if fi != nil || (err != nil && !os.IsNotExist(err)) { 9 | return true 10 | } 11 | return false 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/ipfs/go-ipfs-util/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "whyrusleeping", 3 | "bugs": {}, 4 | "gx": { 5 | "dvcsimport": "github.com/ipfs/go-ipfs-util" 6 | }, 7 | "gxDependencies": [ 8 | { 9 | "author": "multiformats", 10 | "hash": "QmPnFwZ2JXKnXgMw8CdBPxn7FWh6LLdjUjxV1fKHuJnkr8", 11 | "name": "go-multihash", 12 | "version": "1.0.8" 13 | }, 14 | { 15 | "author": "mr-tron", 16 | "hash": "QmWFAMPqsEyUX7gDUsRVmMWz59FxSpJ1b2v6bJ1yYzo7jY", 17 | "name": "go-base58-fast", 18 | "version": "0.1.1" 19 | } 20 | ], 21 | "gxVersion": "0.9.1", 22 | "language": "go", 23 | "license": "", 24 | "name": "go-ipfs-util", 25 | "releaseCmd": "git commit -a -m \"gx publish $VERSION\"", 26 | "version": "1.2.8" 27 | } 28 | 29 | -------------------------------------------------------------------------------- /vendor/github.com/ipfs/go-ipfs-util/time.go: -------------------------------------------------------------------------------- 1 | package util 2 | 3 | import "time" 4 | 5 | // TimeFormatIpfs is the format ipfs uses to represent time in string form. 6 | var TimeFormatIpfs = time.RFC3339Nano 7 | 8 | // ParseRFC3339 parses an RFC3339Nano-formatted time stamp and 9 | // returns the UTC time. 10 | func ParseRFC3339(s string) (time.Time, error) { 11 | t, err := time.Parse(TimeFormatIpfs, s) 12 | if err != nil { 13 | return time.Time{}, err 14 | } 15 | return t.UTC(), nil 16 | } 17 | 18 | // FormatRFC3339 returns the string representation of the 19 | // UTC value of the given time in RFC3339Nano format. 20 | func FormatRFC3339(t time.Time) string { 21 | return t.UTC().Format(TimeFormatIpfs) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/ipfs/go-log/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 'tip' 4 | install: 5 | - go get github.com/whyrusleeping/gx 6 | - go get github.com/whyrusleeping/gx-go 7 | - gx install --global 8 | - gx-go rewrite 9 | script: 10 | - go test -v 11 | 12 | -------------------------------------------------------------------------------- /vendor/github.com/ipfs/go-log/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Juan Batiz-Benet 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/github.com/ipfs/go-log/context.go: -------------------------------------------------------------------------------- 1 | package log 2 | 3 | import ( 4 | "context" 5 | "errors" 6 | ) 7 | 8 | type key int 9 | 10 | const metadataKey key = 0 11 | 12 | // ContextWithLoggable returns a derived context which contains the provided 13 | // Loggable. Any Events logged with the derived context will include the 14 | // provided Loggable. 15 | func ContextWithLoggable(ctx context.Context, l Loggable) context.Context { 16 | existing, err := MetadataFromContext(ctx) 17 | if err != nil { 18 | // context does not contain meta. just set the new metadata 19 | child := context.WithValue(ctx, metadataKey, Metadata(l.Loggable())) 20 | return child 21 | } 22 | 23 | merged := DeepMerge(existing, l.Loggable()) 24 | child := context.WithValue(ctx, metadataKey, merged) 25 | return child 26 | } 27 | 28 | // MetadataFromContext extracts Matadata from a given context's value. 29 | func MetadataFromContext(ctx context.Context) (Metadata, error) { 30 | value := ctx.Value(metadataKey) 31 | if value != nil { 32 | metadata, ok := value.(Metadata) 33 | if ok { 34 | return metadata, nil 35 | } 36 | } 37 | return nil, errors.New("context contains no metadata") 38 | } 39 | -------------------------------------------------------------------------------- /vendor/github.com/ipfs/go-log/entry.go: -------------------------------------------------------------------------------- 1 | package log 2 | 3 | type entry struct { 4 | loggables []Loggable 5 | system string 6 | event string 7 | } 8 | -------------------------------------------------------------------------------- /vendor/github.com/ipfs/go-log/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "bugs": { 3 | "url": "https://github.com/ipfs/go-log" 4 | }, 5 | "gx": { 6 | "dvcsimport": "github.com/ipfs/go-log" 7 | }, 8 | "gxDependencies": [ 9 | { 10 | "author": "whyrusleeping", 11 | "hash": "QmcaSwFc5RBg8yCq54QURwEU4nwjfCpjbpmaAm4VbdGLKv", 12 | "name": "go-logging", 13 | "version": "0.0.0" 14 | }, 15 | { 16 | "author": "frist", 17 | "hash": "QmWLWmRVSiagqP15jczsGME1qpob6HDbtbHAY2he9W5iUo", 18 | "name": "opentracing-go", 19 | "version": "0.0.3" 20 | }, 21 | { 22 | "author": "mattn", 23 | "hash": "QmTsHcKgTQ4VeYZd8eKYpTXeLW7KNwkRD9wjnrwsV2sToq", 24 | "name": "go-colorable", 25 | "version": "0.2.0" 26 | }, 27 | { 28 | "author": "whyrusleeping", 29 | "hash": "QmdxUuburamoF6zF9qjeQC4WYcWGbWuRmdLacMEsW8ioD8", 30 | "name": "gogo-protobuf", 31 | "version": "0.0.0" 32 | } 33 | ], 34 | "gxVersion": "0.12.1", 35 | "language": "go", 36 | "license": "", 37 | "name": "go-log", 38 | "releaseCmd": "git commit -a -m \"gx publish $VERSION\"", 39 | "version": "1.5.7" 40 | } 41 | 42 | -------------------------------------------------------------------------------- /vendor/github.com/ipfs/go-log/tracer/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 The OpenTracing Authors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/github.com/ipfs/go-log/tracer/raw.go: -------------------------------------------------------------------------------- 1 | package loggabletracer 2 | 3 | import ( 4 | "time" 5 | 6 | opentracing "github.com/opentracing/opentracing-go" 7 | ) 8 | 9 | // RawSpan encapsulates all state associated with a (finished) Span. 10 | type RawSpan struct { 11 | // Those recording the RawSpan should also record the contents of its 12 | // SpanContext. 13 | Context SpanContext 14 | 15 | // The SpanID of this SpanContext's first intra-trace reference (i.e., 16 | // "parent"), or 0 if there is no parent. 17 | ParentSpanID uint64 18 | 19 | // The name of the "operation" this span is an instance of. (Called a "span 20 | // name" in some implementations) 21 | Operation string 22 | 23 | // We store rather than so that only 24 | // one of the timestamps has global clock uncertainty issues. 25 | Start time.Time 26 | Duration time.Duration 27 | 28 | // Essentially an extension mechanism. Can be used for many purposes, 29 | // not to be enumerated here. 30 | Tags opentracing.Tags 31 | 32 | // The span's "microlog". 33 | Logs []opentracing.LogRecord 34 | } 35 | -------------------------------------------------------------------------------- /vendor/github.com/ipfs/go-log/tracer/util.go: -------------------------------------------------------------------------------- 1 | package loggabletracer 2 | 3 | import ( 4 | "math/rand" 5 | "sync" 6 | "time" 7 | ) 8 | 9 | var ( 10 | seededIDGen = rand.New(rand.NewSource(time.Now().UnixNano())) 11 | // The golang rand generators are *not* intrinsically thread-safe. 12 | seededIDLock sync.Mutex 13 | ) 14 | 15 | func randomID() uint64 { 16 | seededIDLock.Lock() 17 | defer seededIDLock.Unlock() 18 | return uint64(seededIDGen.Int63()) 19 | } 20 | 21 | func randomID2() (uint64, uint64) { 22 | seededIDLock.Lock() 23 | defer seededIDLock.Unlock() 24 | return uint64(seededIDGen.Int63()), uint64(seededIDGen.Int63()) 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/ipfs/go-log/tracer/wire/gen.go: -------------------------------------------------------------------------------- 1 | package wire 2 | 3 | //go:generate protoc --gogofaster_out=$GOPATH/src/github.com/ipfs/go-log/tracer/wire wire.proto 4 | 5 | // Run `go get github.com/gogo/protobuf/protoc-gen-gogofaster` to install the 6 | // gogofaster generator binary. 7 | -------------------------------------------------------------------------------- /vendor/github.com/ipfs/go-log/tracer/wire/wire.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | package loggabletracer.wire; 3 | option go_package = "wire"; 4 | 5 | message TracerState { 6 | fixed64 trace_id = 1; 7 | fixed64 span_id = 2; 8 | bool sampled = 3; 9 | map baggage_items = 4; 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/ipfs/go-log/writer/polite_json_formatter.go: -------------------------------------------------------------------------------- 1 | package log 2 | 3 | import ( 4 | "encoding/json" 5 | "io" 6 | 7 | logging "github.com/whyrusleeping/go-logging" 8 | ) 9 | 10 | // PoliteJSONFormatter marshals entries into JSON encoded slices (without 11 | // overwriting user-provided keys). How polite of it! 12 | type PoliteJSONFormatter struct{} 13 | 14 | // Format encodes a logging.Record in JSON and writes it to Writer. 15 | func (f *PoliteJSONFormatter) Format(calldepth int, r *logging.Record, w io.Writer) error { 16 | entry := make(map[string]interface{}) 17 | entry["id"] = r.Id 18 | entry["level"] = r.Level 19 | entry["time"] = r.Time 20 | entry["module"] = r.Module 21 | entry["message"] = r.Message() 22 | err := json.NewEncoder(w).Encode(entry) 23 | if err != nil { 24 | return err 25 | } 26 | 27 | w.Write([]byte{'\n'}) 28 | return nil 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/jasonlvhit/gocron/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | 25 | # IDE project files 26 | .idea 27 | -------------------------------------------------------------------------------- /vendor/github.com/keybase/go-codec/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2012-2015 Ugorji Nwoke. 4 | All rights reserved. 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | -------------------------------------------------------------------------------- /vendor/github.com/keybase/go-codec/codec/fast-path.not.go: -------------------------------------------------------------------------------- 1 | // +build notfastpath 2 | 3 | package codec 4 | 5 | import "reflect" 6 | 7 | // The generated fast-path code is very large, and adds a few seconds to the build time. 8 | // This causes test execution, execution of small tools which use codec, etc 9 | // to take a long time. 10 | // 11 | // To mitigate, we now support the notfastpath tag. 12 | // This tag disables fastpath during build, allowing for faster build, test execution, 13 | // short-program runs, etc. 14 | 15 | func fastpathDecodeTypeSwitch(iv interface{}, d *Decoder) bool { return false } 16 | func fastpathEncodeTypeSwitch(iv interface{}, e *Encoder) bool { return false } 17 | func fastpathEncodeTypeSwitchSlice(iv interface{}, e *Encoder) bool { return false } 18 | func fastpathEncodeTypeSwitchMap(iv interface{}, e *Encoder) bool { return false } 19 | 20 | type fastpathT struct{} 21 | type fastpathE struct { 22 | rtid uintptr 23 | rt reflect.Type 24 | encfn func(*encFnInfo, reflect.Value) 25 | decfn func(*decFnInfo, reflect.Value) 26 | } 27 | type fastpathA [0]fastpathE 28 | 29 | func (x fastpathA) index(rtid uintptr) int { return -1 } 30 | 31 | var fastpathAV fastpathA 32 | var fastpathTV fastpathT 33 | -------------------------------------------------------------------------------- /vendor/github.com/keybase/go-codec/codec/gen_15.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved. 2 | // Use of this source code is governed by a MIT license found in the LICENSE file. 3 | 4 | // +build go1.5,!go1.6 5 | 6 | package codec 7 | 8 | import "os" 9 | 10 | func init() { 11 | genCheckVendor = os.Getenv("GO15VENDOREXPERIMENT") == "1" 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/keybase/go-codec/codec/gen_16.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved. 2 | // Use of this source code is governed by a MIT license found in the LICENSE file. 3 | 4 | // +build go1.6 5 | 6 | package codec 7 | 8 | import "os" 9 | 10 | func init() { 11 | genCheckVendor = os.Getenv("GO15VENDOREXPERIMENT") != "0" 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/keybase/go-codec/codec/helper_not_unsafe.go: -------------------------------------------------------------------------------- 1 | //+build !unsafe 2 | 3 | // Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved. 4 | // Use of this source code is governed by a MIT license found in the LICENSE file. 5 | 6 | package codec 7 | 8 | // stringView returns a view of the []byte as a string. 9 | // In unsafe mode, it doesn't incur allocation and copying caused by conversion. 10 | // In regular safe mode, it is an allocation and copy. 11 | func stringView(v []byte) string { 12 | return string(v) 13 | } 14 | 15 | // bytesView returns a view of the string as a []byte. 16 | // In unsafe mode, it doesn't incur allocation and copying caused by conversion. 17 | // In regular safe mode, it is an allocation and copy. 18 | func bytesView(v string) []byte { 19 | return []byte(v) 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/keybase/go-codec/codec/prebuild.go: -------------------------------------------------------------------------------- 1 | package codec 2 | 3 | //go:generate bash prebuild.sh 4 | -------------------------------------------------------------------------------- /vendor/github.com/keybase/go-merkle-tree/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/keybase/go-merkle-tree/README.md: -------------------------------------------------------------------------------- 1 | go-merkle-tree 2 | ============== 3 | 4 | Go language to build and check keybase's sitewide merkle tree. 5 | 6 | [![GoDoc](https://godoc.org/github.com/keybase/go-merkle-tree?status.svg)](https://godoc.org/github.com/keybase/go-merkle-tree) 7 | -------------------------------------------------------------------------------- /vendor/github.com/keybase/go-merkle-tree/errors.go: -------------------------------------------------------------------------------- 1 | package merkleTree 2 | 3 | import ( 4 | "errors" 5 | "fmt" 6 | ) 7 | 8 | // HashMismatchError is raised when a value fails to match its hash key. 9 | type HashMismatchError struct { 10 | H Hash 11 | } 12 | 13 | func (h HashMismatchError) Error() string { 14 | return fmt.Sprintf("Hash mismatch at %x", h.H) 15 | } 16 | 17 | // NodeNotFoundError is raised when an interior node of the tree 18 | // isn't found, though it was advertised by a parent node. 19 | type NodeNotFoundError struct { 20 | H Hash 21 | } 22 | 23 | func (n NodeNotFoundError) Error() string { 24 | return fmt.Sprintf("Node with hash %x not found", n.H) 25 | } 26 | 27 | // BadChildPointerError is thrown when the types of an interior node 28 | // are not pointers to children. 29 | type BadChildPointerError struct { 30 | V interface{} 31 | } 32 | 33 | func (b BadChildPointerError) Error() string { 34 | return fmt.Sprintf("Wanted a Hash; got type %T instead", b.V) 35 | } 36 | 37 | // ErrBadINode is thrown when we find a corrupt/malformed iNode 38 | var ErrBadINode = errors.New("Bad iNode found") 39 | -------------------------------------------------------------------------------- /vendor/github.com/keybase/go-merkle-tree/inode.go: -------------------------------------------------------------------------------- 1 | package merkleTree 2 | 3 | import () 4 | 5 | type childPointerMap struct { 6 | tab []Hash 7 | } 8 | 9 | func newChildPointerMap(capacity ChildIndex) *childPointerMap { 10 | return &childPointerMap{ 11 | tab: make([]Hash, capacity), 12 | } 13 | } 14 | 15 | func newChildPointerMapFromNode(n *Node) *childPointerMap { 16 | return &childPointerMap{ 17 | tab: n.INodes, 18 | } 19 | } 20 | 21 | func (c *childPointerMap) exportToNode(h Hasher, prevRoot Hash, level Level) (hash Hash, node Node, objExported []byte, err error) { 22 | node.Type = nodeTypeINode 23 | node.INodes = c.tab 24 | return node.export(h, prevRoot, level) 25 | } 26 | 27 | func (c *childPointerMap) set(i ChildIndex, h Hash) *childPointerMap { 28 | c.tab[i] = h 29 | return c 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/keybase/go-merkle-tree/interfaces.go: -------------------------------------------------------------------------------- 1 | package merkleTree 2 | 3 | import "golang.org/x/net/context" 4 | 5 | // StorageEngine specifies how to store and lookup merkle tree nodes 6 | // and roots. You can use a DB like Dynamo or SQL to do this. 7 | type StorageEngine interface { 8 | StoreNode(context.Context, Hash, []byte) error 9 | CommitRoot(ctx context.Context, prev Hash, curr Hash, txinfo TxInfo) error 10 | LookupNode(context.Context, Hash) ([]byte, error) 11 | LookupRoot(context.Context) (Hash, error) 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/keybase/go-merkle-tree/msgpack.go: -------------------------------------------------------------------------------- 1 | package merkleTree 2 | 3 | import ( 4 | "bytes" 5 | "github.com/keybase/go-codec/codec" 6 | ) 7 | 8 | func codecHandle() *codec.MsgpackHandle { 9 | var mh codec.MsgpackHandle 10 | mh.WriteExt = true 11 | return &mh 12 | } 13 | 14 | func encodeToBytes(i interface{}) ([]byte, error) { 15 | var encoded []byte 16 | err := codec.NewEncoderBytes(&encoded, codecHandle()).Encode(i) 17 | return encoded, err 18 | } 19 | 20 | func decodeFromBytes(p interface{}, b []byte) error { 21 | return codec.NewDecoderBytes(b, codecHandle()).Decode(p) 22 | } 23 | 24 | func deepEqual(i1, i2 interface{}) bool { 25 | b1, e1 := encodeToBytes(i1) 26 | b2, e2 := encodeToBytes(i2) 27 | if e1 != nil || e2 != nil { 28 | return false 29 | } 30 | return bytes.Equal(b1, b2) 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/konsorten/go-windows-terminal-sequences/license: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2017 marvin + konsorten GmbH (open-source@konsorten.de) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package sequences 4 | 5 | import ( 6 | "syscall" 7 | "unsafe" 8 | ) 9 | 10 | var ( 11 | kernel32Dll *syscall.LazyDLL = syscall.NewLazyDLL("Kernel32.dll") 12 | setConsoleMode *syscall.LazyProc = kernel32Dll.NewProc("SetConsoleMode") 13 | ) 14 | 15 | func EnableVirtualTerminalProcessing(stream syscall.Handle, enable bool) error { 16 | const ENABLE_VIRTUAL_TERMINAL_PROCESSING uint32 = 0x4 17 | 18 | var mode uint32 19 | err := syscall.GetConsoleMode(syscall.Stdout, &mode) 20 | if err != nil { 21 | return err 22 | } 23 | 24 | if enable { 25 | mode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING 26 | } else { 27 | mode &^= ENABLE_VIRTUAL_TERMINAL_PROCESSING 28 | } 29 | 30 | ret, _, err := setConsoleMode.Call(uintptr(unsafe.Pointer(stream)), uintptr(mode)) 31 | if ret == 0 { 32 | return err 33 | } 34 | 35 | return nil 36 | } 37 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-crypto/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: true 3 | 4 | go: 5 | - 1.9.x 6 | 7 | install: 8 | - make deps 9 | 10 | script: 11 | - bash <(curl -s https://raw.githubusercontent.com/ipfs/ci-helpers/master/travis-ci/run-standard-tests.sh) 12 | 13 | cache: 14 | directories: 15 | - $GOPATH/src/gx 16 | 17 | notifications: 18 | email: false 19 | 20 | env: GOTFLAGS="-race" 21 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-crypto/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Jeromy Johnson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-crypto/Makefile: -------------------------------------------------------------------------------- 1 | test: deps 2 | go test -race -v ./... 3 | 4 | export IPFS_API ?= v04x.ipfs.io 5 | 6 | gx: 7 | go get -u github.com/whyrusleeping/gx 8 | go get -u github.com/whyrusleeping/gx-go 9 | 10 | deps: gx 11 | gx --verbose install --global 12 | gx-go rewrite 13 | go get -t ./... 14 | 15 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-crypto/codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | range: "50...100" 3 | comment: off 4 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-crypto/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "whyrusleeping", 3 | "bugs": { 4 | "url": "https://github.com/libp2p/go-libp2p-transport" 5 | }, 6 | "gx": { 7 | "dvcsimport": "github.com/libp2p/go-libp2p-crypto" 8 | }, 9 | "gxDependencies": [ 10 | { 11 | "author": "whyrusleeping", 12 | "hash": "QmdxUuburamoF6zF9qjeQC4WYcWGbWuRmdLacMEsW8ioD8", 13 | "name": "gogo-protobuf", 14 | "version": "0.0.0" 15 | }, 16 | { 17 | "author": "whyrusleeping", 18 | "hash": "QmQ51pHe6u7CWodkUGDLqaCEMchkbMt7VEZnECF5mp6tVb", 19 | "name": "ed25519", 20 | "version": "0.0.0" 21 | }, 22 | { 23 | "author": "btcsuite", 24 | "hash": "QmWq5PJgAQKDWQerAijYUVKW8mN5MDatK5j7VMp8rizKQd", 25 | "name": "btcec", 26 | "version": "0.0.1" 27 | }, 28 | { 29 | "author": "minio", 30 | "hash": "QmXTpwq2AkzQsPjKqFQDNY2bMdsAT53hUBETeyj8QRHTZU", 31 | "name": "sha256-simd", 32 | "version": "0.1.1" 33 | } 34 | ], 35 | "gxVersion": "0.4.0", 36 | "language": "go", 37 | "license": "MIT", 38 | "name": "go-libp2p-crypto", 39 | "releaseCmd": "git commit -a -m \"gx publish $VERSION\"", 40 | "version": "2.0.1" 41 | } 42 | 43 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-crypto/pb/Makefile: -------------------------------------------------------------------------------- 1 | PB = $(wildcard *.proto) 2 | GO = $(PB:.proto=.pb.go) 3 | 4 | all: $(GO) 5 | 6 | %.pb.go: %.proto 7 | protoc --proto_path=$(GOPATH)/src:. --gogofaster_out=. $< 8 | 9 | clean: 10 | rm -f *.pb.go 11 | rm -f *.go 12 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-crypto/pb/crypto.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | package crypto.pb; 4 | 5 | enum KeyType { 6 | RSA = 0; 7 | Ed25519 = 1; 8 | Secp256k1 = 2; 9 | } 10 | 11 | message PublicKey { 12 | required KeyType Type = 1; 13 | required bytes Data = 2; 14 | } 15 | 16 | message PrivateKey { 17 | required KeyType Type = 1; 18 | required bytes Data = 2; 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-kbucket/.travis.yml: -------------------------------------------------------------------------------- 1 | os: 2 | - linux 3 | 4 | sudo: false 5 | 6 | language: go 7 | 8 | go: 9 | - 1.9.x 10 | 11 | env: 12 | - GOTFLAGS="-race" 13 | 14 | install: 15 | - make deps 16 | 17 | script: 18 | - bash <(curl -s https://raw.githubusercontent.com/ipfs/ci-helpers/master/travis-ci/run-standard-tests.sh) 19 | 20 | cache: 21 | directories: 22 | - $GOPATH/src/gx 23 | 24 | notifications: 25 | email: false 26 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-kbucket/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Protocol Labs 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-kbucket/Makefile: -------------------------------------------------------------------------------- 1 | export IPFS_API ?= v04x.ipfs.io 2 | 3 | gx: 4 | go get -u github.com/whyrusleeping/gx 5 | go get -u github.com/whyrusleeping/gx-go 6 | 7 | deps: gx 8 | gx --verbose install --global 9 | gx-go rewrite -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-kbucket/README.md: -------------------------------------------------------------------------------- 1 | # go-libp2p-kbucket 2 | 3 | [![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io) 4 | [![](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io/) 5 | [![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs) 6 | [![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme) 7 | 8 | > A kbucket implementation for use as a routing table 9 | 10 | ## Documenation 11 | 12 | See https://godoc.org/github.com/libp2p/go-libp2p-kbucket. 13 | 14 | ## Contribute 15 | 16 | Feel free to join in. All welcome. Open an [issue](https://github.com/ipfs/go-key/issues)! 17 | 18 | This repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md). 19 | 20 | ### Want to hack on IPFS? 21 | 22 | [![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/contributing.md) 23 | 24 | ## License 25 | 26 | MIT -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-kbucket/codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | range: "50...100" 3 | comment: off 4 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-peer/.travis.yml: -------------------------------------------------------------------------------- 1 | os: 2 | - linux 3 | - osx 4 | 5 | language: go 6 | 7 | sudo: false 8 | 9 | go: 10 | - 1.9.x 11 | 12 | install: 13 | - make deps 14 | 15 | script: 16 | - bash <(curl -s https://raw.githubusercontent.com/ipfs/ci-helpers/master/travis-ci/run-standard-tests.sh) 17 | 18 | cache: 19 | directories: 20 | - $GOPATH/src/gx 21 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-peer/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Jeromy Johnson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-peer/Makefile: -------------------------------------------------------------------------------- 1 | gx: 2 | go get github.com/whyrusleeping/gx 3 | go get github.com/whyrusleeping/gx-go 4 | 5 | deps: gx 6 | gx --verbose install --global 7 | gx-go rewrite 8 | 9 | publish: 10 | gx-go rewrite --undo 11 | 12 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-peer/codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | range: "50...100" 3 | comment: off 4 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-peer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "whyrusleeping", 3 | "bugs": { 4 | "url": "https://github.com/libp2p/go-libp2p-peer" 5 | }, 6 | "gx": { 7 | "dvcsimport": "github.com/libp2p/go-libp2p-peer" 8 | }, 9 | "gxDependencies": [ 10 | { 11 | "author": "whyrusleeping", 12 | "hash": "QmRREK2CAZ5Re2Bd9zZFG6FeYDppUWt5cMgsoUEp3ktgSr", 13 | "name": "go-log", 14 | "version": "1.5.5" 15 | }, 16 | { 17 | "author": "whyrusleeping", 18 | "hash": "QmPvyPwuCgJ7pDmrKDxRtsScJgBaM5h4EpRL2qQJsmXf4n", 19 | "name": "go-libp2p-crypto", 20 | "version": "2.0.1" 21 | }, 22 | { 23 | "author": "multiformats", 24 | "hash": "QmPnFwZ2JXKnXgMw8CdBPxn7FWh6LLdjUjxV1fKHuJnkr8", 25 | "name": "go-multihash", 26 | "version": "1.0.8" 27 | }, 28 | { 29 | "author": "mr-tron", 30 | "hash": "QmWFAMPqsEyUX7gDUsRVmMWz59FxSpJ1b2v6bJ1yYzo7jY", 31 | "name": "go-base58-fast", 32 | "version": "0.1.1" 33 | } 34 | ], 35 | "gxVersion": "0.4.0", 36 | "language": "go", 37 | "license": "MIT", 38 | "name": "go-libp2p-peer", 39 | "releaseCmd": "git commit -a -m \"gx publish $VERSION\"", 40 | "version": "2.3.7" 41 | } 42 | 43 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-peerstore/.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | cover.out 3 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-peerstore/.travis.yml: -------------------------------------------------------------------------------- 1 | os: 2 | - linux 3 | 4 | sudo: false 5 | 6 | language: go 7 | 8 | go: 9 | - 1.9.x 10 | 11 | install: 12 | - make deps 13 | 14 | script: 15 | - bash <(curl -s https://raw.githubusercontent.com/ipfs/ci-helpers/master/travis-ci/run-standard-tests.sh) 16 | 17 | cache: 18 | directories: 19 | - $GOPATH/src/gx 20 | 21 | notifications: 22 | email: false 23 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-peerstore/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Jeromy Johnson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-peerstore/Makefile: -------------------------------------------------------------------------------- 1 | export IPFS_API ?= v04x.ipfs.io 2 | 3 | gx: 4 | go get github.com/whyrusleeping/gx 5 | go get github.com/whyrusleeping/gx-go 6 | 7 | covertools: 8 | go get github.com/mattn/goveralls 9 | go get golang.org/x/tools/cmd/cover 10 | 11 | deps: gx covertools 12 | gx --verbose install --global 13 | gx-go rewrite 14 | 15 | publish: 16 | gx-go rewrite --undo 17 | 18 | -------------------------------------------------------------------------------- /vendor/github.com/libp2p/go-libp2p-peerstore/codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | range: "50...100" 3 | comment: off 4 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-colorable/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - tip 4 | 5 | before_install: 6 | - go get github.com/mattn/goveralls 7 | - go get golang.org/x/tools/cmd/cover 8 | script: 9 | - $HOME/gopath/bin/goveralls -repotoken xnXqRGwgW3SXIguzxf90ZSK1GPYZPaGrw 10 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-colorable/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Yasuhiro Matsumoto 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-colorable/colorable_appengine.go: -------------------------------------------------------------------------------- 1 | // +build appengine 2 | 3 | package colorable 4 | 5 | import ( 6 | "io" 7 | "os" 8 | 9 | _ "github.com/mattn/go-isatty" 10 | ) 11 | 12 | // NewColorable return new instance of Writer which handle escape sequence. 13 | func NewColorable(file *os.File) io.Writer { 14 | if file == nil { 15 | panic("nil passed instead of *os.File to NewColorable()") 16 | } 17 | 18 | return file 19 | } 20 | 21 | // NewColorableStdout return new instance of Writer which handle escape sequence for stdout. 22 | func NewColorableStdout() io.Writer { 23 | return os.Stdout 24 | } 25 | 26 | // NewColorableStderr return new instance of Writer which handle escape sequence for stderr. 27 | func NewColorableStderr() io.Writer { 28 | return os.Stderr 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-colorable/colorable_others.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | // +build !appengine 3 | 4 | package colorable 5 | 6 | import ( 7 | "io" 8 | "os" 9 | 10 | _ "github.com/mattn/go-isatty" 11 | ) 12 | 13 | // NewColorable return new instance of Writer which handle escape sequence. 14 | func NewColorable(file *os.File) io.Writer { 15 | if file == nil { 16 | panic("nil passed instead of *os.File to NewColorable()") 17 | } 18 | 19 | return file 20 | } 21 | 22 | // NewColorableStdout return new instance of Writer which handle escape sequence for stdout. 23 | func NewColorableStdout() io.Writer { 24 | return os.Stdout 25 | } 26 | 27 | // NewColorableStderr return new instance of Writer which handle escape sequence for stderr. 28 | func NewColorableStderr() io.Writer { 29 | return os.Stderr 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-colorable/noncolorable.go: -------------------------------------------------------------------------------- 1 | package colorable 2 | 3 | import ( 4 | "bytes" 5 | "io" 6 | ) 7 | 8 | // NonColorable hold writer but remove escape sequence. 9 | type NonColorable struct { 10 | out io.Writer 11 | } 12 | 13 | // NewNonColorable return new instance of Writer which remove escape sequence from Writer. 14 | func NewNonColorable(w io.Writer) io.Writer { 15 | return &NonColorable{out: w} 16 | } 17 | 18 | // Write write data on console 19 | func (w *NonColorable) Write(data []byte) (n int, err error) { 20 | er := bytes.NewReader(data) 21 | var bw [1]byte 22 | loop: 23 | for { 24 | c1, err := er.ReadByte() 25 | if err != nil { 26 | break loop 27 | } 28 | if c1 != 0x1b { 29 | bw[0] = c1 30 | w.out.Write(bw[:]) 31 | continue 32 | } 33 | c2, err := er.ReadByte() 34 | if err != nil { 35 | break loop 36 | } 37 | if c2 != 0x5b { 38 | continue 39 | } 40 | 41 | var buf bytes.Buffer 42 | for { 43 | c, err := er.ReadByte() 44 | if err != nil { 45 | break loop 46 | } 47 | if ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '@' { 48 | break 49 | } 50 | buf.Write([]byte(string(c))) 51 | } 52 | } 53 | 54 | return len(data), nil 55 | } 56 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - tip 4 | 5 | os: 6 | - linux 7 | - osx 8 | 9 | before_install: 10 | - go get github.com/mattn/goveralls 11 | - go get golang.org/x/tools/cmd/cover 12 | script: 13 | - $HOME/gopath/bin/goveralls -repotoken 3gHdORO5k5ziZcWMBxnd9LrMZaJs8m9x5 14 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) Yasuhiro MATSUMOTO 2 | 3 | MIT License (Expat) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/doc.go: -------------------------------------------------------------------------------- 1 | // Package isatty implements interface to isatty 2 | package isatty 3 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_bsd.go: -------------------------------------------------------------------------------- 1 | // +build darwin freebsd openbsd netbsd dragonfly 2 | // +build !appengine 3 | 4 | package isatty 5 | 6 | import ( 7 | "syscall" 8 | "unsafe" 9 | ) 10 | 11 | const ioctlReadTermios = syscall.TIOCGETA 12 | 13 | // IsTerminal return true if the file descriptor is terminal. 14 | func IsTerminal(fd uintptr) bool { 15 | var termios syscall.Termios 16 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 17 | return err == 0 18 | } 19 | 20 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 21 | // terminal. This is also always false on this environment. 22 | func IsCygwinTerminal(fd uintptr) bool { 23 | return false 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_linux.go: -------------------------------------------------------------------------------- 1 | // +build linux 2 | // +build !appengine,!ppc64,!ppc64le 3 | 4 | package isatty 5 | 6 | import ( 7 | "syscall" 8 | "unsafe" 9 | ) 10 | 11 | const ioctlReadTermios = syscall.TCGETS 12 | 13 | // IsTerminal return true if the file descriptor is terminal. 14 | func IsTerminal(fd uintptr) bool { 15 | var termios syscall.Termios 16 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 17 | return err == 0 18 | } 19 | 20 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 21 | // terminal. This is also always false on this environment. 22 | func IsCygwinTerminal(fd uintptr) bool { 23 | return false 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_linux_ppc64x.go: -------------------------------------------------------------------------------- 1 | // +build linux 2 | // +build ppc64 ppc64le 3 | 4 | package isatty 5 | 6 | import ( 7 | "unsafe" 8 | 9 | syscall "golang.org/x/sys/unix" 10 | ) 11 | 12 | const ioctlReadTermios = syscall.TCGETS 13 | 14 | // IsTerminal return true if the file descriptor is terminal. 15 | func IsTerminal(fd uintptr) bool { 16 | var termios syscall.Termios 17 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 18 | return err == 0 19 | } 20 | 21 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 22 | // terminal. This is also always false on this environment. 23 | func IsCygwinTerminal(fd uintptr) bool { 24 | return false 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_others.go: -------------------------------------------------------------------------------- 1 | // +build appengine js 2 | 3 | package isatty 4 | 5 | // IsTerminal returns true if the file descriptor is terminal which 6 | // is always false on js and appengine classic which is a sandboxed PaaS. 7 | func IsTerminal(fd uintptr) bool { 8 | return false 9 | } 10 | 11 | // IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2 12 | // terminal. This is also always false on this environment. 13 | func IsCygwinTerminal(fd uintptr) bool { 14 | return false 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_solaris.go: -------------------------------------------------------------------------------- 1 | // +build solaris 2 | // +build !appengine 3 | 4 | package isatty 5 | 6 | import ( 7 | "golang.org/x/sys/unix" 8 | ) 9 | 10 | // IsTerminal returns true if the given file descriptor is a terminal. 11 | // see: http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libbc/libc/gen/common/isatty.c 12 | func IsTerminal(fd uintptr) bool { 13 | var termio unix.Termio 14 | err := unix.IoctlSetTermio(int(fd), unix.TCGETA, &termio) 15 | return err == nil 16 | } 17 | 18 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 19 | // terminal. This is also always false on this environment. 20 | func IsCygwinTerminal(fd uintptr) bool { 21 | return false 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/minio/blake2b-simd/.gitignore: -------------------------------------------------------------------------------- 1 | *.test -------------------------------------------------------------------------------- /vendor/github.com/minio/blake2b-simd/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: required 2 | dist: trusty 3 | language: go 4 | 5 | os: 6 | - linux 7 | - osx 8 | 9 | osx_image: xcode7.2 10 | 11 | go: 12 | - 1.6 13 | - 1.5 14 | 15 | env: 16 | - ARCH=x86_64 17 | - ARCH=i686 18 | 19 | script: 20 | - diff -au <(gofmt -d .) <(printf "") 21 | - go test -race -v ./... 22 | -------------------------------------------------------------------------------- /vendor/github.com/minio/blake2b-simd/appveyor.yml: -------------------------------------------------------------------------------- 1 | # version format 2 | version: "{build}" 3 | 4 | # Operating system (build VM template) 5 | os: Windows Server 2012 R2 6 | 7 | # Platform. 8 | platform: x64 9 | 10 | clone_folder: c:\gopath\src\github.com\minio\blake2b-simd 11 | 12 | # environment variables 13 | environment: 14 | GOPATH: c:\gopath 15 | GO15VENDOREXPERIMENT: 1 16 | 17 | # scripts that run after cloning repository 18 | install: 19 | - set PATH=%GOPATH%\bin;c:\go\bin;%PATH% 20 | - go version 21 | - go env 22 | 23 | # to run your custom scripts instead of automatic MSBuild 24 | build_script: 25 | - go test . 26 | - go test -race . 27 | 28 | # to disable automatic tests 29 | test: off 30 | 31 | # to disable deployment 32 | deploy: off 33 | -------------------------------------------------------------------------------- /vendor/github.com/minio/blake2b-simd/compress_amd64.go: -------------------------------------------------------------------------------- 1 | /* 2 | * Minio Cloud Storage, (C) 2016 Minio, Inc. 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 blake2b 18 | 19 | func compress(d *digest, p []uint8) { 20 | // Verifies if AVX2 or AVX is available, use optimized code path. 21 | if avx2 { 22 | compressAVX2(d, p) 23 | } else if avx { 24 | compressAVX(d, p) 25 | } else if ssse3 { 26 | compressSSE(d, p) 27 | } else { 28 | compressGeneric(d, p) 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/minio/blake2b-simd/compress_noasm.go: -------------------------------------------------------------------------------- 1 | //+build !amd64 noasm appengine 2 | 3 | /* 4 | * Minio Cloud Storage, (C) 2016 Minio, Inc. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package blake2b 20 | 21 | func compress(d *digest, p []uint8) { 22 | compressGeneric(d, p) 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/minio/blake2b-simd/cpuid_386.s: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. 2 | 3 | // +build 386,!gccgo 4 | 5 | // func cpuid(op uint32) (eax, ebx, ecx, edx uint32) 6 | TEXT ·cpuid(SB), 7, $0 7 | XORL CX, CX 8 | MOVL op+0(FP), AX 9 | CPUID 10 | MOVL AX, eax+4(FP) 11 | MOVL BX, ebx+8(FP) 12 | MOVL CX, ecx+12(FP) 13 | MOVL DX, edx+16(FP) 14 | RET 15 | 16 | // func cpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) 17 | TEXT ·cpuidex(SB), 7, $0 18 | MOVL op+0(FP), AX 19 | MOVL op2+4(FP), CX 20 | CPUID 21 | MOVL AX, eax+8(FP) 22 | MOVL BX, ebx+12(FP) 23 | MOVL CX, ecx+16(FP) 24 | MOVL DX, edx+20(FP) 25 | RET 26 | 27 | // func xgetbv(index uint32) (eax, edx uint32) 28 | TEXT ·xgetbv(SB), 7, $0 29 | MOVL index+0(FP), CX 30 | BYTE $0x0f; BYTE $0x01; BYTE $0xd0 // XGETBV 31 | MOVL AX, eax+4(FP) 32 | MOVL DX, edx+8(FP) 33 | RET 34 | -------------------------------------------------------------------------------- /vendor/github.com/minio/blake2b-simd/cpuid_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. 2 | 3 | // +build amd64,!gccgo 4 | 5 | // func cpuid(op uint32) (eax, ebx, ecx, edx uint32) 6 | TEXT ·cpuid(SB), 7, $0 7 | XORQ CX, CX 8 | MOVL op+0(FP), AX 9 | CPUID 10 | MOVL AX, eax+8(FP) 11 | MOVL BX, ebx+12(FP) 12 | MOVL CX, ecx+16(FP) 13 | MOVL DX, edx+20(FP) 14 | RET 15 | 16 | 17 | // func cpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) 18 | TEXT ·cpuidex(SB), 7, $0 19 | MOVL op+0(FP), AX 20 | MOVL op2+4(FP), CX 21 | CPUID 22 | MOVL AX, eax+8(FP) 23 | MOVL BX, ebx+12(FP) 24 | MOVL CX, ecx+16(FP) 25 | MOVL DX, edx+20(FP) 26 | RET 27 | 28 | // func xgetbv(index uint32) (eax, edx uint32) 29 | TEXT ·xgetbv(SB), 7, $0 30 | MOVL index+0(FP), CX 31 | BYTE $0x0f; BYTE $0x01; BYTE $0xd0 // XGETBV 32 | MOVL AX, eax+8(FP) 33 | MOVL DX, edx+12(FP) 34 | RET 35 | -------------------------------------------------------------------------------- /vendor/github.com/minio/sha256-simd/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: required 2 | dist: trusty 3 | language: go 4 | 5 | os: 6 | - linux 7 | - osx 8 | 9 | osx_image: xcode7.2 10 | 11 | go: 12 | - 1.6 13 | - 1.5 14 | 15 | env: 16 | - ARCH=x86_64 17 | - ARCH=i686 18 | 19 | script: 20 | - diff -au <(gofmt -d .) <(printf "") 21 | - go test -race -v ./... 22 | -------------------------------------------------------------------------------- /vendor/github.com/minio/sha256-simd/appveyor.yml: -------------------------------------------------------------------------------- 1 | # version format 2 | version: "{build}" 3 | 4 | # Operating system (build VM template) 5 | os: Windows Server 2012 R2 6 | 7 | # Platform. 8 | platform: x64 9 | 10 | clone_folder: c:\gopath\src\github.com\minio\sha256-simd 11 | 12 | # environment variables 13 | environment: 14 | GOPATH: c:\gopath 15 | GO15VENDOREXPERIMENT: 1 16 | 17 | # scripts that run after cloning repository 18 | install: 19 | - set PATH=%GOPATH%\bin;c:\go\bin;%PATH% 20 | - go version 21 | - go env 22 | 23 | # to run your custom scripts instead of automatic MSBuild 24 | build_script: 25 | - go test . 26 | - go test -race . 27 | 28 | # to disable automatic tests 29 | test: off 30 | 31 | # to disable deployment 32 | deploy: off 33 | -------------------------------------------------------------------------------- /vendor/github.com/minio/sha256-simd/cpuid_386.go: -------------------------------------------------------------------------------- 1 | // Minio Cloud Storage, (C) 2016 Minio, Inc. 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 | // 15 | 16 | package sha256 17 | 18 | func cpuid(op uint32) (eax, ebx, ecx, edx uint32) 19 | func cpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) 20 | func xgetbv(index uint32) (eax, edx uint32) 21 | 22 | func haveArmSha() bool { 23 | return false 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/minio/sha256-simd/cpuid_amd64.go: -------------------------------------------------------------------------------- 1 | // Minio Cloud Storage, (C) 2016 Minio, Inc. 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 | // 15 | 16 | package sha256 17 | 18 | func cpuid(op uint32) (eax, ebx, ecx, edx uint32) 19 | func cpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) 20 | func xgetbv(index uint32) (eax, edx uint32) 21 | 22 | func haveArmSha() bool { 23 | return false 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/minio/sha256-simd/cpuid_arm.go: -------------------------------------------------------------------------------- 1 | // Minio Cloud Storage, (C) 2016 Minio, Inc. 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 | // 15 | 16 | package sha256 17 | 18 | func cpuid(op uint32) (eax, ebx, ecx, edx uint32) { 19 | return 0, 0, 0, 0 20 | } 21 | 22 | func cpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) { 23 | return 0, 0, 0, 0 24 | } 25 | 26 | func xgetbv(index uint32) (eax, edx uint32) { 27 | return 0, 0 28 | } 29 | 30 | func haveArmSha() bool { 31 | return false 32 | } 33 | -------------------------------------------------------------------------------- /vendor/github.com/minio/sha256-simd/cpuid_other.go: -------------------------------------------------------------------------------- 1 | // Minio Cloud Storage, (C) 2016 Minio, Inc. 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 | // 15 | 16 | // +build ppc64 ppc64le mips mipsle mips64 mips64le s390x 17 | 18 | package sha256 19 | 20 | func cpuid(op uint32) (eax, ebx, ecx, edx uint32) { 21 | return 0, 0, 0, 0 22 | } 23 | 24 | func cpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) { 25 | return 0, 0, 0, 0 26 | } 27 | 28 | func xgetbv(index uint32) (eax, edx uint32) { 29 | return 0, 0 30 | } 31 | 32 | func haveArmSha() bool { 33 | return false 34 | } 35 | -------------------------------------------------------------------------------- /vendor/github.com/minio/sha256-simd/cpuid_others_arm64.go: -------------------------------------------------------------------------------- 1 | // +build arm64,!linux 2 | 3 | // Minio Cloud Storage, (C) 2016 Minio, Inc. 4 | // 5 | // Licensed under the Apache License, Version 2.0 (the "License"); 6 | // you may not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, 13 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | // See the License for the specific language governing permissions and 15 | // limitations under the License. 16 | // 17 | 18 | package sha256 19 | 20 | func cpuid(op uint32) (eax, ebx, ecx, edx uint32) { 21 | return 0, 0, 0, 0 22 | } 23 | 24 | func cpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) { 25 | return 0, 0, 0, 0 26 | } 27 | 28 | func xgetbv(index uint32) (eax, edx uint32) { 29 | return 0, 0 30 | } 31 | 32 | // Check for sha2 instruction flag. 33 | func haveArmSha() bool { 34 | return false 35 | } 36 | -------------------------------------------------------------------------------- /vendor/github.com/minio/sha256-simd/sha256blockAvx2_amd64.go: -------------------------------------------------------------------------------- 1 | //+build !noasm 2 | 3 | /* 4 | * Minio Cloud Storage, (C) 2016 Minio, Inc. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package sha256 20 | 21 | //go:noescape 22 | func blockAvx2(h []uint32, message []uint8) 23 | -------------------------------------------------------------------------------- /vendor/github.com/minio/sha256-simd/sha256blockAvx_amd64.go: -------------------------------------------------------------------------------- 1 | //+build !noasm 2 | 3 | /* 4 | * Minio Cloud Storage, (C) 2016 Minio, Inc. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package sha256 20 | 21 | //go:noescape 22 | func blockAvx(h []uint32, message []uint8, reserved0, reserved1, reserved2, reserved3 uint64) 23 | -------------------------------------------------------------------------------- /vendor/github.com/minio/sha256-simd/sha256blockSsse_amd64.go: -------------------------------------------------------------------------------- 1 | //+build !noasm 2 | 3 | /* 4 | * Minio Cloud Storage, (C) 2016 Minio, Inc. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package sha256 20 | 21 | //go:noescape 22 | func blockSsse(h []uint32, message []uint8, reserved0, reserved1, reserved2, reserved3 uint64) 23 | -------------------------------------------------------------------------------- /vendor/github.com/minio/sha256-simd/sha256block_386.go: -------------------------------------------------------------------------------- 1 | //+build !noasm 2 | 3 | /* 4 | * Minio Cloud Storage, (C) 2016 Minio, Inc. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package sha256 20 | 21 | func blockArmGo(dig *digest, p []byte) {} 22 | func blockAvx2Go(dig *digest, p []byte) {} 23 | func blockAvxGo(dig *digest, p []byte) {} 24 | func blockSsseGo(dig *digest, p []byte) {} 25 | -------------------------------------------------------------------------------- /vendor/github.com/minio/sha256-simd/sha256block_arm.go: -------------------------------------------------------------------------------- 1 | //+build !noasm 2 | 3 | /* 4 | * Minio Cloud Storage, (C) 2016 Minio, Inc. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package sha256 20 | 21 | func blockAvx2Go(dig *digest, p []byte) {} 22 | func blockAvxGo(dig *digest, p []byte) {} 23 | func blockSsseGo(dig *digest, p []byte) {} 24 | func blockArmGo(dig *digest, p []byte) {} 25 | -------------------------------------------------------------------------------- /vendor/github.com/minio/sha256-simd/sha256block_other.go: -------------------------------------------------------------------------------- 1 | // Minio Cloud Storage, (C) 2016 Minio, Inc. 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 | // 15 | 16 | // +build ppc64 ppc64le mips mipsle mips64 mips64le s390x 17 | 18 | package sha256 19 | 20 | func blockAvx2Go(dig *digest, p []byte) {} 21 | func blockAvxGo(dig *digest, p []byte) {} 22 | func blockSsseGo(dig *digest, p []byte) {} 23 | func blockArmGo(dig *digest, p []byte) {} 24 | -------------------------------------------------------------------------------- /vendor/github.com/mr-tron/base58/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Denis Subbotin 4 | Copyright (c) 2017 Nika Jones 5 | Copyright (c) 2017 Philip Schlump 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | -------------------------------------------------------------------------------- /vendor/github.com/mr-tron/base58/base58/alphabet.go: -------------------------------------------------------------------------------- 1 | package base58 2 | 3 | // Alphabet is a a b58 alphabet. 4 | type Alphabet struct { 5 | decode [128]int8 6 | encode [58]byte 7 | } 8 | 9 | // NewAlphabet creates a new alphabet from the passed string. 10 | // 11 | // It panics if the passed string is not 58 bytes long or isn't valid ASCII. 12 | func NewAlphabet(s string) *Alphabet { 13 | if len(s) != 58 { 14 | panic("base58 alphabets must be 58 bytes long") 15 | } 16 | ret := new(Alphabet) 17 | copy(ret.encode[:], s) 18 | for i := range ret.decode { 19 | ret.decode[i] = -1 20 | } 21 | for i, b := range ret.encode { 22 | ret.decode[b] = int8(i) 23 | } 24 | return ret 25 | } 26 | 27 | // BTCAlphabet is the bitcoin base58 alphabet. 28 | var BTCAlphabet = NewAlphabet("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz") 29 | 30 | // FlickrAlphabet is the flickr base58 alphabet. 31 | var FlickrAlphabet = NewAlphabet("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ") 32 | -------------------------------------------------------------------------------- /vendor/github.com/multiformats/go-multiaddr/.gitignore: -------------------------------------------------------------------------------- 1 | .vscode/ 2 | -------------------------------------------------------------------------------- /vendor/github.com/multiformats/go-multiaddr/.travis.yml: -------------------------------------------------------------------------------- 1 | os: 2 | - linux 3 | - osx 4 | 5 | language: go 6 | 7 | go: 8 | - 1.10.x 9 | 10 | install: true 11 | 12 | before_install: 13 | - make deps 14 | 15 | script: 16 | - go vet 17 | - go test -race -coverprofile=coverage.txt -covermode=atomic 18 | 19 | after_success: 20 | - bash <(curl -s https://codecov.io/bash) 21 | 22 | cache: 23 | directories: 24 | - $GOPATH/src/gx 25 | 26 | notifications: 27 | email: false 28 | -------------------------------------------------------------------------------- /vendor/github.com/multiformats/go-multiaddr/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Juan Batiz-Benet 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/github.com/multiformats/go-multiaddr/Makefile: -------------------------------------------------------------------------------- 1 | gx: 2 | go get github.com/whyrusleeping/gx 3 | go get github.com/whyrusleeping/gx-go 4 | 5 | covertools: 6 | go get golang.org/x/tools/cmd/cover 7 | 8 | deps: gx covertools 9 | gx --verbose install --global 10 | gx-go rewrite 11 | 12 | publish: 13 | gx-go rewrite --undo 14 | 15 | -------------------------------------------------------------------------------- /vendor/github.com/multiformats/go-multiaddr/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "multiformats", 3 | "bugs": { 4 | "url": "https://github.com/multiformats/go-multiaddr/issues" 5 | }, 6 | "gx": { 7 | "dvcsimport": "github.com/multiformats/go-multiaddr" 8 | }, 9 | "gxDependencies": [ 10 | { 11 | "hash": "QmPnFwZ2JXKnXgMw8CdBPxn7FWh6LLdjUjxV1fKHuJnkr8", 12 | "name": "go-multihash", 13 | "version": "1.0.8" 14 | } 15 | ], 16 | "gxVersion": "0.9.0", 17 | "language": "go", 18 | "license": "MIT", 19 | "name": "go-multiaddr", 20 | "releaseCmd": "git commit -a -m \"gx publish $VERSION\"", 21 | "version": "1.3.0" 22 | } 23 | 24 | -------------------------------------------------------------------------------- /vendor/github.com/multiformats/go-multiaddr/varint.go: -------------------------------------------------------------------------------- 1 | package multiaddr 2 | 3 | import ( 4 | "encoding/binary" 5 | "fmt" 6 | "math/bits" 7 | ) 8 | 9 | // VarintSize returns the size (in bytes) of `num` encoded as a varint. 10 | func VarintSize(num int) int { 11 | return bits.Len(uint(num))/7 + 1 12 | } 13 | 14 | // CodeToVarint converts an integer to a varint-encoded []byte 15 | func CodeToVarint(num int) []byte { 16 | buf := make([]byte, bits.Len(uint(num))/7+1) 17 | n := binary.PutUvarint(buf, uint64(num)) 18 | return buf[:n] 19 | } 20 | 21 | // VarintToCode converts a varint-encoded []byte to an integer protocol code 22 | func VarintToCode(buf []byte) int { 23 | num, _, err := ReadVarintCode(buf) 24 | if err != nil { 25 | panic(err) 26 | } 27 | return num 28 | } 29 | 30 | // ReadVarintCode reads a varint code from the beginning of buf. 31 | // returns the code, and the number of bytes read. 32 | func ReadVarintCode(buf []byte) (int, int, error) { 33 | num, n := binary.Uvarint(buf) 34 | if n < 0 { 35 | return 0, 0, fmt.Errorf("varints larger than uint64 not yet supported") 36 | } 37 | return int(num), n, nil 38 | } 39 | -------------------------------------------------------------------------------- /vendor/github.com/multiformats/go-multihash/.gitignore: -------------------------------------------------------------------------------- 1 | .vscode/ 2 | -------------------------------------------------------------------------------- /vendor/github.com/multiformats/go-multihash/.travis.yml: -------------------------------------------------------------------------------- 1 | os: 2 | - linux 3 | 4 | sudo: false 5 | 6 | language: go 7 | 8 | go: 9 | - 1.9.x 10 | 11 | install: 12 | - make deps 13 | 14 | script: 15 | - bash <(curl -s https://raw.githubusercontent.com/ipfs/ci-helpers/master/travis-ci/run-standard-tests.sh) 16 | - cd test && make test 17 | 18 | cache: 19 | directories: 20 | - $GOPATH/src/gx 21 | 22 | notifications: 23 | email: false 24 | -------------------------------------------------------------------------------- /vendor/github.com/multiformats/go-multihash/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Juan Batiz-Benet 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/github.com/multiformats/go-multihash/Makefile: -------------------------------------------------------------------------------- 1 | gx: 2 | go get github.com/whyrusleeping/gx 3 | go get github.com/whyrusleeping/gx-go 4 | 5 | deps: gx 6 | gx --verbose install --global 7 | gx-go rewrite 8 | 9 | publish: 10 | gx-go rewrite --undo 11 | 12 | -------------------------------------------------------------------------------- /vendor/github.com/multiformats/go-multihash/codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | range: "50...100" 3 | comment: off 4 | -------------------------------------------------------------------------------- /vendor/github.com/multiformats/go-multihash/multihash/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Juan Batiz-Benet 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/github.com/opentracing/opentracing-go/.gitignore: -------------------------------------------------------------------------------- 1 | # IntelliJ project files 2 | .idea/ 3 | opentracing-go.iml 4 | opentracing-go.ipr 5 | opentracing-go.iws 6 | 7 | # Test results 8 | *.cov 9 | *.html 10 | test.log 11 | 12 | # Build dir 13 | build/ 14 | -------------------------------------------------------------------------------- /vendor/github.com/opentracing/opentracing-go/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.7.x 5 | - 1.8.x 6 | - 1.9.x 7 | - tip 8 | 9 | install: 10 | - go get -u github.com/golang/lint/... 11 | - go get -u github.com/stretchr/testify/... 12 | - go get -u golang.org/x/net/context 13 | script: 14 | - make test lint 15 | - go build ./... 16 | -------------------------------------------------------------------------------- /vendor/github.com/opentracing/opentracing-go/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | Changes by Version 2 | ================== 3 | 4 | 1.1.0 (unreleased) 5 | ------------------- 6 | 7 | - Deprecate InitGlobalTracer() in favor of SetGlobalTracer() 8 | 9 | 10 | 1.0.0 (2016-09-26) 11 | ------------------- 12 | 13 | - This release implements OpenTracing Specification 1.0 (http://opentracing.io/spec) 14 | 15 | -------------------------------------------------------------------------------- /vendor/github.com/opentracing/opentracing-go/Makefile: -------------------------------------------------------------------------------- 1 | PACKAGES := . ./mocktracer/... ./ext/... 2 | 3 | .DEFAULT_GOAL := test-and-lint 4 | 5 | .PHONE: test-and-lint 6 | 7 | test-and-lint: test lint 8 | 9 | .PHONY: test 10 | test: 11 | go test -v -cover -race ./... 12 | 13 | cover: 14 | @rm -rf cover-all.out 15 | $(foreach pkg, $(PACKAGES), $(MAKE) cover-pkg PKG=$(pkg) || true;) 16 | @grep mode: cover.out > coverage.out 17 | @cat cover-all.out >> coverage.out 18 | go tool cover -html=coverage.out -o cover.html 19 | @rm -rf cover.out cover-all.out coverage.out 20 | 21 | cover-pkg: 22 | go test -coverprofile cover.out $(PKG) 23 | @grep -v mode: cover.out >> cover-all.out 24 | 25 | .PHONY: lint 26 | lint: 27 | go fmt ./... 28 | golint ./... 29 | @# Run again with magic to exit non-zero if golint outputs anything. 30 | @! (golint ./... | read dummy) 31 | go vet ./... 32 | 33 | -------------------------------------------------------------------------------- /vendor/github.com/patrickmn/go-cache/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | This is a list of people who have contributed code to go-cache. They, or their 2 | employers, are the copyright holders of the contributed code. Contributed code 3 | is subject to the license restrictions listed in LICENSE (as they were when the 4 | code was contributed.) 5 | 6 | Dustin Sallings 7 | Jason Mooberry 8 | Sergey Shepelev 9 | Alex Edwards 10 | -------------------------------------------------------------------------------- /vendor/github.com/patrickmn/go-cache/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012-2018 Patrick Mylund Nielsen and the go-cache contributors 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/github.com/pborman/uuid/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.9 5 | - tip 6 | 7 | script: 8 | - go test -v ./... 9 | -------------------------------------------------------------------------------- /vendor/github.com/pborman/uuid/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # How to contribute 2 | 3 | We definitely welcome patches and contribution to this project! 4 | 5 | ### Legal requirements 6 | 7 | In order to protect both you and ourselves, you will need to sign the 8 | [Contributor License Agreement](https://cla.developers.google.com/clas). 9 | 10 | You may have already signed it for other Google projects. 11 | -------------------------------------------------------------------------------- /vendor/github.com/pborman/uuid/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | Paul Borman 2 | -------------------------------------------------------------------------------- /vendor/github.com/pborman/uuid/README.md: -------------------------------------------------------------------------------- 1 | This project was automatically exported from code.google.com/p/go-uuid 2 | 3 | # uuid ![build status](https://travis-ci.org/pborman/uuid.svg?branch=master) 4 | The uuid package generates and inspects UUIDs based on [RFC 4122](http://tools.ietf.org/html/rfc4122) and DCE 1.1: Authentication and Security Services. 5 | 6 | ###### Install 7 | `go get github.com/pborman/uuid` 8 | 9 | ###### Documentation 10 | [![GoDoc](https://godoc.org/github.com/pborman/uuid?status.svg)](http://godoc.org/github.com/pborman/uuid) 11 | 12 | Full `go doc` style documentation for the package can be viewed online without installing this package by using the GoDoc site here: 13 | http://godoc.org/github.com/pborman/uuid 14 | -------------------------------------------------------------------------------- /vendor/github.com/pborman/uuid/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Google Inc. 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 | // The uuid package generates and inspects UUIDs. 6 | // 7 | // UUIDs are based on RFC 4122 and DCE 1.1: Authentication and Security Services. 8 | package uuid 9 | -------------------------------------------------------------------------------- /vendor/github.com/pborman/uuid/node_js.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google Inc. 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 js 6 | 7 | package uuid 8 | 9 | // getHardwareInterface returns nil values for the JS version of the code. 10 | // This remvoves the "net" dependency, because it is not used in the browser. 11 | // Using the "net" library inflates the size of the transpiled JS code by 673k bytes. 12 | func getHardwareInterface(name string) (string, []byte) { return "", nil } 13 | -------------------------------------------------------------------------------- /vendor/github.com/pborman/uuid/node_net.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google Inc. 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 !js 6 | 7 | package uuid 8 | 9 | import "net" 10 | 11 | var interfaces []net.Interface // cached list of interfaces 12 | 13 | // getHardwareInterface returns the name and hardware address of interface name. 14 | // If name is "" then the name and hardware address of one of the system's 15 | // interfaces is returned. If no interfaces are found (name does not exist or 16 | // there are no interfaces) then "", nil is returned. 17 | // 18 | // Only addresses of at least 6 bytes are returned. 19 | func getHardwareInterface(name string) (string, []byte) { 20 | if interfaces == nil { 21 | var err error 22 | interfaces, err = net.Interfaces() 23 | if err != nil { 24 | return "", nil 25 | } 26 | } 27 | for _, ifs := range interfaces { 28 | if len(ifs.HardwareAddr) >= 6 && (name == "" || name == ifs.Name) { 29 | if setNodeID(ifs.HardwareAddr) { 30 | ifname = ifs.Name 31 | return ifname, nodeID 32 | } 33 | } 34 | } 35 | return "", nil 36 | } 37 | -------------------------------------------------------------------------------- /vendor/github.com/pborman/uuid/version4.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Google Inc. 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 uuid 6 | 7 | // Random returns a Random (Version 4) UUID or panics. 8 | // 9 | // The strength of the UUIDs is based on the strength of the crypto/rand 10 | // package. 11 | // 12 | // A note about uniqueness derived from the UUID Wikipedia entry: 13 | // 14 | // Randomly generated UUIDs have 122 random bits. One's annual risk of being 15 | // hit by a meteorite is estimated to be one chance in 17 billion, that 16 | // means the probability is about 0.00000000006 (6 × 10−11), 17 | // equivalent to the odds of creating a few tens of trillions of UUIDs in a 18 | // year and having one duplicate. 19 | func NewRandom() UUID { 20 | uuid := make([]byte, 16) 21 | randomBits([]byte(uuid)) 22 | uuid[6] = (uuid[6] & 0x0f) | 0x40 // Version 4 23 | uuid[8] = (uuid[8] & 0x3f) | 0x80 // Variant is 10 24 | return uuid 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go_import_path: github.com/pkg/errors 3 | go: 4 | - 1.4.x 5 | - 1.5.x 6 | - 1.6.x 7 | - 1.7.x 8 | - 1.8.x 9 | - 1.9.x 10 | - 1.10.x 11 | - tip 12 | 13 | script: 14 | - go test -v ./... 15 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: build-{build}.{branch} 2 | 3 | clone_folder: C:\gopath\src\github.com\pkg\errors 4 | shallow_clone: true # for startup speed 5 | 6 | environment: 7 | GOPATH: C:\gopath 8 | 9 | platform: 10 | - x64 11 | 12 | # http://www.appveyor.com/docs/installed-software 13 | install: 14 | # some helpful output for debugging builds 15 | - go version 16 | - go env 17 | # pre-installed MinGW at C:\MinGW is 32bit only 18 | # but MSYS2 at C:\msys64 has mingw64 19 | - set PATH=C:\msys64\mingw64\bin;%PATH% 20 | - gcc --version 21 | - g++ --version 22 | 23 | build_script: 24 | - go install -v ./... 25 | 26 | test_script: 27 | - set PATH=C:\gopath\bin;%PATH% 28 | - go test -v ./... 29 | 30 | #artifacts: 31 | # - path: '%GOPATH%\bin\*.exe' 32 | deploy: off 33 | -------------------------------------------------------------------------------- /vendor/github.com/processout/grpc-go-pool/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/processout/grpc-go-pool/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 ProcessOut 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/github.com/processout/grpc-go-pool/README.md: -------------------------------------------------------------------------------- 1 | # grpc-go-pool 2 | 3 | [![GoDoc](https://godoc.org/github.com/processout/grpc-go-pool?status.svg)](https://godoc.org/github.com/processout/grpc-go-pool) 4 | 5 | This package aims to provide an easy to use and lightweight GRPC connection pool. 6 | 7 | Please note that the goal isn't to replicate the client-side load-balancing feature of the official grpc package: the goal is rather to have multiple connections established to one endpoint (which can be server-side load-balanced). 8 | -------------------------------------------------------------------------------- /vendor/github.com/rs/cors/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.9 4 | - "1.10" 5 | - tip 6 | matrix: 7 | allow_failures: 8 | - go: tip 9 | -------------------------------------------------------------------------------- /vendor/github.com/rs/cors/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Olivier Poitrey 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/github.com/rs/cors/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/rs/cors 2 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/.gitignore: -------------------------------------------------------------------------------- 1 | logrus 2 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Simon Eskildsen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: "{build}" 2 | platform: x64 3 | clone_folder: c:\gopath\src\github.com\sirupsen\logrus 4 | environment: 5 | GOPATH: c:\gopath 6 | branches: 7 | only: 8 | - master 9 | install: 10 | - set PATH=%GOPATH%\bin;c:\go\bin;%PATH% 11 | - go version 12 | build_script: 13 | - go get -t 14 | - go test 15 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/sirupsen/logrus 2 | 3 | require ( 4 | github.com/davecgh/go-spew v1.1.1 // indirect 5 | github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe 6 | github.com/pmezard/go-difflib v1.0.0 // indirect 7 | github.com/stretchr/testify v1.2.2 8 | golang.org/x/crypto v0.0.0-20180904163835-0709b304e793 9 | golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33 10 | ) 11 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_appengine.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2018 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 appengine 7 | 8 | package logrus 9 | 10 | import "io" 11 | 12 | func initTerminal(w io.Writer) { 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_bsd.go: -------------------------------------------------------------------------------- 1 | // +build darwin freebsd openbsd netbsd dragonfly 2 | // +build !appengine,!js 3 | 4 | package logrus 5 | 6 | import ( 7 | "io" 8 | 9 | "golang.org/x/sys/unix" 10 | ) 11 | 12 | const ioctlReadTermios = unix.TIOCGETA 13 | 14 | type Termios unix.Termios 15 | 16 | func initTerminal(w io.Writer) { 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_appengine.go: -------------------------------------------------------------------------------- 1 | // +build appengine 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | ) 8 | 9 | func checkIfTerminal(w io.Writer) bool { 10 | return true 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_js.go: -------------------------------------------------------------------------------- 1 | // +build js 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | ) 8 | 9 | func checkIfTerminal(w io.Writer) bool { 10 | return false 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go: -------------------------------------------------------------------------------- 1 | // +build !appengine,!js,!windows 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | "os" 8 | 9 | "golang.org/x/crypto/ssh/terminal" 10 | ) 11 | 12 | func checkIfTerminal(w io.Writer) bool { 13 | switch v := w.(type) { 14 | case *os.File: 15 | return terminal.IsTerminal(int(v.Fd())) 16 | default: 17 | return false 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_windows.go: -------------------------------------------------------------------------------- 1 | // +build !appengine,!js,windows 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | "os" 8 | "syscall" 9 | ) 10 | 11 | func checkIfTerminal(w io.Writer) bool { 12 | switch v := w.(type) { 13 | case *os.File: 14 | var mode uint32 15 | err := syscall.GetConsoleMode(syscall.Handle(v.Fd()), &mode) 16 | return err == nil 17 | default: 18 | return false 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /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 | // +build !appengine,!js 7 | 8 | package logrus 9 | 10 | import ( 11 | "io" 12 | 13 | "golang.org/x/sys/unix" 14 | ) 15 | 16 | const ioctlReadTermios = unix.TCGETS 17 | 18 | type Termios unix.Termios 19 | 20 | func initTerminal(w io.Writer) { 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_windows.go: -------------------------------------------------------------------------------- 1 | // +build !appengine,!js,windows 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | "os" 8 | "syscall" 9 | 10 | sequences "github.com/konsorten/go-windows-terminal-sequences" 11 | ) 12 | 13 | func initTerminal(w io.Writer) { 14 | switch v := w.(type) { 15 | case *os.File: 16 | sequences.EnableVirtualTerminalProcessing(syscall.Handle(v.Fd()), true) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/spaolacci/murmur3/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | -------------------------------------------------------------------------------- /vendor/github.com/spaolacci/murmur3/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.x 5 | - master 6 | 7 | script: go test 8 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/assert/assertion_format.go.tmpl: -------------------------------------------------------------------------------- 1 | {{.CommentFormat}} 2 | func {{.DocInfo.Name}}f(t TestingT, {{.ParamsFormat}}) bool { 3 | if h, ok := t.(tHelper); ok { h.Helper() } 4 | return {{.DocInfo.Name}}(t, {{.ForwardedParamsFormat}}) 5 | } 6 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl: -------------------------------------------------------------------------------- 1 | {{.CommentWithoutT "a"}} 2 | func (a *Assertions) {{.DocInfo.Name}}({{.Params}}) bool { 3 | if h, ok := a.t.(tHelper); ok { h.Helper() } 4 | return {{.DocInfo.Name}}(a.t, {{.ForwardedParams}}) 5 | } 6 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 -include-format-funcs 17 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/require/doc.go: -------------------------------------------------------------------------------- 1 | // Package require implements the same assertions as the `assert` package but 2 | // stops test execution when a test fails. 3 | // 4 | // Example Usage 5 | // 6 | // The following is a complete example using require in a standard test function: 7 | // import ( 8 | // "testing" 9 | // "github.com/stretchr/testify/require" 10 | // ) 11 | // 12 | // func TestSomething(t *testing.T) { 13 | // 14 | // var a string = "Hello" 15 | // var b string = "Hello" 16 | // 17 | // require.Equal(t, a, b, "The two words should be the same.") 18 | // 19 | // } 20 | // 21 | // Assertions 22 | // 23 | // The `require` package have same global functions as in the `assert` package, 24 | // but instead of returning a boolean result they call `t.FailNow()`. 25 | // 26 | // Every assertion function also takes an optional string message as the final argument, 27 | // allowing custom error messages to be appended to the message the assertion method outputs. 28 | package require 29 | -------------------------------------------------------------------------------- /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 -include-format-funcs 17 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/require/require.go.tmpl: -------------------------------------------------------------------------------- 1 | {{.Comment}} 2 | func {{.DocInfo.Name}}(t TestingT, {{.Params}}) { 3 | if h, ok := t.(tHelper); ok { h.Helper() } 4 | if !assert.{{.DocInfo.Name}}(t, {{.ForwardedParams}}) { 5 | t.FailNow() 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/require/require_forward.go.tmpl: -------------------------------------------------------------------------------- 1 | {{.CommentWithoutT "a"}} 2 | func (a *Assertions) {{.DocInfo.Name}}({{.Params}}) { 3 | if h, ok := a.t.(tHelper); ok { h.Helper() } 4 | {{.DocInfo.Name}}(a.t, {{.ForwardedParams}}) 5 | } 6 | -------------------------------------------------------------------------------- /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 | type tHelper interface { 10 | Helper() 11 | } 12 | 13 | // ComparisonAssertionFunc is a common function prototype when comparing two values. Can be useful 14 | // for table driven tests. 15 | type ComparisonAssertionFunc func(TestingT, interface{}, interface{}, ...interface{}) 16 | 17 | // ValueAssertionFunc is a common function prototype when validating a single value. Can be useful 18 | // for table driven tests. 19 | type ValueAssertionFunc func(TestingT, interface{}, ...interface{}) 20 | 21 | // BoolAssertionFunc is a common function prototype when validating a bool value. Can be useful 22 | // for table driven tests. 23 | type BoolAssertionFunc func(TestingT, bool, ...interface{}) 24 | 25 | // ValuesAssertionFunc is a common function prototype when validating an error value. Can be useful 26 | // for table driven tests. 27 | type ErrorAssertionFunc func(TestingT, error, ...interface{}) 28 | 29 | //go:generate go run ../_codegen/main.go -output-package=require -template=require.go.tmpl -include-format-funcs 30 | -------------------------------------------------------------------------------- /vendor/github.com/syndtr/goleveldb/leveldb/errors.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, Suryandaru Triandana 2 | // All rights reserved. 3 | // 4 | // Use of this source code is governed by a BSD-style license that can be 5 | // found in the LICENSE file. 6 | 7 | package leveldb 8 | 9 | import ( 10 | "github.com/syndtr/goleveldb/leveldb/errors" 11 | ) 12 | 13 | // Common errors. 14 | var ( 15 | ErrNotFound = errors.ErrNotFound 16 | ErrReadOnly = errors.New("leveldb: read-only mode") 17 | ErrSnapshotReleased = errors.New("leveldb: snapshot released") 18 | ErrIterReleased = errors.New("leveldb: iterator released") 19 | ErrClosed = errors.New("leveldb: closed") 20 | ) 21 | -------------------------------------------------------------------------------- /vendor/github.com/syndtr/goleveldb/leveldb/filter.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012, Suryandaru Triandana 2 | // All rights reserved. 3 | // 4 | // Use of this source code is governed by a BSD-style license that can be 5 | // found in the LICENSE file. 6 | 7 | package leveldb 8 | 9 | import ( 10 | "github.com/syndtr/goleveldb/leveldb/filter" 11 | ) 12 | 13 | type iFilter struct { 14 | filter.Filter 15 | } 16 | 17 | func (f iFilter) Contains(filter, key []byte) bool { 18 | return f.Filter.Contains(filter, internalKey(key).ukey()) 19 | } 20 | 21 | func (f iFilter) NewGenerator() filter.FilterGenerator { 22 | return iFilterGenerator{f.Filter.NewGenerator()} 23 | } 24 | 25 | type iFilterGenerator struct { 26 | filter.FilterGenerator 27 | } 28 | 29 | func (g iFilterGenerator) Add(key []byte) { 30 | g.FilterGenerator.Add(internalKey(key).ukey()) 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage_nacl.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012, Suryandaru Triandana 2 | // All rights reserved. 3 | // 4 | // Use of this source code is governed by a BSD-style license that can be 5 | // found in the LICENSE file. 6 | 7 | // +build nacl 8 | 9 | package storage 10 | 11 | import ( 12 | "os" 13 | "syscall" 14 | ) 15 | 16 | func newFileLock(path string, readOnly bool) (fl fileLock, err error) { 17 | return nil, syscall.ENOTSUP 18 | } 19 | 20 | func setFileLock(f *os.File, readOnly, lock bool) error { 21 | return syscall.ENOTSUP 22 | } 23 | 24 | func rename(oldpath, newpath string) error { 25 | return syscall.ENOTSUP 26 | } 27 | 28 | func isErrInvalid(err error) bool { 29 | return false 30 | } 31 | 32 | func syncDir(name string) error { 33 | return syscall.ENOTSUP 34 | } 35 | -------------------------------------------------------------------------------- /vendor/github.com/syndtr/goleveldb/leveldb/util/crc32.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The LevelDB-Go Authors. All rights reserved. 2 | // 3 | // Use of this source code is governed by a BSD-style license that can be 4 | // found in the LICENSE file. 5 | 6 | package util 7 | 8 | import ( 9 | "hash/crc32" 10 | ) 11 | 12 | var table = crc32.MakeTable(crc32.Castagnoli) 13 | 14 | // CRC is a CRC-32 checksum computed using Castagnoli's polynomial. 15 | type CRC uint32 16 | 17 | // NewCRC creates a new crc based on the given bytes. 18 | func NewCRC(b []byte) CRC { 19 | return CRC(0).Update(b) 20 | } 21 | 22 | // Update updates the crc with the given bytes. 23 | func (c CRC) Update(b []byte) CRC { 24 | return CRC(crc32.Update(uint32(c), table, b)) 25 | } 26 | 27 | // Value returns a masked crc. 28 | func (c CRC) Value() uint32 { 29 | return uint32(c>>15|c<<17) + 0xa282ead8 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/syndtr/goleveldb/leveldb/util/hash.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012, Suryandaru Triandana 2 | // All rights reserved. 3 | // 4 | // Use of this source code is governed by a BSD-style license that can be 5 | // found in the LICENSE file. 6 | 7 | package util 8 | 9 | import ( 10 | "encoding/binary" 11 | ) 12 | 13 | // Hash return hash of the given data. 14 | func Hash(data []byte, seed uint32) uint32 { 15 | // Similar to murmur hash 16 | const ( 17 | m = uint32(0xc6a4a793) 18 | r = uint32(24) 19 | ) 20 | var ( 21 | h = seed ^ (uint32(len(data)) * m) 22 | i int 23 | ) 24 | 25 | for n := len(data) - len(data)%4; i < n; i += 4 { 26 | h += binary.LittleEndian.Uint32(data[i:]) 27 | h *= m 28 | h ^= (h >> 16) 29 | } 30 | 31 | switch len(data) - i { 32 | default: 33 | panic("not reached") 34 | case 3: 35 | h += uint32(data[i+2]) << 16 36 | fallthrough 37 | case 2: 38 | h += uint32(data[i+1]) << 8 39 | fallthrough 40 | case 1: 41 | h += uint32(data[i]) 42 | h *= m 43 | h ^= (h >> r) 44 | case 0: 45 | } 46 | 47 | return h 48 | } 49 | -------------------------------------------------------------------------------- /vendor/github.com/syndtr/goleveldb/leveldb/util/range.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, Suryandaru Triandana 2 | // All rights reserved. 3 | // 4 | // Use of this source code is governed by a BSD-style license that can be 5 | // found in the LICENSE file. 6 | 7 | package util 8 | 9 | // Range is a key range. 10 | type Range struct { 11 | // Start of the key range, include in the range. 12 | Start []byte 13 | 14 | // Limit of the key range, not include in the range. 15 | Limit []byte 16 | } 17 | 18 | // BytesPrefix returns key range that satisfy the given prefix. 19 | // This only applicable for the standard 'bytes comparer'. 20 | func BytesPrefix(prefix []byte) *Range { 21 | var limit []byte 22 | for i := len(prefix) - 1; i >= 0; i-- { 23 | c := prefix[i] 24 | if c < 0xff { 25 | limit = make([]byte, i+1) 26 | copy(limit, prefix) 27 | limit[i] = c + 1 28 | break 29 | } 30 | } 31 | return &Range{prefix, limit} 32 | } 33 | -------------------------------------------------------------------------------- /vendor/github.com/whyrusleeping/go-logging/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.0 5 | - 1.1 6 | - tip 7 | -------------------------------------------------------------------------------- /vendor/github.com/whyrusleeping/go-logging/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | Alec Thomas 2 | Guilhem Lettron 3 | Ivan Daniluk 4 | Nimi Wariboko Jr 5 | Róbert Selvek 6 | --------------------------------------------------------------------------------