Skip to content
This repository was archived by the owner on Jul 10, 2025. It is now read-only.

Commit 954c20e

Browse files
authored
Integrate Marine JS into Fluence peer (#149)
1 parent 945c8f1 commit 954c20e

29 files changed

+14708
-9637
lines changed

aqua/tests/marine-js.aqua

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
data GreetingRecord:
2+
str: string
3+
num: i32
4+
5+
service Greeting("greeting"):
6+
greeting(name: string) -> string
7+
greeting_record() -> GreetingRecord
8+
9+
func call(arg: string) -> string:
10+
res1 <- Greeting.greeting(arg)
11+
res2 <- Greeting.greeting(res1)
12+
res3 <- Greeting.greeting(res2)
13+
<- res3

docs/assets/js/search.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/classes/FluencePeer.html

Lines changed: 98 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ <h3>Methods</h3>
102102
<ul class="tsd-index-list">
103103
<li class="tsd-kind-method tsd-parent-kind-class"><a href="FluencePeer.html#getServices" class="tsd-kind-icon">get<wbr>Services</a></li>
104104
<li class="tsd-kind-method tsd-parent-kind-class"><a href="FluencePeer.html#getStatus" class="tsd-kind-icon">get<wbr>Status</a></li>
105+
<li class="tsd-kind-method tsd-parent-kind-class"><a href="FluencePeer.html#registerMarineService" class="tsd-kind-icon">register<wbr>Marine<wbr>Service</a></li>
106+
<li class="tsd-kind-method tsd-parent-kind-class"><a href="FluencePeer.html#removeMarineService" class="tsd-kind-icon">remove<wbr>Marine<wbr>Service</a></li>
105107
<li class="tsd-kind-method tsd-parent-kind-class"><a href="FluencePeer.html#start" class="tsd-kind-icon">start</a></li>
106108
<li class="tsd-kind-method tsd-parent-kind-class"><a href="FluencePeer.html#stop" class="tsd-kind-icon">stop</a></li>
107109
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><a href="FluencePeer.html#isInstance" class="tsd-kind-icon">is<wbr>Instance</a></li>
@@ -122,7 +124,7 @@ <h3>constructor</h3>
122124
<li class="tsd-description">
123125
<aside class="tsd-sources">
124126
<ul>
125-
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/0c32288/src/internal/FluencePeer.ts#L150">internal/FluencePeer.ts:150</a></li>
127+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/FluencePeer.ts#L176">src/internal/FluencePeer.ts:176</a></li>
126128
</ul>
127129
</aside>
128130
<div class="tsd-comment tsd-typography">
@@ -147,7 +149,7 @@ <h3>internals</h3>
147149
<li class="tsd-description">
148150
<aside class="tsd-sources">
149151
<ul>
150-
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/0c32288/src/internal/FluencePeer.ts#L269">internal/FluencePeer.ts:269</a></li>
152+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/FluencePeer.ts#L330">src/internal/FluencePeer.ts:330</a></li>
151153
</ul>
152154
</aside>
153155
<div class="tsd-comment tsd-typography">
@@ -296,7 +298,7 @@ <h3>get<wbr>Services</h3>
296298
<li class="tsd-description">
297299
<aside class="tsd-sources">
298300
<ul>
299-
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/0c32288/src/internal/FluencePeer.ts#L242">internal/FluencePeer.ts:242</a></li>
301+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/FluencePeer.ts#L274">src/internal/FluencePeer.ts:274</a></li>
300302
</ul>
301303
</aside>
302304
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{ </span>sig<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Sig</span><span class="tsd-signature-symbol"> }</span></h4>
@@ -318,7 +320,7 @@ <h3>get<wbr>Status</h3>
318320
<li class="tsd-description">
319321
<aside class="tsd-sources">
320322
<ul>
321-
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/0c32288/src/internal/FluencePeer.ts#L168">internal/FluencePeer.ts:168</a></li>
323+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/FluencePeer.ts#L194">src/internal/FluencePeer.ts:194</a></li>
322324
</ul>
323325
</aside>
324326
<div class="tsd-comment tsd-typography">
@@ -330,6 +332,80 @@ <h4 class="tsd-returns-title">Returns <a href="../interfaces/PeerStatus.html" cl
330332
</li>
331333
</ul>
332334
</section>
335+
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
336+
<a name="registerMarineService" class="tsd-anchor"></a>
337+
<h3>register<wbr>Marine<wbr>Service</h3>
338+
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
339+
<li class="tsd-signature tsd-kind-icon">register<wbr>Marine<wbr>Service<span class="tsd-signature-symbol">(</span>wasm<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">SharedArrayBuffer</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Buffer</span>, serviceId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
340+
</ul>
341+
<ul class="tsd-descriptions">
342+
<li class="tsd-description">
343+
<aside class="tsd-sources">
344+
<ul>
345+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/FluencePeer.ts#L289">src/internal/FluencePeer.ts:289</a></li>
346+
</ul>
347+
</aside>
348+
<div class="tsd-comment tsd-typography">
349+
<div class="lead">
350+
<p>Registers marine service within the Fluence peer from wasm file.
351+
Following helper functions can be used to load wasm files:</p>
352+
<ul>
353+
<li>loadWasmFromFileSystem</li>
354+
<li>loadWasmFromNpmPackage</li>
355+
<li>loadWasmFromServer</li>
356+
</ul>
357+
</div>
358+
</div>
359+
<h4 class="tsd-parameters-title">Parameters</h4>
360+
<ul class="tsd-parameters">
361+
<li>
362+
<h5>wasm: <span class="tsd-signature-type">SharedArrayBuffer</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Buffer</span></h5>
363+
<div class="tsd-comment tsd-typography">
364+
<p>buffer with the wasm file for service</p>
365+
</div>
366+
</li>
367+
<li>
368+
<h5>serviceId: <span class="tsd-signature-type">string</span></h5>
369+
<div class="tsd-comment tsd-typography">
370+
<p>the service id by which the service can be accessed in aqua</p>
371+
</div>
372+
</li>
373+
</ul>
374+
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
375+
</li>
376+
</ul>
377+
</section>
378+
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
379+
<a name="removeMarineService" class="tsd-anchor"></a>
380+
<h3>remove<wbr>Marine<wbr>Service</h3>
381+
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
382+
<li class="tsd-signature tsd-kind-icon">remove<wbr>Marine<wbr>Service<span class="tsd-signature-symbol">(</span>serviceId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
383+
</ul>
384+
<ul class="tsd-descriptions">
385+
<li class="tsd-description">
386+
<aside class="tsd-sources">
387+
<ul>
388+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/FluencePeer.ts#L302">src/internal/FluencePeer.ts:302</a></li>
389+
</ul>
390+
</aside>
391+
<div class="tsd-comment tsd-typography">
392+
<div class="lead">
393+
<p>Removes the specified marine service from the Fluence peer</p>
394+
</div>
395+
</div>
396+
<h4 class="tsd-parameters-title">Parameters</h4>
397+
<ul class="tsd-parameters">
398+
<li>
399+
<h5>serviceId: <span class="tsd-signature-type">string</span></h5>
400+
<div class="tsd-comment tsd-typography">
401+
<p>the service id to remove</p>
402+
</div>
403+
</li>
404+
</ul>
405+
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
406+
</li>
407+
</ul>
408+
</section>
333409
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
334410
<a name="start" class="tsd-anchor"></a>
335411
<h3>start</h3>
@@ -340,7 +416,7 @@ <h3>start</h3>
340416
<li class="tsd-description">
341417
<aside class="tsd-sources">
342418
<ul>
343-
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/0c32288/src/internal/FluencePeer.ts#L184">internal/FluencePeer.ts:184</a></li>
419+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/FluencePeer.ts#L210">src/internal/FluencePeer.ts:210</a></li>
344420
</ul>
345421
</aside>
346422
<div class="tsd-comment tsd-typography">
@@ -372,7 +448,7 @@ <h3>stop</h3>
372448
<li class="tsd-description">
373449
<aside class="tsd-sources">
374450
<ul>
375-
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/0c32288/src/internal/FluencePeer.ts#L252">internal/FluencePeer.ts:252</a></li>
451+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/FluencePeer.ts#L310">src/internal/FluencePeer.ts:310</a></li>
376452
</ul>
377453
</aside>
378454
<div class="tsd-comment tsd-typography">
@@ -395,7 +471,7 @@ <h3><span class="tsd-flag ts-flagStatic">Static</span> is<wbr>Instance</h3>
395471
<li class="tsd-description">
396472
<aside class="tsd-sources">
397473
<ul>
398-
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/0c32288/src/internal/FluencePeer.ts#L157">internal/FluencePeer.ts:157</a></li>
474+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/FluencePeer.ts#L183">src/internal/FluencePeer.ts:183</a></li>
399475
</ul>
400476
</aside>
401477
<div class="tsd-comment tsd-typography">
@@ -446,6 +522,12 @@ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</
446522
<li class=" tsd-kind-method tsd-parent-kind-class">
447523
<a href="FluencePeer.html#getStatus" class="tsd-kind-icon">get<wbr>Status</a>
448524
</li>
525+
<li class=" tsd-kind-method tsd-parent-kind-class">
526+
<a href="FluencePeer.html#registerMarineService" class="tsd-kind-icon">register<wbr>Marine<wbr>Service</a>
527+
</li>
528+
<li class=" tsd-kind-method tsd-parent-kind-class">
529+
<a href="FluencePeer.html#removeMarineService" class="tsd-kind-icon">remove<wbr>Marine<wbr>Service</a>
530+
</li>
449531
<li class=" tsd-kind-method tsd-parent-kind-class">
450532
<a href="FluencePeer.html#start" class="tsd-kind-icon">start</a>
451533
</li>
@@ -480,6 +562,15 @@ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</
480562
<li class=" tsd-kind-variable">
481563
<a href="../modules.html#Fluence" class="tsd-kind-icon">Fluence</a>
482564
</li>
565+
<li class=" tsd-kind-function tsd-is-external">
566+
<a href="../modules.html#loadWasmFromFileSystem" class="tsd-kind-icon">load<wbr>Wasm<wbr>From<wbr>File<wbr>System</a>
567+
</li>
568+
<li class=" tsd-kind-function tsd-is-external">
569+
<a href="../modules.html#loadWasmFromNpmPackage" class="tsd-kind-icon">load<wbr>Wasm<wbr>From<wbr>Npm<wbr>Package</a>
570+
</li>
571+
<li class=" tsd-kind-function tsd-is-external">
572+
<a href="../modules.html#loadWasmFromServer" class="tsd-kind-icon">load<wbr>Wasm<wbr>From<wbr>Server</a>
573+
</li>
483574
<li class=" tsd-kind-function">
484575
<a href="../modules.html#setLogLevel" class="tsd-kind-icon">set<wbr>Log<wbr>Level</a>
485576
</li>

docs/classes/KeyPair.html

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ <h3>constructor</h3>
115115
<li class="tsd-description">
116116
<aside class="tsd-sources">
117117
<ul>
118-
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/0c32288/src/internal/KeyPair.ts#L26">internal/KeyPair.ts:26</a></li>
118+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/KeyPair.ts#L26">src/internal/KeyPair.ts:26</a></li>
119119
</ul>
120120
</aside>
121121
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -137,7 +137,7 @@ <h3>Libp2p<wbr>Peer<wbr>Id</h3>
137137
<div class="tsd-signature tsd-kind-icon">Libp2p<wbr>Peer<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">PeerId</span></div>
138138
<aside class="tsd-sources">
139139
<ul>
140-
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/0c32288/src/internal/KeyPair.ts#L24">internal/KeyPair.ts:24</a></li>
140+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/KeyPair.ts#L24">src/internal/KeyPair.ts:24</a></li>
141141
</ul>
142142
</aside>
143143
<div class="tsd-comment tsd-typography">
@@ -159,7 +159,7 @@ <h3>sign<wbr>Bytes</h3>
159159
<li class="tsd-description">
160160
<aside class="tsd-sources">
161161
<ul>
162-
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/0c32288/src/internal/KeyPair.ts#L62">internal/KeyPair.ts:62</a></li>
162+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/KeyPair.ts#L62">src/internal/KeyPair.ts:62</a></li>
163163
</ul>
164164
</aside>
165165
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -182,7 +182,7 @@ <h3>to<wbr>B58<wbr>String</h3>
182182
<li class="tsd-description">
183183
<aside class="tsd-sources">
184184
<ul>
185-
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/0c32288/src/internal/KeyPair.ts#L51">internal/KeyPair.ts:51</a></li>
185+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/KeyPair.ts#L51">src/internal/KeyPair.ts:51</a></li>
186186
</ul>
187187
</aside>
188188
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
@@ -199,7 +199,7 @@ <h3>to<wbr>Ed25519<wbr>Private<wbr>Key</h3>
199199
<li class="tsd-description">
200200
<aside class="tsd-sources">
201201
<ul>
202-
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/0c32288/src/internal/KeyPair.ts#L58">internal/KeyPair.ts:58</a></li>
202+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/KeyPair.ts#L58">src/internal/KeyPair.ts:58</a></li>
203203
</ul>
204204
</aside>
205205
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Uint8Array</span></h4>
@@ -217,7 +217,7 @@ <h3>verify</h3>
217217
<li class="tsd-description">
218218
<aside class="tsd-sources">
219219
<ul>
220-
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/0c32288/src/internal/KeyPair.ts#L66">internal/KeyPair.ts:66</a></li>
220+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/KeyPair.ts#L66">src/internal/KeyPair.ts:66</a></li>
221221
</ul>
222222
</aside>
223223
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -243,7 +243,7 @@ <h3><span class="tsd-flag ts-flagStatic">Static</span> from<wbr>Ed25519SK</h3>
243243
<li class="tsd-description">
244244
<aside class="tsd-sources">
245245
<ul>
246-
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/0c32288/src/internal/KeyPair.ts#L35">internal/KeyPair.ts:35</a></li>
246+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/KeyPair.ts#L35">src/internal/KeyPair.ts:35</a></li>
247247
</ul>
248248
</aside>
249249
<div class="tsd-comment tsd-typography">
@@ -274,7 +274,7 @@ <h3><span class="tsd-flag ts-flagStatic">Static</span> random<wbr>Ed25519</h3>
274274
<li class="tsd-description">
275275
<aside class="tsd-sources">
276276
<ul>
277-
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/0c32288/src/internal/KeyPair.ts#L46">internal/KeyPair.ts:46</a></li>
277+
<li>Defined in <a href="https://github.com/fluencelabs/fluence-js/blob/9a26165/src/internal/KeyPair.ts#L46">src/internal/KeyPair.ts:46</a></li>
278278
</ul>
279279
</aside>
280280
<div class="tsd-comment tsd-typography">
@@ -355,6 +355,15 @@ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</
355355
<li class=" tsd-kind-variable">
356356
<a href="../modules.html#Fluence" class="tsd-kind-icon">Fluence</a>
357357
</li>
358+
<li class=" tsd-kind-function tsd-is-external">
359+
<a href="../modules.html#loadWasmFromFileSystem" class="tsd-kind-icon">load<wbr>Wasm<wbr>From<wbr>File<wbr>System</a>
360+
</li>
361+
<li class=" tsd-kind-function tsd-is-external">
362+
<a href="../modules.html#loadWasmFromNpmPackage" class="tsd-kind-icon">load<wbr>Wasm<wbr>From<wbr>Npm<wbr>Package</a>
363+
</li>
364+
<li class=" tsd-kind-function tsd-is-external">
365+
<a href="../modules.html#loadWasmFromServer" class="tsd-kind-icon">load<wbr>Wasm<wbr>From<wbr>Server</a>
366+
</li>
358367
<li class=" tsd-kind-function">
359368
<a href="../modules.html#setLogLevel" class="tsd-kind-icon">set<wbr>Log<wbr>Level</a>
360369
</li>

docs/index.html

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,15 @@ <h1>Fluence JS</h1>
108108
<li class=" tsd-kind-variable">
109109
<a href="modules.html#Fluence" class="tsd-kind-icon">Fluence</a>
110110
</li>
111+
<li class=" tsd-kind-function tsd-is-external">
112+
<a href="modules.html#loadWasmFromFileSystem" class="tsd-kind-icon">load<wbr>Wasm<wbr>From<wbr>File<wbr>System</a>
113+
</li>
114+
<li class=" tsd-kind-function tsd-is-external">
115+
<a href="modules.html#loadWasmFromNpmPackage" class="tsd-kind-icon">load<wbr>Wasm<wbr>From<wbr>Npm<wbr>Package</a>
116+
</li>
117+
<li class=" tsd-kind-function tsd-is-external">
118+
<a href="modules.html#loadWasmFromServer" class="tsd-kind-icon">load<wbr>Wasm<wbr>From<wbr>Server</a>
119+
</li>
111120
<li class=" tsd-kind-function">
112121
<a href="modules.html#setLogLevel" class="tsd-kind-icon">set<wbr>Log<wbr>Level</a>
113122
</li>

0 commit comments

Comments
 (0)