Commit Graph

223 Commits

Author SHA1 Message Date
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
folex
77ca5502b2 set ttl to 0 2021-03-03 17:31:41 +03:00
folex
052a8a7f24
Do not use DataView (#28) 2021-03-03 17:27:00 +03:00
Pavel
c65c0afbee
Xor (#24)
* Wrapping scripts with xor

* Add function subscribeForErrors to handle errors
2021-02-25 18:36:10 +03:00
Pavel
619c8a6d6a
Update builtins to new version (#27)
* Update builtins to new version

* Running integration tests in docker container
2021-02-25 15:33:37 +03:00
Pavel
d65153e6de
Update interpreter (#26)
* Update interpreter version
2021-02-24 14:51:24 +03:00
Dima
3eacf708e6
handle errors on local particle call (#25) 2021-02-24 14:43:21 +03:00
Dima
c10cd1942a
Check if connection is available on creating a client (#23)
Check if connection is available on creating a client
2021-02-19 16:32:02 +03:00
Dima
78ed8ab46c
delete trust-graph (#22) 2021-02-19 12:21:13 +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
Pavel
399166efe8
Exporting wrapper for loglevel (#20)
* Exporting wrapper for loglevel

* prettier
2021-02-13 16:13:00 +03:00
folex
ceca3e5692
Add ttl argument to some "builtin" functions (#17) 2021-02-12 18:27:21 +03:00
DieMyst
2fb5ffeb06 improve test 2021-02-04 18:59:38 +03:00
Dima
7d5f1ed41d
update aqua (#16) 2021-02-04 13:40:19 +03:00
Dima
481a44b819
Add remove scripts, fix builtins (#15) 2021-02-03 21:18:27 +03:00
Dima
e4d3f688ed
Immediate -> timeout (#14) 2021-02-02 14:13:52 +03:00
Pavel
4276ea7c2e
Add logging for particle receive events (#13)
* Add logging for particle receive events

* Better log levels
2021-01-29 18:54:54 +03:00
Pavel
041b3acd8c
Fix docs (#12) 2021-01-29 16:57:41 +03:00
Dima
92980379bd
Returned built-in Aquamarine calls, updated docs (#11) 2021-01-29 16:48:27 +03:00
Pavel
b9d146c653
Hide non latest packages (#9)
* publishing branch packages with beta tag to hide it from being latest

* Update package version
2021-01-19 17:15:59 +03:00
Pavel
ba537c79b3
Big refactoring (#8)
Big codebase refactoring. 

* Multiple clients are allowed on the same browser instance
* Particle queue processing is split from particle handling logic
* Public AIP is completely rethought
* Updated project file structure. Clean exports for public api methods
* Additional unit tests
2021-01-19 15:47:49 +03:00
folex
c7f94109a6
Do not run 'publish_branch' on master (#7) 2020-12-31 15:04:11 +03:00
folex
5ad4108361
Switch badge to @fluencelabs/fluence (#6) 2020-12-30 13:14:24 +03:00
folex
0c19f080df
Release @fluencelabs/fluence automatically (#5) 2020-12-29 15:38:20 +03:00
coder11
1995425f01
fix repository url in package.json (#4) 2020-12-29 12:01:53 +03:00
coder11
0668cf01dd
Add npm version badge (#3) 2020-12-28 17:39:06 +03:00
DieMyst
63281bbdfd rename, update version 2020-12-24 19:47:17 +03:00
DieMyst
6e7d1a93fa fix 2020-12-24 19:36:38 +03:00
DieMyst
7b9c8b9be8 fix 2020-12-24 19:19:51 +03:00
Dima
7331d48afd
Data as base64 (#2) 2020-12-24 19:11:10 +03:00
DieMyst
cbecbf95f3 update aqua version, update aqua callservice hash 2020-12-24 16:13:45 +03:00
coder11
f6fd95ce77
Tetraplets (#1) 2020-12-23 17:24:22 +03:00
DieMyst
2876417554 fix workflow 2020-12-22 11:09:59 +03:00
DieMyst
3344c5d7a9 add workflow 2020-12-22 11:08:44 +03:00
folex
b79f0920d4 JS SDK: fix host functions in mocha tests (#1003) 2020-12-19 23:59:29 +03:00
folex
f0b4c7a718 Expose kademlia config & integrate new StepperOutcome (#1002) 2020-12-18 18:29:03 +03:00
Dima
7848f59e00 fluence-js: fix particle data merging (#998) 2020-12-14 15:21:43 +03:00
folex
8a10957efe Fix host imports in fluence-js (#997) 2020-12-08 17:13:24 +03:00
Dima
84f0b3ba18 delete test dir from package, update version (#995) 2020-12-07 17:20:00 +03:00
folex
1da69b1fb9 Fluence.parseAIR function to return AST as JSON (#994) 2020-12-07 14:18:42 +03:00
Dima
957c0f90c1 module config, blueprint id (#993) 2020-12-04 17:08:35 +03:00
Dima
14a8463d3a update aqua (#988) 2020-11-25 16:56:01 +03:00
Dima
581193b044 update wasm-pack compiled js (#982) 2020-11-23 16:05:48 +03:00
Dima
f7e99247d1 Doc improvements, script generator (#979) 2020-11-19 15:32:49 +03:00
Dima
95be4bbd6d Use aqua wasm from package (#978) 2020-11-18 10:03:21 +03:00
Dima
abf19810dc Fix particle encoding (#974) 2020-11-11 22:05:54 +03:00
Dima
ff0a5ae080 update aqua (#972) 2020-11-06 17:12:04 +03:00
Dima
87af2bbe56 New aqua (#969) 2020-11-04 00:03:22 +03:00
Dima
6ebba3242d Client new logger (#964) 2020-10-26 17:38:01 +03:00
folex
ca76c10659 Integrate new logger (#963) 2020-10-26 13:15:55 +03:00