feat!: Standalone web JS Client (#243)

- Move marine-related part into FJS repo (fixes DXJ-184)
- Move towards component-oriented architecture (fixes DXJ-183)
- Different JS Client distros for node.js and web (fixes DXJ-185)
- Update libp2p to 0.42.2 (fixes DXJ-26)
- Add JS Client API (fixes DXJ-196, fixes DXJ-177, fixes DXJ-60)
- Add Smoke test for JS Client web (fixes DXJ-253)

---------

Co-authored-by: Anatoly Laskaris <github_me@nahsi.dev>
This commit is contained in:
Pavel
2023-02-13 17:41:35 +03:00
committed by GitHub
parent e02c506d7f
commit 9667c4fec6
212 changed files with 16522 additions and 7886 deletions

View File

@ -0,0 +1,12 @@
data ReadFileResult:
-- Was the call successful or not
success: bool
-- File content in base64 if the call was successful
content: ?string
-- Error message if the call was unsuccessful
error: ?string
service NodeUtils("node_utils"):
-- Read file from file system.
-- returns file content in base64 format
read_file(path: string) -> ReadFileResult

View File

@ -0,0 +1,35 @@
-- import SignResult, Sig from "@fluencelabs/aqua-lib/builtin.aqua"
-- export SignResult, Sig
-- TODO:: fix this issue: https://github.com/fluencelabs/aqua-lib/issues/12
-- and remove copy-paste
data SignResult:
-- Was call successful or not
success: bool
-- Error message. Will be null if the call is successful
error: ?string
-- Signature as byte array. Will be null if the call is not successful
signature: ?[]u8
-- Available only on FluenceJS peers
-- The service can also be resolved by it's host peer id
service Sig("sig"):
-- Signs data with the service's private key.
-- Depending on implementation the service might check call params to restrict usage for security reasons.
-- By default it is only allowed to be used on the same peer the particle was initiated
-- and accepts data only from the following sources:
-- trust-graph.get_trust_bytes
-- trust-graph.get_revocation_bytes
-- registry.get_route_bytes
-- registry.get_record_bytes
-- registry.get_host_record_bytes
-- Argument: data - byte array to sign
-- Returns: signature as SignResult structure
sign(data: []u8) -> SignResult
-- Given the data and signature both as byte arrays, returns true if the signature is correct, false otherwise.
verify(signature: []u8, data: []u8) -> bool
-- Gets service's public key.
get_peer_id() -> string

View File

@ -0,0 +1,32 @@
alias Bytes : []u8
data ServiceCreationResult:
success: bool
service_id: ?string
error: ?string
data ReadFileResult:
success: bool
content: ?string
error: ?string
data RemoveResult:
success: bool
error: ?string
alias ListServiceResult: []string
service Srv("single_module_srv"):
-- Used to create a service on a certain node
-- Arguments:
-- bytes a base64 string containing the .wasm module to add.
-- Returns: service_id the service ID of the created service.
create(wasm_b64_content: string) -> ServiceCreationResult
-- Used to remove a service from a certain node
-- Arguments:
-- service_id ID of the service to remove
remove(service_id: string) -> RemoveResult
-- Returns a list of services ids running on a peer
list() -> ListServiceResult