63 Commits

Author SHA1 Message Date
Dmitry Kurinskiy
4951c4a2a8 Move from PureCodec to pure Kleisli (#14) 2019-09-13 19:30:09 +03:00
Dima
64f12eb609
Fix hash for ed25119 (#12)
* no hasher for default ed25519

* support interop buffers
2019-07-15 14:34:54 +03:00
Dima
1502772f8e no hasher for default ed25519 (#11) 2019-07-09 13:33:36 +03:00
Dima
d63509f077
add hash.js dependency (#10) 2019-07-03 16:19:20 +03:00
Dima
f7557a1d75 specs refactoring, move cross-platform specs to the shared subproject (#9) 2019-07-03 12:44:27 +03:00
Dima
16f5a93562
ed25519 for js (#8) 2019-07-02 12:49:00 +03:00
Dmitry Kurinskiy
38608df192
Slogging dependency is kept only in keystore (#7) 0.0.6 2019-06-13 15:28:05 +03:00
Dima
1a8313b321
ed25519 implementation (#6)
* ed25519 implementation
2019-06-06 13:47:24 +03:00
Dmitry Kurinskiy
e9b1e2d905
Updated dependencies (#5) 0.0.4 2019-04-18 18:39:48 +03:00
Dmitry Kurinskiy
fcf7e08813 Updated dependencies (#3) 0.0.3 2019-01-23 21:30:50 +03:00
Dima
3e0d21d197
Ecdsa recreate pair from secret (#2)
* add possibility to re-create public key from private key for ECDSA alghorithm

* change version

* change version

* add comments, change version of cats-effect

* add comments, change method name

* change comment

* typo
0.0.2
2018-08-22 11:26:10 +03:00
Dmitry Kurinskiy
d938192ef6 Initial Readme (#1)
* Badges

* Bintray resolver

* readme WIP

* More readme
2018-06-04 01:09:43 -07:00
alari
e91818ff5d Build info 0.0.1 2018-05-22 09:21:35 +03:00
Dmitry Kurinskiy
23cd35ec16
Create README.md 2018-05-22 08:55:43 +03:00
Dmitry Kurinskiy
38c6a466f1 Crypto jwt (#124)
* Introducing CryptoJWT

* JWT logic is removed from Kademlia

* Tiny fixes

* CryptoJwt with dots

* Fixed CryptoJwtSpec for scala.js
2018-05-21 17:21:44 +03:00
Dmitry Kurinskiy
c27a1865c5 crypto-keystore with codec and IO (#123)
* crypto-keystore with codec and IO

* Logger for readOrCreateKeyPair.readOrCreateKeyPair

* Tests compilation fixed
2018-05-18 18:24:53 +03:00
Dmitry Kurinskiy
88034b371f crypto-refactoring (#111)
* Create crypto-core module

* Build.sbt deps fixed

* crypto-core WIP

* CryptoHasher removed

* Cipher removed

* NetworkSimulationSpec fixed

* SecureRandom returned to DumbCrypto

* keystore and algorithm modules

* hashsign and cipher modules

* compile bugs fixed

* CipherSearch.binarySearch doc comment reverted
2018-04-29 16:28:48 +03:00
Dmitry Kurinskiy
dc8806de44 WIP: scodec and circe implementations of PureCodec's (#104)
* Introducing codec-bits

* Introducing codec-circe

* PureCodec in AesCrypt
2018-04-06 13:11:49 +03:00
Constantine Solovev
994194b31f Crypto api changes (#102)
* remove pubKey from Signature, change crypto api

* refactoring dependent modules
2018-04-02 10:38:25 +04:00
Constantine Solovev
69d3eb50c1 Sign merkle root part2 (#100)
* client send signed versnio+merkleRoot

* fix b-tree-client js compilation

* change SignatureVerifier method notation
add publish client signature from node

* fix test

* make integration test green again

* fix test

* fix test

* move contract validation from 'Codec' to 'ContractValidate'

* improve MerkleBTreeClientSpec

* little changes

* move 'contract-core' tests from 'jvm' area` to crossplatform area

* review

* review
2018-03-29 16:06:34 +04:00
Dima
672a40763a Kademlia grpc js (#99)
* update scalapb, copy grpc jvm files to js

* add npm dependencies

* generate js code with protoc, add it to js dependencies

* class facades

* add workbench, write facades, testing js

* fix js encryption and hashing

* tested facades for kademlia grpc service

* add js kademlia grpc service, refactoring

* example refactoring

* docs

* docs

* refactor versions

* refac, todo

* autogenerate

* generate protobuf for tests
2018-03-28 10:19:30 +03:00
Dmitry Kurinskiy
6980f301d9 Contract io (#94)
* contract-io WIP

* contract-io: it compiles

* tests compiles

* EitherT in Contracts.allocate

* checkAllocationPossible checking fixed

* contract tests fixed

* possible fix for ClientNodeIntegrationSpec
2018-03-23 09:21:11 +04:00
Dima
5abcbcab76 scalafmt reformat (#91)
* scalafmt config

* scalafmt reformat

* revert scaladoc to javadoc

* danglingParentheses = true

* delete scalariform prefs

* delete scalariform imports

* disabling test
2018-03-20 14:58:08 +03:00
Constantine Solovev
f28c3cacbd Btree range (#84)
* add range queries to dataset-protocol module

* add range queries to dataset-grpc module

* dataset-client-api

* add range queries to dataset-client module

* add range queries to dataset-client module finish

* add range queries to dataset-node module

* improve IntegrationDatasetStorageSpec

* improve ClientNodeIntegrationSpec

* increase timeout in ClientNodeIntegrationSpec

* increase timeout in ClientNodeIntegrationSpec

* increase timeout in ClientNodeIntegrationSpec

* increase timeout in ClientNodeIntegrationSpec

* increase timeout in ClientNodeIntegrationSpec

* increase timeout in ClientNodeIntegrationSpec

* increase timeout in ClientNodeIntegrationSpec

* increase timeout in ClientNodeIntegrationSpec

* cli for range queries

* cli for range queries

* review and some import optimizing

* fix tests

* off test
2018-03-16 16:05:26 +04:00
Dmitry Kurinskiy
a7576f548b Functor and Contravariant typeclasses for CryptoHasher (#80) 2018-03-10 18:50:45 +04:00
Constantine Solovev
37fa5ac62c changing btree key type from Array[Byte] to value class (#76) 2018-03-07 10:47:28 +04:00
Constantine Solovev
d14de45aaa Refactoring and test (#74)
* Add entropy to rocksDb name in tests

* Config logging

* DatasetNodeStorage unit test

* scalariform

* config for DatasetNodeStorage

* fix reference.conf

* auto creating headers on `sbt commit`

* add headers

* Fix tests

* remove conf

* scalariform
2018-03-06 16:19:44 +03:00
Dmitry Kurinskiy
01eb2abec9 Kad proto cross (#73)
* Kademlia-protocol cross build

* test:compile error fixed

* CryptoHashers
2018-03-06 07:15:57 +01:00
Dima
d091146dd2 Aes crypto js (#72)
* WIP

* facade for encrypt-decrypt and TestApp for testing

* test

* understanding of return types in crypto-js

* refactor jvm aes, keyJVM === keyJS, encryptedJVM === encryptedJS

* great refactoring of cryptography

* small improvements

* refactoring and documentation

* delete main classes

* rename AesCryptJS to AesCrypt

* fix tests

* License headers
2018-03-05 15:53:14 +01:00
Dmitry Kurinskiy
26b41e7b4d Cli demo (#66)
* CLI reorganization WIP

* clean up reference.conf, add application.conf to gitignore

* linearizing ClientComposer;
some free operations

* keyPath config path corrected

* compilation error fixed

* AuthorizedClient removed

* test compilation error fixed

* fix keystore tests

* Merge branch 'master' into cli-demo

# Conflicts:
#	client/src/main/scala/fluence/client/ClientApp.scala
#	client/src/main/scala/fluence/client/ConfigParsers.scala
#	client/src/main/scala/fluence/client/FluenceClient.scala
#	client/src/main/scala/fluence/client/KademliaConfigParser.scala
#	client/src/main/scala/fluence/client/cli/CliOps.scala
#	client/src/main/scala/fluence/client/config/KademliaConfigParser.scala

* cats effect 0.9

* replicationN in ClientApp

* add logs to FileKeyStorage

* add logs to node dataset storage

* fix typos

* add logs to server contract allocator

* ClientApp recursive calls

* launches and joins with docker

* with volumes

* update port parameters

* update port parameters

* fix test

* update port parameters

* add check before put

* change assertion

* no fluence_grpc_port

* run client in docker

* some TODOs for Cli

* fix assertion

* add some logs

* add implicit
2018-03-01 15:36:56 +03:00
Dima
4a966657a6 Sbt js modules refactoring (#70)
* replace codec/core and rename jvm-js modules

* add files to git

* add info into test
2018-02-27 14:46:09 +03:00
Constantine Solovev
1fa711960f Some fixes (#68)
* btree assertions

* fix fail in local tests

* revert test changes

* fix fail in local tests

* revert test changes

* revert some changes

* unmute assertion invocation
2018-02-27 13:39:00 +04:00
Dima
d368ec87bf Aes encryption with password (#65)
* naive implementation of aes encryption with password

* refactr AesCrypt to F

* made the `codec` cross-platform
2018-02-26 08:47:30 +03:00
Constantine Solovev
554e1db8b1 Btree errors serialize (#62)
* keyStore spec

* Client and Server possibility to receive errors from the network from each other

* Client and Server possibility to send errors through the network to each other

* Docs fixes

* client sends 'clients error' to server and returns it as result type

* debug fail test

* debug fail test

* debug fail test

* disable log in test

* review
2018-02-22 21:32:18 +04:00
Dmitry Kurinskiy
d88a5299e7 Config refactoring (#61)
* Config refactoring

* node running bug fixed

* upnp config

* test compilation bug fixed

* ContractNodeIntegrationSpec fixed

* rocksdb reference conf
2018-02-22 15:15:50 +03:00
Dima
65fe1184a8 Client cli (#59)
* add scopts and args for start cli, parse command line with fastparse, put and get string values on remote node

* refactoring

* test for parser and comments

* add main class

* seed -> seeds

* headers, PR fixes
2018-02-20 17:00:59 +03:00
Dmitry Kurinskiy
668fd8117c Node app flow (#53)
* User commands are removed from NodeApp

* node scenario comment

* compile error fixed

* WIP: NodeApp refactoring, with deps

* WIP: NodeGrpc factored out from NodeComposer

* WIP: test join

* WIP: implicit SignatureChecker; simple FluenceNode runner

* WIP: almost all tests compile

* tests compile

* RocksDbStore.Factory

* license header added

* thread safe version of GrpcServer.shutdown

* formatting

* some tests are ignored

* fix tests

* delete key path from temp

* trying to reduce boilerplate with Effect

* ignore tests
2018-02-20 10:28:00 +04:00
Dima
4c74269144 Fluence client (#51)
* WIP

* WIP, revert splitting modules, default arguments for kademlia and contracts

* WIP, join seeds, create dataset logic, testing

* WIP, fix test cases, contract allocation is working

* merge

* fix key array byte
fix hash functions in test
fix non-lazy task in Datasets cache
add MVarMapCache

* fix comments, add headers

* externalize auth client

* delete authCache
2018-02-16 16:46:44 +03:00
Dmitry Kurinskiy
88d640dbf6 KademliaMVar.client and Kademlia.findNode (#49)
* KademliaMVar.client and Kademlia.findNode

* scalariform formatting & tiny bugfix

* sbt ops for travis?

* constant b64seed in Contact

* merge master

* compilation bugfix

* possible fix

* review fixes
2018-02-16 09:00:35 +03:00
Dmitry Kurinskiy
927c872631 slogging (#46)
* slogging

* PrintLoggerFactory

* logback-test.xml removed
2018-02-14 19:14:17 +03:00
Dima
9dfe3fd99c sha1 for js and tests (#42)
* sha1 for js and tests

* test for jdk hashers, add js hasher implementation

* typo
2018-02-14 16:45:00 +03:00
Dima
b01dffd779 new module for monix implementation of KademliaClient (#44)
* new module and renaming

* refactoring

* PR comments fixes

* delete new
2018-02-14 14:12:13 +03:00
Dima
d182a92e98 Ecdsa for scalajs (#37)
* refactor sign classes
store in private key only S, in public key only Q point without wrappers

* refactor, class ...[F[_]] to method ...[F[_]]

* remove redundant

* finally js crypto === java crypto

* facade for hash, EcdsaJS implementation, rewrite crypto logic to hex for cross-platform compatibility

* clean branch

* delete Main, add headers

* merge master

* small fixes

* todo

* refactoring, comments

* alphabet

* merge master

* fix tests

* fix PR comments

* fix PR comments
2018-02-13 17:59:17 +03:00
Dmitry Kurinskiy
17a5930399 Contact jwt (#36)
* EitherT in Crypto

* main codebase compiles

* tests compiles

* crypto tests fixed

* Contact test

* In Node's codec, check that Kademlia Key conforms Contact's Public Key

* b64url alphabet for PK encoding in JWT
2018-02-12 20:46:18 +03:00
Dmitry Kurinskiy
73ae64cc6a kad.Contact with scodec; dataset with contract check (#35)
* - kad.Contact with scodec, gitHash, protocolVersion
- check that dataset is stored by this node

* SignAlgo in NodeComposer

* Some review fixes
2018-02-12 10:52:03 +03:00
Dima
79738aa2c7 refactor sign classes (#34)
* refactor sign classes
store in private key only S, in public key only Q point without wrappers

* refactor, class ...[F[_]] to method ...[F[_]]

* remove redundant
2018-02-09 16:11:03 +03:00
Dima
fdae5eaf8f init crypto js project (#32)
* init crypto js project

* replace test

* fix PR comments

* fix PR comments
2018-02-07 15:50:47 +03:00
Dmitry Kurinskiy
41be69ecc4 Dataset RPC with ID (#29)
* init branch

* CoFail cases compiles

* trying to add ID into dataset protocol WIP

* `Datasets` class with cached DatasetStorage's

* tests compiles

* license header
2018-02-07 15:17:13 +03:00
Dmitry Kurinskiy
fe922f7f9a Co fail (#31)
* init branch

* CoFail cases compiles

* co-fail submodule
2018-02-06 17:59:07 +03:00
Dima
978634e450 Crypto to f (#30)
* read and write ecdsa key into file

* file storage to F

* fix test

* add monad error

* header create

* store keys in json

* either -> try

* simplify config loading

* delete println

* add F to crypt

* comment fixes
2018-02-06 13:52:13 +03:00