Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* fix builds * rename COC for github (#382) * Hardcode External IP (#386) * Hardcode External IP * Hardcode External IP * Add Connect timeout to p2p conns (#387) * Add Connect timeout to p2p conns * add exported comment * Added timeout for eth read operations (#388) * Added timeout for read operations * fix unit test * manual group import * Flatten Core document and P2P packages (#385) * Fix Gopkg github repo URLs (#393) * Fix github links * try http * Upgrading to Go 1.11.x (#391) * Identity Config cleanup (#396) * identity cleanup * 20byte for secp * some test * clean up anchors (#398) 1. Better comments 2. renamed `NewAnchorID` -> `ToAnchorID` since this is conversion but not a creation 3. renamed `NewDocRoot` -> `ToDocumentRoot` since this is conversion 4. renamed `NewRandomDocRoot` -> `RandomDocumentRoot` 5. Unexported `anchorCommittedWatcher`, `anchorConfirmationTask` * refactor identity (#399) 1. Unexported constants 2. Unexported Worker Task 3. unexported `ethereumIdentity` * Refactor geth (#397) 1. Minor changes to how we increment nonce and added more tests for the nonce increment 2. Mutex for accounts for read and write 3. Unported `GethClient` 4. Removed definitions that are not used in the interface * fix the race condition with config (#401) Fixes #389 Fixes #362 Turns out both the issues were due to `config.Config` variable being accessed at the same time. #389, it is accessed in `notification.Send` and in #362 it is accessed to set Config to nil in `config/test_bootstrapper.go`. All the tests share a global namespace and since they are run in parallel and each time the `config/test_boostrapper` is run in each test, which is updating `config.Config`, the race condition happens. Added a functions to set and get config with mutex. * Hex convert webhook fields (#409) * Hex convert webhook fields * Hex convert webhook fields * Test * Updated Precise proof with hex value (#414) * Add api logs (#413) * Add api logs * Review comments * Adding notification sample to config example (#416) * NFT: added events/workers, latest contract version, using centrifuge/go-ethereum (#400) * Fix problem with creating ids * Worker for watching NFT minting events * Worker for watching NFT minting events * added correct encoding for worker * formatting * updated to latest paymentObligation contract version * correct collaborators passing * latest centrifuge contracts & using centrifuge/go-ethereum * fixed dependencies except contracts * added latest contracts * reset integration test config * formatting * fixed unit tests for nft minting * reduced scope of public variables * formatting * reduced public functions in nft package * add additional nil checks for data in the payload (#424) Fixes #419 Functional tests will be done once this is merged to develop * First Step config (#422) * First Phase config * cleanup * First batch of removing global config access (#441) * First Phase config * cleanup * global removal * nft: added format checks for collaborator proofField (#442) * added collaborators field check * improved regex performance * NFT: using passed registryAddress for dynamic contract binding (#443) * added generic registry address support * remove global dependencies for p2p layer (#446) * remove global dependencies for p2p layer * add p2p boostrap * remove test checks * use ctx from args * fix tests * check for startup errors * better tests * remove debug point * fix tests * Fix/p2p test (#449) * fix the deadlock * dont propagte shutdown error * propagate the ctx * NFT: added tests for minting confirmation task (#445) added tests for checking the correct parsing of the arguments * NFT: removed type parameter from endpoint (#448) * removed type from nft endpoint * find service based on documentID * added tests for findService * fixed findService test * fixed unit tests for type field * deactivated the test case * NFT: usage of depositAddress parameter (#456) * removed usage of identity contract address for mint method * remove global registry service (#457) Removes global service registry * Refactor stateful methods into identity.Service interface (#410) * Refactor stateful methods into ethereum.Client interface * State save tests fail * Fixing processor tests * More tests * Fix tests * Fix tests * Fix tests * Fix tests * Fix tests * Fix tests * Missing build tag * identity.go coverage (#463) * identity.go coverage * correct test * add status mapping in PO (#462) Fixes #455 * remove global anchor repo (#464) Fixes #459 * add missing registry (#466) Fixes the functional tests * Fix unit tests (#467) * Remove global configuration usage (#460) * First Phase config * cleanup * global removal * added contextHeader * avoid cyclic deps * hell * hell 2 * pass duration param queue + fix unit tests * remove global config var * Remove global + queue timeout param * fix tests + config interface * comments * Fix unit tests * package Configs * fix missing po config (#470) * Kovan/fixes (#471) Changes: - Create default config for Kovan - Minor changes to createconfig to support txpoolaccess option - logging fixes - Use go-ethereum with kovan fixes Fixes https://github.com/centrifuge/roadmap/issues/61 * Remove usage of identity.IDService (#473) * Remove usage of identity.IDService * Fix test * Fix test * Pprof/endpoint (#476) * add pprof port to config * add pprof end points * review changes * Remove PaymentObligation global (var po *ethereumPaymentObligation) (#478) * Remove PaymentObligation global * Fmt * Include prefix precise proof (#477) * include prefix precise proof * comment out test * Queue implements Server and removing the queue.Queue global (#469) * Queue implements Server and removing the queue.Queue global * Looks good * Fix tests * Fix problem with init * More queue init fixes * More queue init fixes * Fix tests * Fix tests * Fix tests * Lock for qs.stop * Fix race conditions * Fix problems and review comments * Fix problems and review comments * Fix problems and review comments * Fix problems and review comments * Lock * Lock * Lock * model test * Add linting checks (#479) Changes: - Added gometalinter - following checks are enabled: goimport, vet, staticcheck, nakedret Following changes are suggested by these linters. We still need to add few more linters which we can do on a regular basis. Fixes #475 * Fixing merging issue with an earlier pr (#480) * Fixing merging issue with earlier pr * Fix * Fix cmds that were broken (#494) * Fix cmds that were broken * Imports * Remove storage.levelDBInstance global (#524) * Remove storage.levelDBInstance global * fix tests * fix tests * imports * Rename `go-centrifuge` to `centrifuge` (#525) Fixes #493 * use http jsonrpc (#522) * NFT: unlimited amount of proofs and no collaborator extra field (#526) * added new gobinding and refactored for handler tests * refactored nft servic tests * refactored integration tests * formatting * Integration testing framework(Testworld) first iteration (#512) * Fixing merging issue with earlier pr * V1 * Peer init works * Remove storage.levelDBInstance global * Testworld mods * fix tests * fix tests * imports * First working hosts * First successful Testworld tests * Added Robert and the park hosts in a nicer way * Fix linting issues * Fix gitignore * Review comments * Fix create an already updated version for first time (#527) * updated paymentObligation addresses for rinkeby and kovan (#530) * use internal error for context (#531) * NFT: fixed incorrect tokenID size (#532) * NFT: fixed incorrect tokenID size * better comments * Testworld iteration 2 - cleanup and more golang based env setup (#529) * Added Testworld readme * Load config from file * Testworld cleanup * Add missing build tag * Fix lint issues * Adjust the way smart contract addresses are loaded for other networks * Added kovan faq * Minor update to the readme * Review comments * Clean gitignore * Fixing unnecessary for loops that I have written around selects (#533) * Fix unnecessary for loops that I have written around selects * Remove resolved TODO * Add update collaborator test (#535) * Add update collaborator test * Add update collaborator test * removed defaultRegistry address from service (#536) * update kovan boot nodes (#538) * remove envs from yml (#540) * Generic db implementation (#534) Fixes #503 Note: This is just the implementation. Further PRs should handle integration to Invoice and PO * integration test: added node time out test & improved test framework (#539) * added cancel func to host * added utils func and basic setup for timeout test * formatting * finished nodeTime test * improved existing testcases * removed uncommented code * added testSuite to hostManager * restart alice after shutdown * added own node for timeout * added timeout after re-start * added restart method * increased timeout * Update README.md (#545) * Added node defaults to default config (#541) * Testworld: detect when host is live instead of waiting arbitrarily (#546) * Minor adjustments * Detect when host is live instead of waiting arbitrarily * move to original geth (#547) * Fix p2p timeouts and make Testworld parallel and faster (#548) * Fix timeouts and make Testworld faster * Fix test * Make tests parallel * Remove unnecessary iteration in test scripts * Test script update * Make tests parrallel and work * Make tests parrallel and work * Fix for migrate bash script (#549) * Errors/internal (#543) Fixes #537 Note: This only adds internal errors. We need to add client and peerError later * Tenant config model (#544) * Node and Tenant config models * Node and Tenant config models * Test update * Fix mistake * Review comments * use config interface (#552) We seem to using config structure when we have an interface. This PR should take care of using interfaces everywhere * Spaces * added integration tests for NFT (#555) * added NFT successful test case to integration tests * added error tests for NFT * Migrate documents package to use new errors (#553) * Migrate documents package to use new errors * typeerror -> typederror * Fix failing tests * Fix fmt errors * Fix error name * Fix error name * Migrate invoice service to new repo (#554) * Migrate documents package to use new errors * typeerror -> typederror * Fix failing tests * Migrate invoice service to new repo * Fix fmt errors * Migrate new repository to new errors * Fix test * Fix test * Fix lint issue * Fix error name * Fix error name * added testworld tests for proofs (#556) * added testworld tests for proofs * added proof check for bob * Migrate po service to new repo (#557) * Migrate documents package to use new errors * typeerror -> typederror * Fix failing tests * Migrate invoice service to new repo * Fix fmt errors * Migrate new repository to new errors * Fix test * Fix test * Fix lint issue * Fix error name * Fix error name * Migrate PO service to new repository * Remove legacy repo (#558) * Migrate documents package to use new errors * typeerror -> typederror * Fix failing tests * Migrate invoice service to new repo * Fix fmt errors * Migrate new repository to new errors * Fix test * Fix test * Fix lint issue * Fix error name * Fix error name * Migrate PO service to new repository * Remove legacy repo * added support for PO tests to testworld (#566) * added testworld tests for proofs * simple tests refactored * added PO basic tests * updated all PO tests * included tests for NFT * correct travis config * fixed nft for PO * fixed linting and pararell collaborator timeout * deactivate unstable testcase * Fixing some possible bugs because of colliding variable names with packages (#568) * Remove fmt.Errorf in favour of errors.New (#559) * Migrate documents package to use new errors * typeerror -> typederror * Fix failing tests * Migrate invoice service to new repo * Fix fmt errors * Migrate new repository to new errors * Fix test * Fix test * Fix lint issue * Fix error name * Fix error name * Migrate PO service to new repository * Remove legacy repo * Remove fmt.Errorf in favour of errors.New * Fix problems * Fix lint * Missed stuff * Make tests into a table and parallel (#569) * Make tests into a table and parallel * Make tests into a table and parallel * Make tests into a table and parallel * Config repository (#560) * Config Repositories * fmt * fix test * move config around * fmt * fmt * fmt * try higher timeout * Introduce Teddy and Dolores * Revert "Introduce Teddy and Dolores" This reverts commit 1a5dbf7. * Skip timeout tests on CI to avoid resource problems (#570) * go version 1.11.3 bug, lock to 1.11.2 (#571) * move to 1.11.4 (#573) * Consolidate DB Repository (#574) * encapsulated DB interface * lint * added typed errors * fix integration test * fix integration test * remove ID from storage.Repository * ISSUE and PR templates proposal (#551) * ISSUE and PR templates proposal * Updates * Update ISSUE_TEMPLATE.md * Update PULL_REQUEST_TEMPLATE.md * Update PULL_REQUEST_TEMPLATE.md * Update ISSUE_TEMPLATE.md * Cleanup testworld generated files (#578) * Cleanup testworld generated files * Force delete * HTTP header for tenantID (#575) Fixes #488 1. Add interceptor that require header 'authorization' which holds tenantID 2. Add basic version if HTTPError and http Error response interceptor since we ned it for point 1 * added a generic document service (#579) * added testworld tests for proofs * doc service with get and get version * added test for getVersion * added more tests for service get methods * improved search and tests * improved tests * document service: added CreateProof to model (#581) * added testworld tests for proofs * doc service with get and get version * added test for getVersion * added more tests for service get methods * improved search and tests * improved tests * generated genericdoc package * moved service_test * added CreateProof to model * changed to correct create proofs * formatting * correct flags * moved service_test.go * document service: createProof and CreateProofForVersion (#584) * added testworld tests for proofs * doc service with get and get version * added test for getVersion * added more tests for service get methods * improved search and tests * improved tests * generated genericdoc package * moved service_test * added CreateProof to model * changed to correct create proofs * formatting * correct flags * added proof methods * moved service_test.go * added tests for createProof in service * fixed broken createProofVersion test case * formatting * Transactions (#582) * initial tx repo * lint fixes * document service: added RequestDocumentSignature and ReceiveAnchoredDocument (#586) * added testworld tests for proofs * doc service with get and get version * added test for getVersion * added more tests for service get methods * improved search and tests * improved tests * generated genericdoc package * moved service_test * added CreateProof to model * changed to correct create proofs * formatting * correct flags * added proof methods * moved service_test.go * added tests for createProof in service * implemented remaining methods for document service * fixed broken createProofVersion test case * formatting * added tests for requestSignature * formatting * [Config DB] API Admin Endpoints (#583) * Added proto models + service * handler + service * model tests * add tests * delete return * missing tag * proto * [MultiTenancy] P2P refactorings No. 1 (#594) * [MultiTenancy] P2P refactorings No. 1 * Fix problems * Minor cleanups * Debugged integration test * Fix bug * Fully debuggable integration tests (#595) * [MultiTenancy] P2P refactorings No. 1 * Fix problems * Minor cleanups * Debugged integration test * Fully debuggable integration tests * Fix bug * Minor * Transaction Status Check API (#596) Fixes #496 - Add Transaction Status check endpoint * Minor refactors (#600) * remove signature package * keytools => crypto * remove signature package * refactor bootstrappers * rename contextheader * Convert ContextHeader to Context and make a util (#601) * Fix error * Convert ContextHeader to Context and make a util * fix problem * Fix lint issue * Remove P2P GRPC (#597) * Buggy iteration * Remove GRPC POC * Remove GRPC POC * Fix lint * Fix protobuf generated code * Fixed client test * Messenger tests * Messenger tests * correct testworld * remove useless code * Rename * [MultiTenancy] Enable config database and api (#602) * Enable config database and api * Enable config database and api * Minor * Fix createConfig issue * Add Testworld test for config API * Fix bug with GET /config/tenant/list (end point url ambigous) * Fix bug with GET /config/tenant/list (end point url ambigous) * Lint fix * Generate swagger * Remove race detection from TestWorld to improve perf * Fix unit tests * REST fix /config/tenant => /config/tenants (#605) * REST fix /config/tenant => /config/tenants * REST fix /config/tenant => /config/tenants * Async APIs (#598) Fixes #497 #498 #499 I started using commom.Address for tenant id since that is a requirement for transactions. Note: This will break the functional tests. * increment sleep to 1 sec * [MultiTenancy] Use db stored config at runtime (#603) * Enable config database and api * Enable config database and api * Minor * Fix createConfig issue * Add Testworld test for config API * Fix bug with GET /config/tenant/list (end point url ambigous) * Fix bug with GET /config/tenant/list (end point url ambigous) * Lint fix * Generate swagger * Remove race detection from TestWorld to improve perf * Use db stored config at runtime * Lint and swagger * Fix unit tests * Fix tests * Fix unit tests * Remove -race from testworld * Fix conflicts * Try testworld without -race * merging * Merging still * Fix confgi * Fix test * use json marshaller (#608) * [MultiTenancy] Refactor identity package to remove cycles when using data structures from the interface (#606) * Enable config database and api * Enable config database and api * Minor * Fix createConfig issue * Add Testworld test for config API * Fix bug with GET /config/tenant/list (end point url ambigous) * Fix bug with GET /config/tenant/list (end point url ambigous) * Lint fix * Generate swagger * Remove race detection from TestWorld to improve perf * Use db stored config at runtime * Lint and swagger * Fix unit tests * Fix tests * Fix unit tests * Remove -race from testworld * Refactor identity and context * Make identity work with db stored config * Fix conflicts * Fix test and lint * Try testworld without -race * merging * Merging still * Fix confgi * Fix test * Fix tests * Multi tenancy service parts complete without api handlers and p2p handlers (#609) * Multi tenancy complete without api handlers and p2p handlers * Fixed unit tests * Fix unit tests * Fix unit tests * Anchor uses tenant config (#618) * Anchor uses tenant config * Fix unit test * genericDocumentService: added interface and bootstrappers (#610) * added testworld tests for proofs * doc service with get and get version * added test for getVersion * added more tests for service get methods * improved search and tests * improved tests * generated genericdoc package * moved service_test * added CreateProof to model * changed to correct create proofs * formatting * correct flags * added proof methods * moved service_test.go * added tests for createProof in service * implemented remaining methods for document service * fixed broken createProofVersion test case * formatting * added tests for requestSignature * formatting * implemented own interface for generic document * added bootstrapper to generic document service * added bootstrapper for generic service * fixed linting * added bootstrapper for tests * removed derive from cd * removed cyclic dep * formatting * fixed api/server * formatting * formatting * fixed api server * correct testworld flags * formatting * Removing no longer used scripts (#621) * using generic document service inside invoice service (#620) * added testworld tests for proofs * doc service with get and get version * added test for getVersion * added more tests for service get methods * improved search and tests * improved tests * generated genericdoc package * moved service_test * added CreateProof to model * changed to correct create proofs * formatting * correct flags * added proof methods * moved service_test.go * added tests for createProof in service * implemented remaining methods for document service * fixed broken createProofVersion test case * formatting * added tests for requestSignature * formatting * implemented own interface for generic document * added bootstrapper to generic document service * added bootstrapper for generic service * fixed linting * added bootstrapper for tests * removed derive from cd * replaced getVersion for invoice with generic one * removed cyclic dep * formatting * fixed api/server * formatting * fixed GetLatestVersion invoice * formatting * fixed api server * correct testworld flags * added generic exists to invoice * added generic proof generation to invoice * added generic requestDocumentSignature to invoice * formatting * formatting * removed old tests * using a embedded interface * Identity package uses tenantConfig (#619) * Identity package uses tenantConfig * Fix testworld issue * Fix problem * NFT: using generic document service (#622) * added testworld tests for proofs * implemented NFT with generic service * correct flags for testworld * fixed nft error tests * po service using generic service (#623) * added testworld tests for proofs * po service uses generic service * removed old po tests * P2P review updates (#624) * P2P review updates * review comments * review comments * Final rename * P2P - tenant <--> protocol mapping (#626) * NFT: fix async testcase (#628) * added testworld tests for proofs * async nft testcase * Support local tenant loops (#627) * P2P - tenant <--> protocol mapping * Support local tenant loops * Add tests * Fix test * Fix test * Review comments * Add basic Read rules to CoreDocument (#611) This PR will add basic read rules derived from the collaborators passed. Fixes #587 * identity: gocelery task for successful transaction (#632) * added testworld tests for proofs * added transaction status task * added protobuf header transaction. * removed nft confirm task * implemented getTransactionStatus * formatting * formatting * removed testoutput * formatting * added swagger * Fix p2p validation check for local (#634) * Fix p2p validation check for local * Fix p2p validation check for local * Added Generic handler + new p2p envelope (#629) * envelope + handler * rename proto * format + tests * timeout * fix * address comments * Fix storage <--> config cycles (#633) * Fix storage <--> config cycles * Fix test * Fix lint * merge issues * merge issues * add peer validator for Read ACL (#639) * add peer validator * refactor to bool * API /config/tenants/generate endpoint (#637) * API /config/tenants/generate endpoint * Fix problems * Fix test issues * Fix test issues * Success message added (#641) * Success message added * further user instructions for success message * Added signature to header + handshake validation (#640) * Added signature to header + handshake validation * fix tests * address comments * added eth key check * fix integration test * Multitenant(Account) api (#642) * Enable auth header for API * Minor * Minor * Minor * More tests and fixes * non exisiting document check * Fix tests * lint * fix * remove comment * P2P Key check (#648) * Added signature to header + handshake validation * fix tests * address comments * added eth key check * fix integration test * Remove signature * Remove signature * typo * fix pk * Import main node config file everytime node starts(simpler than removing config service usage) (#649) * Import main node config file everytime node starts(simpler than removing config service usage) * Remove dead code * Fix tests * Fix test * Fix problem with creat * review comments * add account fields to notification (#653) * add account fields to notification * comments + proto-gen * Account rename 1: move API /config/tenants => /accounts (#654) * move API /config/tenants => /accounts * move API /config/tenants => /accounts * Review comments * added tests for transactionStatusTask (#645) * added testworld tests for proofs * added transaction status task * added protobuf header transaction. * removed nft confirm task * implemented getTransactionStatus * formatting * formatting * removed testoutput * formatting * added swagger * added integration tests for transaction task * formatting * formatting * removed mock eth client from identity package * simplified integration tests * changed nft register transactionTask * fixed broken unit test in api package * Add Auth Header to Swagger UI (#655) * add account fields to notification * comments + proto-gen * Add custom swagger auth header * comments * use latest gocelery for retry and delay (#643) Remove the for loop with retryable tasks * Add nil safe config (#636) * add nil safe config * add error checks account config * error type * error type * Account rename 2: refs in config and configstore packages (#659) * move API /config/tenants => /accounts * move API /config/tenants => /accounts * Review comments * Account rename 2: refs in config and configstore packages * merge * Review comments * More refs * pump metis version (#657) * removing confirmation transaction task (#658) * added testworld tests for proofs * added transaction status task * added protobuf header transaction. * removed nft confirm task * implemented getTransactionStatus * formatting * formatting * removed testoutput * formatting * added swagger * added integration tests for transaction task * formatting * formatting * removed mock eth client from identity package * simplified integration tests * changed nft register transactionTask * fixed broken unit test in api package * removing confirmation task * transactionStatusTask: added submitTransaction to ethereum package (#661) * created submitTransaction method * create transactionTask queuing in ethereum package * modified mock clients * moved register transaction task into ethereum package * support getting core documents (#652) * update MessageTypes to include GetAnchoredDocument type * added generic service to Handler struct * changed naming on messagetypes * updated centrifuge-protobuf package to latest version * implementation for GetDocument method * resolve MessageType for GetDocument methods from string * removed irrelevant senderID * added genericService to p2p bootstrapper * Feat/read acl nfts (#650) Fixes #590 This would add the NFT validator. * remove the signature from NFT read acls (#664) As per our discussion yesterday * Refactor/message types to map (#662) * if else block to map * Account rename 3: use of tenant in variable names (#665) * Account rename 3: use of tenant in variable names * fix compile * Document service refactor (#666) * break the coredocument package * fix anchors * fix unit tests * fix unit tests * fix tests * break the coredocument package * fix anchors * fix unit tests * fix unit tests * fix tests * Client has access to idService (#667) * Added CMD tests (#668) * Added CMD tests * wrap in go file
- Loading branch information