Commit Graph

97 Commits

Author SHA1 Message Date
shamsartem
5234ba24ed
Turn on noImplicitAny and strictNullChecks (#153)
* Turn on noImplicitAny and strictNullChecks

* code review fixes
2022-05-12 17:14:16 +03:00
Pavel
e9454473ed
AquaVM: passing updated RunParameters structure (support v0.24.2) (#152) 2022-04-25 17:58:14 +03:00
Pavel
c4122f63b1
Marine JS: add configuration for setting logging level in marine services (#151) 2022-04-24 10:49:57 +03:00
Pavel
954c20e2c0
Integrate Marine JS into Fluence peer (#149) 2022-04-21 14:13:26 +03:00
Pavel
41984b8912
Throwing human-readable error for unsupported node.js versions (#145)
fixes #143
2022-04-01 00:37:25 +04:00
Pavel
88fcc749a1
Compile signing service definition using the latest Aqua compiler (#141) 2022-03-23 20:22:31 +03:00
Pavel
e8060cf7c1
Update AVM to v0.21.3 (#137) 2022-03-10 10:38:14 +03:00
Pavel
1c5b32cdd9
Update AVM version to 0.21.0 (#135) 2022-03-01 17:54:46 +03:00
Valery Antopol
96ede60099
Switch to marine-web based AquaVM runner (#132) 2022-02-18 20:06:37 +03:00
Pavel
133e75c818
Update avm version to 0.20.5 (#131) 2022-02-17 14:07:55 +03:00
Pavel
25f63f0b0d
Implement additional builtins: array_length, sha256_string, concat_strings (#130) 2022-02-17 13:24:26 +03:00
Pavel
d860ea6dec
Using polyfill for Buffer in browsers (#129) 2022-02-17 10:54:38 +03:00
Pavel
976cd0435c
Sig service redesign (#126) 2022-02-04 22:39:41 +03:00
Pavel
48caa02d39
Update libp2p-related packages versions. Fix 'stream reset' error. (#123) 2022-01-27 16:05:20 +03:00
Pavel
d9ee6e2cb5
Update AVM version to 0.20.0 (#120) 2021-12-29 23:21:48 +03:00
Pavel
bc027b82cd
AvmRunner: update to 0.1.2 (fix issue with incorrect baseUrl) (#119) 2021-12-29 17:46:25 +03:00
Pavel
9d0c7b2bb8
Switching from AVM interpreter to AVM runner with background execution (#111) 2021-12-28 20:53:25 +03:00
Pavel
4aefddecaa
Update AVM version to 0.19.3 (#117) 2021-12-22 20:40:50 +03:00
Pavel
c9f2bb2407
Disable automatic branch publishing (#114) 2021-12-17 17:12:09 +03:00
Pavel
7853747d5e
Update AVM version to 0.18.0 (#115) 2021-12-17 17:10:22 +03:00
Aleksey Proshutisnkiy
228d3f104c
Update AVM version to 0.17.7 (#113) 2021-12-13 20:09:56 +03:00
Pavel
48fc017a1b
Add built-in service (Sig) which signs data and verifies signatures (#110) 2021-12-10 16:47:58 +03:00
Pavel
25da21aeeb
Update AVM version to 0.17.6 (#112) 2021-12-08 16:52:59 +03:00
Pavel
2de819144a
Update AVM: add support for restriction operator (#102) 2021-11-17 09:10:23 +03:00
Pavel
6e0a8c011f
Compiler support: fix issue with incorrect ttl value in config (#100) 2021-11-10 17:49:42 +03:00
Pavel
aa21abe465
Extend error handling in FluencePeer (#98) 2021-11-09 14:37:44 +03:00
Pavel
fe52648103
Integrate async AquaVM into fluence-js (#88) 2021-10-20 22:20:43 +03:00
Pavel
727d59fb61
Documentation update (#83) 2021-09-27 22:11:35 +03:00
folex
763e641fa2
KeyPair: add fromBytes, toEd25519PrivateKey (#78)
- fromBytes allows to pass any seed you want
- constructor takes PeerId (previously was empty and maybe private)
- toEd25519PrivateKey to complete the lifecycle.
2021-09-14 12:16:17 +03:00
Pavel
6436cd5684
Update JS SDK API to the new version (#61)
* FluenceClient renamed to FluencePeer.
* Using Aqua compiler is now the recommended way for all interaction with the network, including services registration and sending requests
* Old API (sendParticle etc) has been removed
* Opaque seed format replaced with 32 byte ed25519 private key. KeyPair introduced
* Documentation update
2021-09-08 12:42:30 +03:00
Pavel
eec581370d
Update base64-js version (#67) 2021-09-08 11:56:25 +03:00
Pavel
33d7406c55
Update CI workflow to tag-based one (#66) 2021-09-08 11:28:22 +03:00
folex
32e1ea4e04
Update avm to 0.14.3 (#65) 2021-08-27 20:02:55 +03:00
Pavel
ad83b51ce1
JS SDK 0.10.0 (#64)
BREAKING CHANGES: PROTOCOL_NAME is changed, AquaVM is updated to a new minor version
2021-08-24 18:37:20 +03:00
Mike Voronov
5da230cb05
Switch to crdt interpreter (#62) 2021-08-24 17:37:03 +03:00
folex
f67ca787a7
Update libp2p, multiaddr & peer-id libraries (#60) 2021-08-18 20:13:40 +03:00
Dima
7959016ecb
update avm to 0.10.5 (#57) 2021-06-10 17:32:15 +03:00
Pavel
67a1f91961
Fix issue with avm logs not being displayed (#54) 2021-06-08 11:08:07 +03:00
Pavel
53385c556a
Implement handlers for built-in calls from avm (#52) 2021-06-03 20:11:09 +03:00
Dima
b5bdc5d6e5
update (#50) 2021-06-01 19:05:40 +03:00
Pavel
054a7bf094
Mass rename (#48)
* Update terminology and namings

* Use renamed to `avm` package
2021-05-18 09:53:12 +03:00
Pavel
9aa077eb4b
Update air (#47)
* Migrate to the new version of air-interpreter package

* Add pipeline with integration tests 

* Fix issues which prevented tests to finish normally
2021-05-12 00:01:44 +03:00
folex
f9d7a1c875
Update AIR interpreter to 0.8.2 (#42) 2021-04-21 12:42:42 +03:00
folex
480c8aa850
Allow ws transport (#37) 2021-04-13 15:11:52 +03:00
Pavel
15e645c2d5
Fixes (#35)
* Fix assignment in `withInjectedVariables` 

* Pin all dependencies to exact version

* Remove unused deps
2021-04-08 13:55:33 +03:00
Pavel
0ff10a25de
update aqua version (#33)
* Bump aquamarine version

* Add connection options
2021-03-25 21:33:27 +03:00
Pavel
f732a30eb8
Swapped secio with noise (#32)
Update libp2p-related packages and switch from secio to noise
2021-03-10 15:56:12 +03:00
Pavel
b0ed007399
Particle lifecycle (#21)
Complete rethinking and refactoring of the codebase.

The codebase basically consists these 5 moving parts now: 

1. Fluence client (and the Particle processor which might be merged with the client) - This part is responsible for initiating Request flows, managing existing requests flows (it keeps the queue of received particles), pulling right strings on request flows to update their state etc
2. Fluence connection - This part is responsible for connecting to network, sending\receiving particles
3. RequestFlow - This is where the state of particle execution process is kept. It is basically a state storage with some control levers to update the state. Each request flow contains some particle lifecycle methods and the AquaCallHandler where all callback logic is kept
4. RequestFlowBuilder - This is where requests are prepared by the user (the developer of the client application) before they are ready to be sent into the network.
5. AquaCallHandler - This is how interpreter callbacks are handled. It is very similar to express.js app and is made of middlewares. Aqua handler is the unified api for both callbacks for our Request flows and non-ours (i.e services that are expected to be called be other peers). See `AquaHandler.ts` for details
2021-03-03 22:01:05 +03:00
Pavel
d65153e6de
Update interpreter (#26)
* Update interpreter version
2021-02-24 14:51:24 +03:00
Pavel
416221ea17
Improve tests (#18)
Replaced mocha with jest. 
Test are split into unit and integration categories.
Dropped ESM dependency. Code is now being compiled into CJS
2021-02-14 00:35:02 +03:00