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

Commit 6e0a8c0

Browse files
authored
Compiler support: fix issue with incorrect ttl value in config (#100)
1 parent aa21abe commit 6e0a8c0

File tree

5 files changed

+52
-12
lines changed

5 files changed

+52
-12
lines changed

package-lock.json

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
"author": "Fluence Labs",
2121
"license": "Apache-2.0",
2222
"dependencies": {
23+
"@fluencelabs/avm": "0.16.7",
2324
"@chainsafe/libp2p-noise": "4.0.0",
24-
"@fluencelabs/avm": "0.16.6",
2525
"async": "3.2.0",
2626
"base64-js": "1.5.1",
2727
"bs58": "4.0.1",
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import each from 'jest-each';
2+
import { Fluence, FluencePeer } from '../..';
3+
import { forTests } from '../../internal/compilerSupport/v2';
4+
5+
const peer = new FluencePeer();
6+
const cfg = { ttl: 1000 };
7+
8+
describe('Compiler support tests', () => {
9+
each`
10+
rawArgs | numArgs | expectedArgs | expectedConfig | isExpectedPeerDefault
11+
${[]} | ${0} | ${[]} | ${undefined} | ${true}
12+
${[cfg]} | ${0} | ${[]} | ${cfg} | ${true}
13+
${[peer]} | ${0} | ${[]} | ${undefined} | ${false}
14+
${[peer, cfg]} | ${0} | ${[]} | ${cfg} | ${false}
15+
${['a']} | ${1} | ${['a']} | ${undefined} | ${true}
16+
${['a', cfg]} | ${1} | ${['a']} | ${cfg} | ${true}
17+
${[peer, 'a']} | ${1} | ${['a']} | ${undefined} | ${false}
18+
${[peer, 'a', cfg]} | ${1} | ${['a']} | ${cfg} | ${false}
19+
`.test(
20+
//
21+
'raw rawArgs: $rawArgs, numArgs: $numArgs. expected args: $expectedArgs, config: $expectedConfig, default peer?: $isExpectedPeerDefault',
22+
async ({ rawArgs, numArgs, expectedArgs, expectedConfig, isExpectedPeerDefault }) => {
23+
// arrange
24+
const testFn = forTests.extractFunctionArgs;
25+
26+
// act
27+
const { peer, config, args } = testFn(rawArgs, numArgs);
28+
const isActualPeerDefault = Fluence.getPeer() === peer;
29+
30+
// assert
31+
expect(config).toStrictEqual(expectedConfig);
32+
expect(args).toStrictEqual(expectedArgs);
33+
expect(isActualPeerDefault).toStrictEqual(isExpectedPeerDefault);
34+
},
35+
);
36+
});

src/internal/FluencePeer.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ export class FluencePeer {
420420
const result = runInterpreter(this.getStatus().peerId, this._interpreter, particle, prevData);
421421

422422
// Do not continue if there was an error in particle interpretation
423-
if (isInterpretationSuccessful(result)) {
423+
if (!isInterpretationSuccessful(result)) {
424424
item.onStageChange({ stage: 'interpreterError', errorMessage: result.errorMessage });
425425
return;
426426
}
@@ -575,7 +575,7 @@ export class FluencePeer {
575575
}
576576

577577
function isInterpretationSuccessful(result: InterpreterResult) {
578-
return result.retCode !== 0 || result?.errorMessage?.length > 0;
578+
return result.retCode === 0;
579579
}
580580

581581
function serviceFnKey(serviceId: string, fnName: string) {

src/internal/compilerSupport/v2.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -460,11 +460,11 @@ const extractFunctionArgs = (
460460
if (FluencePeer.isInstance(args[0])) {
461461
peer = args[0];
462462
structuredArgs = args.slice(1, numberOfExpectedArgs + 1);
463-
config = args[numberOfExpectedArgs + 2];
463+
config = args[numberOfExpectedArgs + 1];
464464
} else {
465465
peer = Fluence.getPeer();
466466
structuredArgs = args.slice(0, numberOfExpectedArgs);
467-
config = args[numberOfExpectedArgs + 1];
467+
config = args[numberOfExpectedArgs];
468468
}
469469

470470
return {
@@ -530,3 +530,7 @@ const extractRegisterServiceArgs = (
530530
function throwForReq(req: CallServiceData, message: string) {
531531
throw new Error(`${message}, serviceId='${req.serviceId}' fnName='${req.fnName}' args='${req.args}'`);
532532
}
533+
534+
export const forTests = {
535+
extractFunctionArgs,
536+
};

0 commit comments

Comments
 (0)