@@ -19,7 +19,7 @@ import type { IFluenceClient } from '@fluencelabs/interfaces';
1919import { getArgumentTypes } from '@fluencelabs/interfaces' ;
2020import { isFluencePeer } from '@fluencelabs/interfaces' ;
2121
22- import { getDefaultPeer } from '../util.js' ;
22+ import { getFluenceInterface } from '../util.js' ;
2323
2424/**
2525 * Convenience function to support Aqua `func` generation backend
@@ -30,12 +30,20 @@ import { getDefaultPeer } from '../util.js';
3030 * @param script - air script with function execution logic generated by the Aqua compiler
3131 */
3232export const callFunction = async ( rawFnArgs : Array < any > , def : FunctionCallDef , script : string ) : Promise < unknown > => {
33- const { args, peer, config } = await extractFunctionArgs ( rawFnArgs , def ) ;
34- return peer . compilerSupport . callFunction ( {
33+ const { args, client : peer , config } = await extractFunctionArgs ( rawFnArgs , def ) ;
34+ if ( peer . internals . getConnectionState ( ) !== 'connected' ) {
35+ throw new Error (
36+ 'Could not call the Aqua function because client is disconnected. Did you forget to call Fluence.connect()?' ,
37+ ) ;
38+ }
39+
40+ const fluence = await getFluenceInterface ( ) ;
41+ return fluence . callAquaFunction ( {
3542 args,
3643 def,
3744 script,
3845 config : config || { } ,
46+ peer : peer ,
3947 } ) ;
4048} ;
4149
@@ -47,10 +55,21 @@ export const callFunction = async (rawFnArgs: Array<any>, def: FunctionCallDef,
4755 */
4856export const registerService = async ( args : any [ ] , def : ServiceDef ) : Promise < unknown > => {
4957 const { peer, service, serviceId } = await extractServiceArgs ( args , def . defaultServiceId ) ;
50- return peer . compilerSupport . registerService ( {
58+
59+ // TODO: TBH service registration is just putting some stuff into a hashmap
60+ // there should not be such a check at all
61+ if ( peer . internals . getConnectionState ( ) !== 'connected' ) {
62+ throw new Error (
63+ 'Could not register Aqua service because the client is disconnected. Did you forget to call Fluence.connect()?' ,
64+ ) ;
65+ }
66+
67+ const fluence = await getFluenceInterface ( ) ;
68+ return fluence . registerService ( {
5169 def,
5270 service,
5371 serviceId,
72+ peer,
5473 } ) ;
5574} ;
5675
@@ -68,7 +87,7 @@ const extractFunctionArgs = async (
6887 args : any [ ] ,
6988 def : FunctionCallDef ,
7089) : Promise < {
71- peer : IFluenceClient ;
90+ client : IFluenceClient ;
7291 config ?: FnConfig ;
7392 args : { [ key : string ] : any } ;
7493} > => {
@@ -84,7 +103,8 @@ const extractFunctionArgs = async (
84103 structuredArgs = args . slice ( 1 , numberOfExpectedArgs + 1 ) ;
85104 config = args [ numberOfExpectedArgs + 1 ] ;
86105 } else {
87- peer = await getDefaultPeer ( ) ;
106+ const fluence = await getFluenceInterface ( ) ;
107+ peer = fluence . defaultClient ;
88108 structuredArgs = args . slice ( 0 , numberOfExpectedArgs ) ;
89109 config = args [ numberOfExpectedArgs ] ;
90110 }
@@ -96,7 +116,7 @@ const extractFunctionArgs = async (
96116 const argsRes = argumentNames . reduce ( ( acc , name , index ) => ( { ...acc , [ name ] : structuredArgs [ index ] } ) , { } ) ;
97117
98118 return {
99- peer : peer ,
119+ client : peer ,
100120 config : config ,
101121 args : argsRes ,
102122 } ;
@@ -124,7 +144,8 @@ const extractServiceArgs = async (
124144 if ( isFluencePeer ( args [ 0 ] ) ) {
125145 peer = args [ 0 ] ;
126146 } else {
127- peer = await getDefaultPeer ( ) ;
147+ const fluence = await getFluenceInterface ( ) ;
148+ peer = fluence . defaultClient ;
128149 }
129150
130151 if ( typeof args [ 0 ] === 'string' ) {
0 commit comments