diff --git a/aqua-examples/aqua-ipfs-integration/aqua/.gitignore b/aqua-examples/aqua-ipfs-integration/aqua/.gitignore new file mode 100644 index 0000000..7eef7ee --- /dev/null +++ b/aqua-examples/aqua-ipfs-integration/aqua/.gitignore @@ -0,0 +1,4 @@ + +# fluence + +src/ \ No newline at end of file diff --git a/aqua-examples/aqua-ipfs-integration/aqua/package.json b/aqua-examples/aqua-ipfs-integration/aqua/package.json index fd5307d..8083d66 100644 --- a/aqua-examples/aqua-ipfs-integration/aqua/package.json +++ b/aqua-examples/aqua-ipfs-integration/aqua/package.json @@ -22,8 +22,7 @@ "license": "MIT", "dependencies": { "@fluencelabs/aqua-ipfs": "0.4.2", - "@fluencelabs/aqua-lib": "0.1.14", - "@fluencelabs/fluence": "^0.14.2", + "@fluencelabs/fluence": "0.17.0", "@fluencelabs/fluence-network-environment": "1.0.10", "ipfs-http-client": "^50.1.2", "it-all": "^1.0.5", @@ -31,7 +30,8 @@ "uint8arrays": "^2.1.5" }, "devDependencies": { - "@fluencelabs/aqua": "^0.4.0-235", + "@fluencelabs/aqua": "^0.5.2-256", + "@fluencelabs/aqua-lib": "^0.3.2", "typescript": "^4.0.0" } } diff --git a/aqua-examples/aqua-ipfs-integration/aqua/src/exports.ts b/aqua-examples/aqua-ipfs-integration/aqua/src/exports.ts deleted file mode 100644 index 20399e0..0000000 --- a/aqua-examples/aqua-ipfs-integration/aqua/src/exports.ts +++ /dev/null @@ -1,592 +0,0 @@ -/** - * - * This file is auto-generated. Do not edit manually: changes may be erased. - * Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. - * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues - * Aqua version: 0.4.0-235 - * - */ -import { Fluence, FluencePeer } from '@fluencelabs/fluence'; -import { - CallParams, - callFunction, - registerService, -} from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; - - -// Services - -// Functions - - -export function set_timeout(node: string, timeout_sec: number, config?: {ttl?: number}): Promise; -export function set_timeout(peer: FluencePeer, node: string, timeout_sec: number, config?: {ttl?: number}): Promise; -export function set_timeout(...args: any) { - - let script = ` - (xor - (seq - (seq - (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (call %init_peer_id% ("getDataSrv" "node") [] node) - ) - (call %init_peer_id% ("getDataSrv" "timeout_sec") [] timeout_sec) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call node ("aqua-ipfs" "set_timeout") [timeout_sec]) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - ) - ) - ) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) - ) - ) - ` - return callFunction( - args, - { - "functionName" : "set_timeout", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "node", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "timeout_sec", - "argType" : { - "tag" : "primitive" - } - } - ], - "names" : { - "relay" : "-relay-", - "getDataSrv" : "getDataSrv", - "callbackSrv" : "callbackSrv", - "responseSrv" : "callbackSrv", - "responseFnName" : "response", - "errorHandlingSrv" : "errorHandlingSrv", - "errorFnName" : "error" - } -}, - script - ) -} - - - -export function get_and_cache(node: string, cid: string, from: string, error: (arg0: string, arg1: string, callParams: CallParams<'arg0' | 'arg1'>) => void | Promise, config?: {ttl?: number}): Promise; -export function get_and_cache(peer: FluencePeer, node: string, cid: string, from: string, error: (arg0: string, arg1: string, callParams: CallParams<'arg0' | 'arg1'>) => void | Promise, config?: {ttl?: number}): Promise; -export function get_and_cache(...args: any) { - - let script = ` - (xor - (seq - (seq - (seq - (seq - (seq - (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (call %init_peer_id% ("getDataSrv" "node") [] node) - ) - (call %init_peer_id% ("getDataSrv" "cid") [] cid) - ) - (call %init_peer_id% ("getDataSrv" "from") [] from) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (seq - (call node ("aqua-ipfs" "get_from") [cid from] get) - (xor - (match get.$.success! true - (xor - (seq - (call node ("aqua-ipfs" "put") [get.$.path!] put) - (xor - (match put.$.success! true - (xor - (ap put.$.hash! $localCid) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - ) - ) - ) - (par - (seq - (call -relay- ("op" "noop") []) - (xor - (call %init_peer_id% ("callbackSrv" "error") ["Ipfs.put failed" put.$.error!]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) - ) - ) - (null) - ) - ) - ) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) - ) - ) - ) - (par - (seq - (call -relay- ("op" "noop") []) - (xor - (call %init_peer_id% ("callbackSrv" "error") ["Ipfs.get failed" get.$.error!]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4]) - ) - ) - (null) - ) - ) - ) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 5]) - ) - ) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call %init_peer_id% ("callbackSrv" "response") [$localCid]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 6]) - ) - ) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 7]) - ) - ` - return callFunction( - args, - { - "functionName" : "get_and_cache", - "returnType" : { - "tag" : "optional" - }, - "argDefs" : [ - { - "name" : "node", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "cid", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "from", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "error", - "argType" : { - "tag" : "callback", - "callback" : { - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "arg1", - "argType" : { - "tag" : "primitive" - } - } - ], - "returnType" : { - "tag" : "void" - } - } - } - } - ], - "names" : { - "relay" : "-relay-", - "getDataSrv" : "getDataSrv", - "callbackSrv" : "callbackSrv", - "responseSrv" : "callbackSrv", - "responseFnName" : "response", - "errorHandlingSrv" : "errorHandlingSrv", - "errorFnName" : "error" - } -}, - script - ) -} - - -export type Get_fromResult = { error: string; path: string; success: boolean; } -export function get_from(node: string, cid: string, from: string, config?: {ttl?: number}): Promise; -export function get_from(peer: FluencePeer, node: string, cid: string, from: string, config?: {ttl?: number}): Promise; -export function get_from(...args: any) { - - let script = ` - (xor - (seq - (seq - (seq - (seq - (seq - (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (call %init_peer_id% ("getDataSrv" "node") [] node) - ) - (call %init_peer_id% ("getDataSrv" "cid") [] cid) - ) - (call %init_peer_id% ("getDataSrv" "from") [] from) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call node ("aqua-ipfs" "get_from") [cid from] result) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - ) - ) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call %init_peer_id% ("callbackSrv" "response") [result]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) - ) - ) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) - ) - ` - return callFunction( - args, - { - "functionName" : "get_from", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "node", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "cid", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "from", - "argType" : { - "tag" : "primitive" - } - } - ], - "names" : { - "relay" : "-relay-", - "getDataSrv" : "getDataSrv", - "callbackSrv" : "callbackSrv", - "responseSrv" : "callbackSrv", - "responseFnName" : "response", - "errorHandlingSrv" : "errorHandlingSrv", - "errorFnName" : "error" - } -}, - script - ) -} - - -export type Get_local_api_multiaddrResult = { error: string; multiaddr: string; success: boolean; } -export function get_local_api_multiaddr(node: string, config?: {ttl?: number}): Promise; -export function get_local_api_multiaddr(peer: FluencePeer, node: string, config?: {ttl?: number}): Promise; -export function get_local_api_multiaddr(...args: any) { - - let script = ` - (xor - (seq - (seq - (seq - (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (call %init_peer_id% ("getDataSrv" "node") [] node) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call node ("aqua-ipfs" "get_local_api_multiaddr") [] result) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - ) - ) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call %init_peer_id% ("callbackSrv" "response") [result]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) - ) - ) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) - ) - ` - return callFunction( - args, - { - "functionName" : "get_local_api_multiaddr", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "node", - "argType" : { - "tag" : "primitive" - } - } - ], - "names" : { - "relay" : "-relay-", - "getDataSrv" : "getDataSrv", - "callbackSrv" : "callbackSrv", - "responseSrv" : "callbackSrv", - "responseFnName" : "response", - "errorHandlingSrv" : "errorHandlingSrv", - "errorFnName" : "error" - } -}, - script - ) -} - - -export type Get_external_swarm_multiaddrResult = { error: string; multiaddr: string; success: boolean; } -export function get_external_swarm_multiaddr(node: string, config?: {ttl?: number}): Promise; -export function get_external_swarm_multiaddr(peer: FluencePeer, node: string, config?: {ttl?: number}): Promise; -export function get_external_swarm_multiaddr(...args: any) { - - let script = ` - (xor - (seq - (seq - (seq - (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (call %init_peer_id% ("getDataSrv" "node") [] node) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call node ("aqua-ipfs" "get_external_swarm_multiaddr") [] result) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - ) - ) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call %init_peer_id% ("callbackSrv" "response") [result]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) - ) - ) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) - ) - ` - return callFunction( - args, - { - "functionName" : "get_external_swarm_multiaddr", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "node", - "argType" : { - "tag" : "primitive" - } - } - ], - "names" : { - "relay" : "-relay-", - "getDataSrv" : "getDataSrv", - "callbackSrv" : "callbackSrv", - "responseSrv" : "callbackSrv", - "responseFnName" : "response", - "errorHandlingSrv" : "errorHandlingSrv", - "errorFnName" : "error" - } -}, - script - ) -} - - -export type PutResult = { error: string; hash: string; success: boolean; } -export function put(node: string, path: string, config?: {ttl?: number}): Promise; -export function put(peer: FluencePeer, node: string, path: string, config?: {ttl?: number}): Promise; -export function put(...args: any) { - - let script = ` - (xor - (seq - (seq - (seq - (seq - (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (call %init_peer_id% ("getDataSrv" "node") [] node) - ) - (call %init_peer_id% ("getDataSrv" "path") [] path) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call node ("aqua-ipfs" "put") [path] result) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - ) - ) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call %init_peer_id% ("callbackSrv" "response") [result]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) - ) - ) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) - ) - ` - return callFunction( - args, - { - "functionName" : "put", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "node", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "path", - "argType" : { - "tag" : "primitive" - } - } - ], - "names" : { - "relay" : "-relay-", - "getDataSrv" : "getDataSrv", - "callbackSrv" : "callbackSrv", - "responseSrv" : "callbackSrv", - "responseFnName" : "response", - "errorHandlingSrv" : "errorHandlingSrv", - "errorFnName" : "error" - } -}, - script - ) -} - - -export type Get_external_api_multiaddrResult = { error: string; multiaddr: string; success: boolean; } -export function get_external_api_multiaddr(node: string, config?: {ttl?: number}): Promise; -export function get_external_api_multiaddr(peer: FluencePeer, node: string, config?: {ttl?: number}): Promise; -export function get_external_api_multiaddr(...args: any) { - - let script = ` - (xor - (seq - (seq - (seq - (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (call %init_peer_id% ("getDataSrv" "node") [] node) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call node ("aqua-ipfs" "get_external_api_multiaddr") [] result) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - ) - ) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call %init_peer_id% ("callbackSrv" "response") [result]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) - ) - ) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) - ) - ` - return callFunction( - args, - { - "functionName" : "get_external_api_multiaddr", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "node", - "argType" : { - "tag" : "primitive" - } - } - ], - "names" : { - "relay" : "-relay-", - "getDataSrv" : "getDataSrv", - "callbackSrv" : "callbackSrv", - "responseSrv" : "callbackSrv", - "responseFnName" : "response", - "errorHandlingSrv" : "errorHandlingSrv", - "errorFnName" : "error" - } -}, - script - ) -} diff --git a/aqua-examples/aqua-ipfs-integration/aqua/src/index.ts b/aqua-examples/aqua-ipfs-integration/aqua/src/index.ts deleted file mode 100644 index 5256592..0000000 --- a/aqua-examples/aqua-ipfs-integration/aqua/src/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./process"; -export * from "./exports"; diff --git a/aqua-examples/aqua-ipfs-integration/aqua/src/process.ts b/aqua-examples/aqua-ipfs-integration/aqua/src/process.ts deleted file mode 100644 index 21f609f..0000000 --- a/aqua-examples/aqua-ipfs-integration/aqua/src/process.ts +++ /dev/null @@ -1,622 +0,0 @@ -/** - * - * This file is auto-generated. Do not edit manually: changes may be erased. - * Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. - * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues - * Aqua version: 0.4.0-235 - * - */ -import { Fluence, FluencePeer } from '@fluencelabs/fluence'; -import { - CallParams, - callFunction, - registerService, -} from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; - - -// Services - -export interface StringOpDef { - array: (s: string, callParams: CallParams<'s'>) => string[] | Promise; -} -export function registerStringOp(service: StringOpDef): void; -export function registerStringOp(serviceId: string, service: StringOpDef): void; -export function registerStringOp(peer: FluencePeer, service: StringOpDef): void; -export function registerStringOp(peer: FluencePeer, serviceId: string, service: StringOpDef): void; - - -export function registerStringOp(...args: any) { - registerService( - args, - { - "defaultServiceId" : "op", - "functions" : [ - { - "functionName" : "array", - "argDefs" : [ - { - "name" : "s", - "argType" : { - "tag" : "primitive" - } - } - ], - "returnType" : { - "tag" : "primitive" - } - } - ] -} - ); -} - -// Functions - - -export function add_blueprint(module_hash: string, config?: {ttl?: number}): Promise; -export function add_blueprint(peer: FluencePeer, module_hash: string, config?: {ttl?: number}): Promise; -export function add_blueprint(...args: any) { - - let script = ` - (xor - (seq - (seq - (seq - (seq - (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (call %init_peer_id% ("getDataSrv" "module_hash") [] module_hash) - ) - (call %init_peer_id% ("op" "concat_strings") ["hash:" module_hash] prefixed_hash) - ) - (call %init_peer_id% ("op" "array") [prefixed_hash] dependencies) - ) - (call %init_peer_id% ("dist" "make_blueprint") ["process_files" dependencies] blueprint) - ) - (call %init_peer_id% ("dist" "add_blueprint") [blueprint] blueprint_id) - ) - (xor - (call %init_peer_id% ("callbackSrv" "response") [blueprint_id]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - ) - ) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) - ) - ` - return callFunction( - args, - { - "functionName" : "add_blueprint", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "module_hash", - "argType" : { - "tag" : "primitive" - } - } - ], - "names" : { - "relay" : "-relay-", - "getDataSrv" : "getDataSrv", - "callbackSrv" : "callbackSrv", - "responseSrv" : "callbackSrv", - "responseFnName" : "response", - "errorHandlingSrv" : "errorHandlingSrv", - "errorFnName" : "error" - } -}, - script - ) -} - - - -export function put_file_size(relay: string, cid: string, ipfs: string, service_id: string, logSize: (arg0: number, callParams: CallParams<'arg0'>) => void | Promise, error: (arg0: string, arg1: string, callParams: CallParams<'arg0' | 'arg1'>) => void | Promise, config?: {ttl?: number}): Promise<{ error: string; hash: string; success: boolean; } | null>; -export function put_file_size(peer: FluencePeer, relay: string, cid: string, ipfs: string, service_id: string, logSize: (arg0: number, callParams: CallParams<'arg0'>) => void | Promise, error: (arg0: string, arg1: string, callParams: CallParams<'arg0' | 'arg1'>) => void | Promise, config?: {ttl?: number}): Promise<{ error: string; hash: string; success: boolean; } | null>; -export function put_file_size(...args: any) { - - let script = ` - (xor - (seq - (seq - (seq - (seq - (seq - (seq - (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (call %init_peer_id% ("getDataSrv" "relay") [] relay) - ) - (call %init_peer_id% ("getDataSrv" "cid") [] cid) - ) - (call %init_peer_id% ("getDataSrv" "ipfs") [] ipfs) - ) - (call %init_peer_id% ("getDataSrv" "service_id") [] service_id) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (seq - (call relay ("aqua-ipfs" "get_from") [cid ipfs] get) - (xor - (match get.$.success! true - (xor - (seq - (call relay (service_id "file_size") [get.$.path!] size) - (xor - (match size.$.success! true - (xor - (seq - (seq - (par - (seq - (call -relay- ("op" "noop") []) - (xor - (call %init_peer_id% ("callbackSrv" "logSize") [size.$.size!]) - (seq - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - (call -relay- ("op" "noop") []) - ) - ) - ) - (null) - ) - (call relay (service_id "write_file_size") [size.$.size!] write) - ) - (xor - (match write.$.success! true - (xor - (call relay ("aqua-ipfs" "put") [write.$.path!] $result) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) - ) - ) - ) - (par - (seq - (call -relay- ("op" "noop") []) - (xor - (call %init_peer_id% ("callbackSrv" "error") ["ProcessFiles.write_file_size failed" write.$.error!]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) - ) - ) - (null) - ) - ) - ) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4]) - ) - ) - ) - (par - (seq - (call -relay- ("op" "noop") []) - (xor - (call %init_peer_id% ("callbackSrv" "error") ["ProcessFiles.file_size failed" size.$.error!]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 5]) - ) - ) - (null) - ) - ) - ) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 6]) - ) - ) - ) - (par - (seq - (call -relay- ("op" "noop") []) - (xor - (call %init_peer_id% ("callbackSrv" "error") ["Ipfs.get_from failed" get.$.error!]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 7]) - ) - ) - (null) - ) - ) - ) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 8]) - ) - ) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call %init_peer_id% ("callbackSrv" "response") [$result]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 9]) - ) - ) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 10]) - ) - ` - return callFunction( - args, - { - "functionName" : "put_file_size", - "returnType" : { - "tag" : "optional" - }, - "argDefs" : [ - { - "name" : "relay", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "cid", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "ipfs", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "service_id", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "logSize", - "argType" : { - "tag" : "callback", - "callback" : { - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } - } - ], - "returnType" : { - "tag" : "void" - } - } - } - }, - { - "name" : "error", - "argType" : { - "tag" : "callback", - "callback" : { - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "arg1", - "argType" : { - "tag" : "primitive" - } - } - ], - "returnType" : { - "tag" : "void" - } - } - } - } - ], - "names" : { - "relay" : "-relay-", - "getDataSrv" : "getDataSrv", - "callbackSrv" : "callbackSrv", - "responseSrv" : "callbackSrv", - "responseFnName" : "response", - "errorHandlingSrv" : "errorHandlingSrv", - "errorFnName" : "error" - } -}, - script - ) -} - - - -export function remove_service(relay: string, service_id: string, config?: {ttl?: number}): Promise; -export function remove_service(peer: FluencePeer, relay: string, service_id: string, config?: {ttl?: number}): Promise; -export function remove_service(...args: any) { - - let script = ` - (xor - (seq - (seq - (seq - (seq - (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (call %init_peer_id% ("getDataSrv" "relay") [] relay) - ) - (call %init_peer_id% ("getDataSrv" "service_id") [] service_id) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call relay ("srv" "remove") [service_id]) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - ) - ) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call %init_peer_id% ("callbackSrv" "response") [true]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) - ) - ) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) - ) - ` - return callFunction( - args, - { - "functionName" : "remove_service", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "relay", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "service_id", - "argType" : { - "tag" : "primitive" - } - } - ], - "names" : { - "relay" : "-relay-", - "getDataSrv" : "getDataSrv", - "callbackSrv" : "callbackSrv", - "responseSrv" : "callbackSrv", - "responseFnName" : "response", - "errorHandlingSrv" : "errorHandlingSrv", - "errorFnName" : "error" - } -}, - script - ) -} - - - -export function add_module(name: string, path: string, config?: {ttl?: number}): Promise; -export function add_module(peer: FluencePeer, name: string, path: string, config?: {ttl?: number}): Promise; -export function add_module(...args: any) { - - let script = ` - (xor - (seq - (seq - (seq - (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (call %init_peer_id% ("getDataSrv" "name") [] name) - ) - (call %init_peer_id% ("getDataSrv" "path") [] path) - ) - (call %init_peer_id% ("dist" "default_module_config") [name] config) - ) - (call %init_peer_id% ("dist" "add_module_from_vault") [path config] module_hash) - ) - (xor - (call %init_peer_id% ("callbackSrv" "response") [module_hash]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - ) - ) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) - ) - ` - return callFunction( - args, - { - "functionName" : "add_module", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "name", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "path", - "argType" : { - "tag" : "primitive" - } - } - ], - "names" : { - "relay" : "-relay-", - "getDataSrv" : "getDataSrv", - "callbackSrv" : "callbackSrv", - "responseSrv" : "callbackSrv", - "responseFnName" : "response", - "errorHandlingSrv" : "errorHandlingSrv", - "errorFnName" : "error" - } -}, - script - ) -} - - - -export function deploy_service(relay: string, cid: string, ipfs: string, error: (arg0: string, arg1: string, callParams: CallParams<'arg0' | 'arg1'>) => void | Promise, config?: {ttl?: number}): Promise; -export function deploy_service(peer: FluencePeer, relay: string, cid: string, ipfs: string, error: (arg0: string, arg1: string, callParams: CallParams<'arg0' | 'arg1'>) => void | Promise, config?: {ttl?: number}): Promise; -export function deploy_service(...args: any) { - - let script = ` - (xor - (seq - (seq - (seq - (seq - (seq - (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (call %init_peer_id% ("getDataSrv" "relay") [] relay) - ) - (call %init_peer_id% ("getDataSrv" "cid") [] cid) - ) - (call %init_peer_id% ("getDataSrv" "ipfs") [] ipfs) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (seq - (call relay ("aqua-ipfs" "get_from") [cid ipfs] get_result) - (xor - (match get_result.$.success! true - (xor - (seq - (seq - (seq - (seq - (seq - (seq - (call relay ("dist" "default_module_config") ["process_files"] config) - (call relay ("dist" "add_module_from_vault") [get_result.$.path! config] module_hash) - ) - (call relay ("op" "concat_strings") ["hash:" module_hash] prefixed_hash) - ) - (call relay ("op" "array") [prefixed_hash] dependencies) - ) - (call relay ("dist" "make_blueprint") ["process_files" dependencies] blueprint) - ) - (call relay ("dist" "add_blueprint") [blueprint] blueprint_id) - ) - (call relay ("srv" "create") [blueprint_id] $service_id) - ) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - ) - ) - ) - (par - (seq - (call -relay- ("op" "noop") []) - (xor - (call %init_peer_id% ("callbackSrv" "error") ["Ipfs.get_from failed" get_result.$.error!]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) - ) - ) - (null) - ) - ) - ) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) - ) - ) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call %init_peer_id% ("callbackSrv" "response") [$service_id]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4]) - ) - ) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 5]) - ) - ` - return callFunction( - args, - { - "functionName" : "deploy_service", - "returnType" : { - "tag" : "optional" - }, - "argDefs" : [ - { - "name" : "relay", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "cid", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "ipfs", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "error", - "argType" : { - "tag" : "callback", - "callback" : { - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "arg1", - "argType" : { - "tag" : "primitive" - } - } - ], - "returnType" : { - "tag" : "void" - } - } - } - } - ], - "names" : { - "relay" : "-relay-", - "getDataSrv" : "getDataSrv", - "callbackSrv" : "callbackSrv", - "responseSrv" : "callbackSrv", - "responseFnName" : "response", - "errorHandlingSrv" : "errorHandlingSrv", - "errorFnName" : "error" - } -}, - script - ) -} diff --git a/aqua-examples/aqua-ipfs-integration/nodejs/package.json b/aqua-examples/aqua-ipfs-integration/nodejs/package.json index 2f3cb43..806736e 100644 --- a/aqua-examples/aqua-ipfs-integration/nodejs/package.json +++ b/aqua-examples/aqua-ipfs-integration/nodejs/package.json @@ -24,8 +24,7 @@ "license": "MIT", "dependencies": { "@fluencelabs/ipfs-execution-aqua": "file:../aqua", - "@fluencelabs/aqua": "0.3.0-225", - "@fluencelabs/fluence": "^0.14.3", + "@fluencelabs/fluence": "0.17.0", "@fluencelabs/fluence-network-environment": "1.0.10", "@fluencelabs/aqua-lib": "0.1.14", "@fluencelabs/aqua-ipfs": "0.4.2", @@ -35,6 +34,8 @@ "multiaddr": "^10.0.0" }, "devDependencies": { + "@fluencelabs/aqua": "^0.5.2-256", + "@fluencelabs/aqua-lib": "^0.3.2", "typescript": "^4.0.0" } } diff --git a/aqua-examples/aqua-ipfs-integration/package-lock.json b/aqua-examples/aqua-ipfs-integration/package-lock.json index 8bd6ec5..6c98bb3 100644 --- a/aqua-examples/aqua-ipfs-integration/package-lock.json +++ b/aqua-examples/aqua-ipfs-integration/package-lock.json @@ -11,7 +11,7 @@ "web" ], "dependencies": { - "@fluencelabs/fluence": "^0.14.3", + "@fluencelabs/fluence": "0.17.0", "typescript": "^4.4.4" }, "devDependencies": { @@ -29,8 +29,7 @@ "license": "MIT", "dependencies": { "@fluencelabs/aqua-ipfs": "0.4.2", - "@fluencelabs/aqua-lib": "0.1.14", - "@fluencelabs/fluence": "^0.14.2", + "@fluencelabs/fluence": "0.17.0", "@fluencelabs/fluence-network-environment": "1.0.10", "ipfs-http-client": "^50.1.2", "it-all": "^1.0.5", @@ -38,10 +37,17 @@ "uint8arrays": "^2.1.5" }, "devDependencies": { - "@fluencelabs/aqua": "^0.4.0-235", + "@fluencelabs/aqua": "^0.5.2-256", + "@fluencelabs/aqua-lib": "^0.3.2", "typescript": "^4.0.0" } }, + "aqua/node_modules/@fluencelabs/aqua-lib": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.3.2.tgz", + "integrity": "sha512-8+NKFwRg9SFzpbac1SvvTWcOgHhMoYZwRyb93qJRcNFaN7xjRcA8v0i6CF7Mkjno1zH3xixC9J44+LKQd8uvzA==", + "dev": true + }, "node_modules/@babel/code-frame": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", @@ -1975,12 +1981,15 @@ } }, "node_modules/@fluencelabs/aqua": { - "version": "0.4.0-235", - "resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.4.0-235.tgz", - "integrity": "sha512-tbbHG3dhlwcSzlHMPoV4/MLW6JE00q3hiyznjLh+aW91ovBAXuWe5C1n9CKeRiJtYz3yIQCn2l3arI/PvzLx9Q==", + "version": "0.5.2-256", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.5.2-256.tgz", + "integrity": "sha512-LYIXXn/dS0yIOefsd0r2fVcir2fWxnY4aKsf+NDchcGShfQ92Xoqmy7KUtiBdK6uUfZIdNvQb/omeg2gtxNziA==", "dev": true, "dependencies": { - "@fluencelabs/fluence": "0.12.1" + "@fluencelabs/aqua-ipfs": "0.5.2", + "@fluencelabs/aqua-lib": "0.2.1", + "@fluencelabs/fluence": "0.15.2", + "ipfs-http-client": "50.1.2" }, "bin": { "aqua": "index.js", @@ -2000,14 +2009,35 @@ "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.1.14.tgz", "integrity": "sha512-H2Q4gIvociUxc4J2mwmH0D+mrU2N2Z+enKCHgBCanMVEE2wZDsZ80GTbDKsQjEq+gpqbnJIk8lJBYW6lyvLJTg==" }, + "node_modules/@fluencelabs/aqua/node_modules/@fluencelabs/aqua-ipfs": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-ipfs/-/aqua-ipfs-0.5.2.tgz", + "integrity": "sha512-vSZYH6mjCGly7Cifts1c84icAzeq6pQf3aspEW3ttA0AFVQTjDWlr86Imseg+p3I9oaNUykv/W+VqWX1ouj9Vg==", + "dev": true, + "dependencies": { + "@fluencelabs/aqua-lib": "^0.1.14" + } + }, + "node_modules/@fluencelabs/aqua/node_modules/@fluencelabs/aqua-ipfs/node_modules/@fluencelabs/aqua-lib": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.1.14.tgz", + "integrity": "sha512-H2Q4gIvociUxc4J2mwmH0D+mrU2N2Z+enKCHgBCanMVEE2wZDsZ80GTbDKsQjEq+gpqbnJIk8lJBYW6lyvLJTg==", + "dev": true + }, + "node_modules/@fluencelabs/aqua/node_modules/@fluencelabs/aqua-lib": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.2.1.tgz", + "integrity": "sha512-uLP9mbgFHR1Q1FYhehasNxNBlTclBsjNI9MvIPF8oXtVJtnvPi+R4rGGTOHtRJukunxhpAV/svWQU9a2BRyDmQ==", + "dev": true + }, "node_modules/@fluencelabs/aqua/node_modules/@fluencelabs/fluence": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.12.1.tgz", - "integrity": "sha512-JrMKMHjYILAHQsLLd5H0fLt/UMZv+/PQYxJYe6h9HFyJlZrN1bUV+EcZnUw1u3DZE5k/RXBx0udfmkahggwrqA==", + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.15.2.tgz", + "integrity": "sha512-RWGh70XkqcJusaqB4TR0tVBSVkzlMU9krwALQmgilLTxaSBMPtB6xMt13ceEJ/G6BwsLZWdgY2Wy6GvdSheKaw==", "dev": true, "dependencies": { "@chainsafe/libp2p-noise": "4.0.0", - "@fluencelabs/avm": "0.14.4", + "@fluencelabs/avm": "0.16.0-restriction-operator.9", "async": "3.2.0", "base64-js": "1.5.1", "bs58": "4.0.1", @@ -2021,6 +2051,8 @@ "loglevel": "1.7.0", "multiaddr": "10.0.0", "peer-id": "0.15.3", + "rxjs": "^7.3.0", + "ts-pattern": "^3.3.3", "uuid": "8.3.0" } }, @@ -2045,23 +2077,42 @@ "dev": true }, "node_modules/@fluencelabs/avm": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.14.4.tgz", - "integrity": "sha512-XyR+1H5k0CAc+mDHOkl81viX8XeW1Yqbw793xbsfUfju5bUb/hqk+gHv3q8lAFdbrCG5P45gdOT08a5RNODZaQ==", + "version": "0.16.0-restriction-operator.9", + "resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.16.0-restriction-operator.9.tgz", + "integrity": "sha512-34vJqo8TIho5H2+WhEAJOa6WxAPiS+c7Z3WKmRZVi+GAsZN3Hv2NiuiCFNFBmPRoD+juzHe4Dmv5cF7HZc6O6w==", "dev": true, "dependencies": { "base64-js": "1.5.1" } }, + "node_modules/@fluencelabs/avm-runner-background": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@fluencelabs/avm-runner-background/-/avm-runner-background-0.1.1.tgz", + "integrity": "sha512-XUnw3eUakBDngLZMIhTUXIT3Oz6N+6aclo7p2YIvjRHqhUUnL5/VEZcbuxLdkdzMdSdbQE7C/btKNVTO2kWJBw==", + "dependencies": { + "@fluencelabs/avm-runner-interface": "^0.2.0", + "browser-or-node": "^2.0.0", + "threads": "^1.7.0" + }, + "bin": { + "copy-avm-runner": "dist/copyRunnerScript.js" + } + }, + "node_modules/@fluencelabs/avm-runner-interface": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@fluencelabs/avm-runner-interface/-/avm-runner-interface-0.2.0.tgz", + "integrity": "sha512-Y41pL+UwZZVdormxju8cJQsNRp6tdER0VqJ9Kg9gH2wd1KJAaYTJkyVbn8NB7fEFRUbqfbb1BXHi9wWBYOgGYQ==" + }, "node_modules/@fluencelabs/fluence": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.14.3.tgz", - "integrity": "sha512-JlF/B9Wtz0VMBJIfA+hZYZt44nX5AIJzgkhfbT1fKfwzb1CvS6IYaaH6PE8vLcBm556sJic94yYL++FpQrJUmQ==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.17.0.tgz", + "integrity": "sha512-7GgDh+fonc0bWIMdM4iOH2/XVJdbPTyoLWedT1lQkrei3iBaTGZI6BzFcG0cYpBvy1i6w4XPxFDf08o3t/GR8g==", "dependencies": { "@chainsafe/libp2p-noise": "4.0.0", - "@fluencelabs/avm": "0.16.7", + "@fluencelabs/avm": "0.19.6", + "@fluencelabs/avm-runner-background": "0.1.1", + "@fluencelabs/avm-runner-interface": "^0.2.0", "async": "3.2.0", - "base64-js": "1.5.1", "bs58": "4.0.1", "cids": "0.8.1", "it-length-prefixed": "3.0.1", @@ -2076,6 +2127,9 @@ "rxjs": "^7.3.0", "ts-pattern": "^3.3.3", "uuid": "8.3.0" + }, + "bin": { + "copy-avm-public": "dist/tools/copyAvmPublic.js" } }, "node_modules/@fluencelabs/fluence-network-environment": { @@ -2084,11 +2138,11 @@ "integrity": "sha512-aaWZDDFIIasSTgdFdw1KEz+boZMSn7pXffUENZNLX4DrP11rC3AEX4c8GnIJQbWqGsouOFZOPna2DSG6o2rLNQ==" }, "node_modules/@fluencelabs/fluence/node_modules/@fluencelabs/avm": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.16.7.tgz", - "integrity": "sha512-tSbEBRdHTz6PCxLuzEWe3ayZQeDiuJu/Dw0qJmdpYe6eJf0jSwUnAnRaEOv2d0ILnzT1b4us9tCKOhac41YlLg==", - "dependencies": { - "base64-js": "1.5.1" + "version": "0.19.6", + "resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.19.6.tgz", + "integrity": "sha512-T6UQsIuGVltf13Wc3bFmuCYmQzu/00Y4lPS7atBauQ2R4+BqhRg1dc5reSZ+MbAW3Vy+NmJY1EEYOFRpLCGBwg==", + "bin": { + "copy-avm": "dist/copyAvm.js" } }, "node_modules/@fluencelabs/fluence/node_modules/multiaddr": { @@ -5515,6 +5569,11 @@ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, + "node_modules/browser-or-node": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-2.0.0.tgz", + "integrity": "sha512-3Lrks/Okgof+/cRguUNG+qRXSeq79SO3hY4QrXJayJofwJwHiGC0qi99uDjsfTwULUFSr1OGVsBkdIkygKjTUA==" + }, "node_modules/browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", @@ -8812,6 +8871,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "optional": true, + "engines": { + "node": ">=6" + } + }, "node_modules/espree": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", @@ -12549,6 +12617,17 @@ "node": ">=0.10.0" } }, + "node_modules/is-observable": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-2.1.0.tgz", + "integrity": "sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-path-cwd": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", @@ -16779,6 +16858,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/observable-fns": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/observable-fns/-/observable-fns-0.6.1.tgz", + "integrity": "sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg==" + }, "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -22811,6 +22895,23 @@ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, + "node_modules/threads": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/threads/-/threads-1.7.0.tgz", + "integrity": "sha512-Mx5NBSHX3sQYR6iI9VYbgHKBLisyB+xROCBGjjWm1O9wb9vfLxdaGtmT/KCjUqMsSNW6nERzCW3T6H43LqjDZQ==", + "dependencies": { + "callsites": "^3.1.0", + "debug": "^4.2.0", + "is-observable": "^2.1.0", + "observable-fns": "^0.6.1" + }, + "funding": { + "url": "https://github.com/andywer/threads.js?sponsor=1" + }, + "optionalDependencies": { + "tiny-worker": ">= 2" + } + }, "node_modules/throat": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", @@ -22887,6 +22988,15 @@ "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" }, + "node_modules/tiny-worker": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.3.0.tgz", + "integrity": "sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==", + "optional": true, + "dependencies": { + "esm": "^3.2.25" + } + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -25641,10 +25751,9 @@ "version": "0.1.0", "license": "MIT", "dependencies": { - "@fluencelabs/aqua": "0.3.0-225", "@fluencelabs/aqua-ipfs": "0.4.2", "@fluencelabs/aqua-lib": "0.1.14", - "@fluencelabs/fluence": "^0.14.3", + "@fluencelabs/fluence": "0.17.0", "@fluencelabs/fluence-network-environment": "1.0.10", "@fluencelabs/ipfs-execution-aqua": "file:../aqua", "ipfs-http-client": "^50.1.2", @@ -25653,25 +25762,23 @@ "uint8arrays": "^2.1.5" }, "devDependencies": { + "@fluencelabs/aqua": "^0.5.2-256", + "@fluencelabs/aqua-lib": "^0.3.2", "typescript": "^4.0.0" } }, - "nodejs/node_modules/@fluencelabs/aqua": { - "version": "0.3.0-225", - "resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.3.0-225.tgz", - "integrity": "sha512-FQYZe9o9vehiGXjL0Y6WpehRBzXwo4wqIJjwoUP0prGNZFU1nC2IwiRu5O5AvF/sbNcO4FS6eNYNQEMp4lKETQ==", - "bin": { - "aqua": "index.js", - "aqua-cli": "error.js", - "aqua-j": "index-java.js" - } + "nodejs/node_modules/@fluencelabs/aqua-lib": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.3.2.tgz", + "integrity": "sha512-8+NKFwRg9SFzpbac1SvvTWcOgHhMoYZwRyb93qJRcNFaN7xjRcA8v0i6CF7Mkjno1zH3xixC9J44+LKQd8uvzA==", + "dev": true }, "web": { "name": "ipfs-aqua-browser", "version": "0.1.0", + "hasInstallScript": true, "dependencies": { - "@fluencelabs/aqua-lib": "0.1.14", - "@fluencelabs/fluence": "^0.14.3", + "@fluencelabs/fluence": "0.17.0", "@fluencelabs/fluence-network-environment": "1.0.10", "@fluencelabs/ipfs-execution-aqua": "file:../aqua", "@testing-library/jest-dom": "^5.14.1", @@ -25691,8 +25798,15 @@ "web-vitals": "^1.1.2" }, "devDependencies": { + "@fluencelabs/aqua-lib": "^0.3.2", "node-sass": "^6.0.1" } + }, + "web/node_modules/@fluencelabs/aqua-lib": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.3.2.tgz", + "integrity": "sha512-8+NKFwRg9SFzpbac1SvvTWcOgHhMoYZwRyb93qJRcNFaN7xjRcA8v0i6CF7Mkjno1zH3xixC9J44+LKQd8uvzA==", + "dev": true } }, "dependencies": { @@ -27020,22 +27134,48 @@ } }, "@fluencelabs/aqua": { - "version": "0.4.0-235", - "resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.4.0-235.tgz", - "integrity": "sha512-tbbHG3dhlwcSzlHMPoV4/MLW6JE00q3hiyznjLh+aW91ovBAXuWe5C1n9CKeRiJtYz3yIQCn2l3arI/PvzLx9Q==", + "version": "0.5.2-256", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.5.2-256.tgz", + "integrity": "sha512-LYIXXn/dS0yIOefsd0r2fVcir2fWxnY4aKsf+NDchcGShfQ92Xoqmy7KUtiBdK6uUfZIdNvQb/omeg2gtxNziA==", "dev": true, "requires": { - "@fluencelabs/fluence": "0.12.1" + "@fluencelabs/aqua-ipfs": "0.5.2", + "@fluencelabs/aqua-lib": "0.2.1", + "@fluencelabs/fluence": "0.15.2", + "ipfs-http-client": "50.1.2" }, "dependencies": { + "@fluencelabs/aqua-ipfs": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-ipfs/-/aqua-ipfs-0.5.2.tgz", + "integrity": "sha512-vSZYH6mjCGly7Cifts1c84icAzeq6pQf3aspEW3ttA0AFVQTjDWlr86Imseg+p3I9oaNUykv/W+VqWX1ouj9Vg==", + "dev": true, + "requires": { + "@fluencelabs/aqua-lib": "^0.1.14" + }, + "dependencies": { + "@fluencelabs/aqua-lib": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.1.14.tgz", + "integrity": "sha512-H2Q4gIvociUxc4J2mwmH0D+mrU2N2Z+enKCHgBCanMVEE2wZDsZ80GTbDKsQjEq+gpqbnJIk8lJBYW6lyvLJTg==", + "dev": true + } + } + }, + "@fluencelabs/aqua-lib": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.2.1.tgz", + "integrity": "sha512-uLP9mbgFHR1Q1FYhehasNxNBlTclBsjNI9MvIPF8oXtVJtnvPi+R4rGGTOHtRJukunxhpAV/svWQU9a2BRyDmQ==", + "dev": true + }, "@fluencelabs/fluence": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.12.1.tgz", - "integrity": "sha512-JrMKMHjYILAHQsLLd5H0fLt/UMZv+/PQYxJYe6h9HFyJlZrN1bUV+EcZnUw1u3DZE5k/RXBx0udfmkahggwrqA==", + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.15.2.tgz", + "integrity": "sha512-RWGh70XkqcJusaqB4TR0tVBSVkzlMU9krwALQmgilLTxaSBMPtB6xMt13ceEJ/G6BwsLZWdgY2Wy6GvdSheKaw==", "dev": true, "requires": { "@chainsafe/libp2p-noise": "4.0.0", - "@fluencelabs/avm": "0.14.4", + "@fluencelabs/avm": "0.16.0-restriction-operator.9", "async": "3.2.0", "base64-js": "1.5.1", "bs58": "4.0.1", @@ -27049,6 +27189,8 @@ "loglevel": "1.7.0", "multiaddr": "10.0.0", "peer-id": "0.15.3", + "rxjs": "^7.3.0", + "ts-pattern": "^3.3.3", "uuid": "8.3.0" } }, @@ -27088,23 +27230,39 @@ "integrity": "sha512-H2Q4gIvociUxc4J2mwmH0D+mrU2N2Z+enKCHgBCanMVEE2wZDsZ80GTbDKsQjEq+gpqbnJIk8lJBYW6lyvLJTg==" }, "@fluencelabs/avm": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.14.4.tgz", - "integrity": "sha512-XyR+1H5k0CAc+mDHOkl81viX8XeW1Yqbw793xbsfUfju5bUb/hqk+gHv3q8lAFdbrCG5P45gdOT08a5RNODZaQ==", + "version": "0.16.0-restriction-operator.9", + "resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.16.0-restriction-operator.9.tgz", + "integrity": "sha512-34vJqo8TIho5H2+WhEAJOa6WxAPiS+c7Z3WKmRZVi+GAsZN3Hv2NiuiCFNFBmPRoD+juzHe4Dmv5cF7HZc6O6w==", "dev": true, "requires": { "base64-js": "1.5.1" } }, + "@fluencelabs/avm-runner-background": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@fluencelabs/avm-runner-background/-/avm-runner-background-0.1.1.tgz", + "integrity": "sha512-XUnw3eUakBDngLZMIhTUXIT3Oz6N+6aclo7p2YIvjRHqhUUnL5/VEZcbuxLdkdzMdSdbQE7C/btKNVTO2kWJBw==", + "requires": { + "@fluencelabs/avm-runner-interface": "^0.2.0", + "browser-or-node": "^2.0.0", + "threads": "^1.7.0" + } + }, + "@fluencelabs/avm-runner-interface": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@fluencelabs/avm-runner-interface/-/avm-runner-interface-0.2.0.tgz", + "integrity": "sha512-Y41pL+UwZZVdormxju8cJQsNRp6tdER0VqJ9Kg9gH2wd1KJAaYTJkyVbn8NB7fEFRUbqfbb1BXHi9wWBYOgGYQ==" + }, "@fluencelabs/fluence": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.14.3.tgz", - "integrity": "sha512-JlF/B9Wtz0VMBJIfA+hZYZt44nX5AIJzgkhfbT1fKfwzb1CvS6IYaaH6PE8vLcBm556sJic94yYL++FpQrJUmQ==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.17.0.tgz", + "integrity": "sha512-7GgDh+fonc0bWIMdM4iOH2/XVJdbPTyoLWedT1lQkrei3iBaTGZI6BzFcG0cYpBvy1i6w4XPxFDf08o3t/GR8g==", "requires": { "@chainsafe/libp2p-noise": "4.0.0", - "@fluencelabs/avm": "0.16.7", + "@fluencelabs/avm": "0.19.6", + "@fluencelabs/avm-runner-background": "0.1.1", + "@fluencelabs/avm-runner-interface": "^0.2.0", "async": "3.2.0", - "base64-js": "1.5.1", "bs58": "4.0.1", "cids": "0.8.1", "it-length-prefixed": "3.0.1", @@ -27122,12 +27280,9 @@ }, "dependencies": { "@fluencelabs/avm": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.16.7.tgz", - "integrity": "sha512-tSbEBRdHTz6PCxLuzEWe3ayZQeDiuJu/Dw0qJmdpYe6eJf0jSwUnAnRaEOv2d0ILnzT1b4us9tCKOhac41YlLg==", - "requires": { - "base64-js": "1.5.1" - } + "version": "0.19.6", + "resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.19.6.tgz", + "integrity": "sha512-T6UQsIuGVltf13Wc3bFmuCYmQzu/00Y4lPS7atBauQ2R4+BqhRg1dc5reSZ+MbAW3Vy+NmJY1EEYOFRpLCGBwg==" }, "multiaddr": { "version": "10.0.0", @@ -27157,10 +27312,10 @@ "@fluencelabs/ipfs-execution": { "version": "file:nodejs", "requires": { - "@fluencelabs/aqua": "0.3.0-225", + "@fluencelabs/aqua": "^0.5.2-256", "@fluencelabs/aqua-ipfs": "0.4.2", - "@fluencelabs/aqua-lib": "0.1.14", - "@fluencelabs/fluence": "^0.14.3", + "@fluencelabs/aqua-lib": "^0.3.2", + "@fluencelabs/fluence": "0.17.0", "@fluencelabs/fluence-network-environment": "1.0.10", "@fluencelabs/ipfs-execution-aqua": "file:../aqua", "ipfs-http-client": "^50.1.2", @@ -27170,26 +27325,35 @@ "uint8arrays": "^2.1.5" }, "dependencies": { - "@fluencelabs/aqua": { - "version": "0.3.0-225", - "resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.3.0-225.tgz", - "integrity": "sha512-FQYZe9o9vehiGXjL0Y6WpehRBzXwo4wqIJjwoUP0prGNZFU1nC2IwiRu5O5AvF/sbNcO4FS6eNYNQEMp4lKETQ==" + "@fluencelabs/aqua-lib": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.3.2.tgz", + "integrity": "sha512-8+NKFwRg9SFzpbac1SvvTWcOgHhMoYZwRyb93qJRcNFaN7xjRcA8v0i6CF7Mkjno1zH3xixC9J44+LKQd8uvzA==", + "dev": true } } }, "@fluencelabs/ipfs-execution-aqua": { "version": "file:aqua", "requires": { - "@fluencelabs/aqua": "^0.4.0-235", + "@fluencelabs/aqua": "^0.5.2-256", "@fluencelabs/aqua-ipfs": "0.4.2", - "@fluencelabs/aqua-lib": "0.1.14", - "@fluencelabs/fluence": "^0.14.2", + "@fluencelabs/aqua-lib": "^0.3.2", + "@fluencelabs/fluence": "0.17.0", "@fluencelabs/fluence-network-environment": "1.0.10", "ipfs-http-client": "^50.1.2", "it-all": "^1.0.5", "multiaddr": "^10.0.0", "typescript": "^4.0.0", "uint8arrays": "^2.1.5" + }, + "dependencies": { + "@fluencelabs/aqua-lib": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.3.2.tgz", + "integrity": "sha512-8+NKFwRg9SFzpbac1SvvTWcOgHhMoYZwRyb93qJRcNFaN7xjRcA8v0i6CF7Mkjno1zH3xixC9J44+LKQd8uvzA==", + "dev": true + } } }, "@gar/promisify": { @@ -29956,6 +30120,11 @@ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, + "browser-or-node": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-2.0.0.tgz", + "integrity": "sha512-3Lrks/Okgof+/cRguUNG+qRXSeq79SO3hY4QrXJayJofwJwHiGC0qi99uDjsfTwULUFSr1OGVsBkdIkygKjTUA==" + }, "browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", @@ -32541,6 +32710,12 @@ } } }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "optional": true + }, "espree": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", @@ -34628,8 +34803,8 @@ "ipfs-aqua-browser": { "version": "file:web", "requires": { - "@fluencelabs/aqua-lib": "0.1.14", - "@fluencelabs/fluence": "^0.14.3", + "@fluencelabs/aqua-lib": "^0.3.2", + "@fluencelabs/fluence": "0.17.0", "@fluencelabs/fluence-network-environment": "1.0.10", "@fluencelabs/ipfs-execution-aqua": "file:../aqua", "@testing-library/jest-dom": "^5.14.1", @@ -34648,6 +34823,14 @@ "recoil": "^0.3.1", "typescript": "^4.3.5", "web-vitals": "^1.1.2" + }, + "dependencies": { + "@fluencelabs/aqua-lib": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.3.2.tgz", + "integrity": "sha512-8+NKFwRg9SFzpbac1SvvTWcOgHhMoYZwRyb93qJRcNFaN7xjRcA8v0i6CF7Mkjno1zH3xixC9J44+LKQd8uvzA==", + "dev": true + } } }, "ipfs-core-types": { @@ -35571,6 +35754,11 @@ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" }, + "is-observable": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-2.1.0.tgz", + "integrity": "sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw==" + }, "is-path-cwd": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", @@ -39038,6 +39226,11 @@ "es-abstract": "^1.18.2" } }, + "observable-fns": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/observable-fns/-/observable-fns-0.6.1.tgz", + "integrity": "sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg==" + }, "obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -43834,6 +44027,18 @@ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, + "threads": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/threads/-/threads-1.7.0.tgz", + "integrity": "sha512-Mx5NBSHX3sQYR6iI9VYbgHKBLisyB+xROCBGjjWm1O9wb9vfLxdaGtmT/KCjUqMsSNW6nERzCW3T6H43LqjDZQ==", + "requires": { + "callsites": "^3.1.0", + "debug": "^4.2.0", + "is-observable": "^2.1.0", + "observable-fns": "^0.6.1", + "tiny-worker": ">= 2" + } + }, "throat": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", @@ -43911,6 +44116,15 @@ "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" }, + "tiny-worker": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.3.0.tgz", + "integrity": "sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==", + "optional": true, + "requires": { + "esm": "^3.2.25" + } + }, "tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", diff --git a/aqua-examples/aqua-ipfs-integration/package.json b/aqua-examples/aqua-ipfs-integration/package.json index 1a7104a..3f19fd4 100644 --- a/aqua-examples/aqua-ipfs-integration/package.json +++ b/aqua-examples/aqua-ipfs-integration/package.json @@ -9,7 +9,7 @@ "build": "check-node-version --npm '>= 7' && npm run build -w aqua -w nodejs -w web" }, "dependencies": { - "@fluencelabs/fluence": "^0.14.3", + "@fluencelabs/fluence": "0.17.0", "typescript": "^4.4.4" }, "engines": { diff --git a/aqua-examples/aqua-ipfs-integration/web/package.json b/aqua-examples/aqua-ipfs-integration/web/package.json index 6c723fb..f5cf02a 100644 --- a/aqua-examples/aqua-ipfs-integration/web/package.json +++ b/aqua-examples/aqua-ipfs-integration/web/package.json @@ -4,9 +4,8 @@ "private": true, "dependencies": { "@fluencelabs/ipfs-execution-aqua": "file:../aqua", - "@fluencelabs/fluence": "^0.14.3", + "@fluencelabs/fluence": "0.17.0", "@fluencelabs/fluence-network-environment": "1.0.10", - "@fluencelabs/aqua-lib": "0.1.14", "@testing-library/jest-dom": "^5.14.1", "@testing-library/react": "^11.2.7", "@testing-library/user-event": "^12.8.3", @@ -24,6 +23,7 @@ "web-vitals": "^1.1.2" }, "scripts": { + "postinstall": "copy-avm-public public", "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", @@ -48,6 +48,7 @@ ] }, "devDependencies": { - "node-sass": "^6.0.1" + "node-sass": "^6.0.1", + "@fluencelabs/aqua-lib": "^0.3.2" } } diff --git a/aqua-examples/aqua-ipfs-integration/web/public/runnerScript.web.js b/aqua-examples/aqua-ipfs-integration/web/public/runnerScript.web.js new file mode 100644 index 0000000..98b6e58 --- /dev/null +++ b/aqua-examples/aqua-ipfs-integration/web/public/runnerScript.web.js @@ -0,0 +1 @@ +!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=9)}([function(e,t,r){"use strict";t.a={isWorkerRuntime:function(){const e="undefined"!=typeof self&&"undefined"!=typeof Window&&self instanceof Window;return!("undefined"==typeof self||!self.postMessage||e)},postMessageToMaster:function(e,t){self.postMessage(e,t)},subscribeToMasterMessages:function(e){const t=t=>{e(t.data)};return self.addEventListener("message",t),()=>{self.removeEventListener("message",t)}}}},function(e,t,r){"use strict";r.d(t,"a",(function(){return i})),r.d(t,"b",(function(){return u}));const n={deserialize:e=>Object.assign(Error(e.message),{name:e.name,stack:e.stack}),serialize:e=>({__error_marker:"$$error",message:e.message,name:e.name,stack:e.stack})};let o={deserialize(e){return(t=e)&&"object"==typeof t&&"__error_marker"in t&&"$$error"===t.__error_marker?n.deserialize(e):e;var t},serialize:e=>e instanceof Error?n.serialize(e):e};function i(e){return o.deserialize(e)}function u(e){return o.serialize(e)}},function(e,t,r){"use strict";var n,o;r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return o})),function(e){e.cancel="cancel",e.run="run"}(n||(n={})),function(e){e.error="error",e.init="init",e.result="result",e.running="running",e.uncaughtError="uncaughtError"}(o||(o={}))},function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));Symbol("thread.errors"),Symbol("thread.events"),Symbol("thread.terminate");const n=Symbol("thread.transferable");Symbol("thread.worker");function o(e){return e&&"object"==typeof e&&e[n]}},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n="undefined"!=typeof window&&void 0!==window.document,o=void 0!==e&&null!=e.versions&&null!=e.versions.node,i="object"===("undefined"==typeof self?"undefined":r(self))&&self.constructor&&"DedicatedWorkerGlobalScope"===self.constructor.name,u="undefined"!=typeof window&&"nodejs"===window.name||"undefined"!=typeof navigator&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),s="undefined"!=typeof Deno&&void 0!==Deno.core;t.isBrowser=n,t.isWebWorker=i,t.isNode=o,t.isJsDom=u,t.isDeno=s}).call(this,r(5))},function(e,t){var r,n,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function u(){throw new Error("clearTimeout has not been defined")}function s(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(e){r=i}try{n="function"==typeof clearTimeout?clearTimeout:u}catch(e){n=u}}();var a,c=[],l=!1,f=-1;function p(){l&&a&&(l=!1,a.length?c=a.concat(c):f=-1,c.length&&d())}function d(){if(!l){var e=s(p);l=!0;for(var t=c.length;t;){for(a=c,c=[];++f1)for(var r=1;r=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),a=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),y(r)?n.showHidden=r:r&&t._extend(n,r),g(n.showHidden)&&(n.showHidden=!1),g(n.depth)&&(n.depth=2),g(n.colors)&&(n.colors=!1),g(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=a),l(n,e,n.depth)}function a(e,t){var r=s.styles[t];return r?"["+s.colors[r][0]+"m"+e+"["+s.colors[r][1]+"m":e}function c(e,t){return e}function l(e,r,n){if(e.customInspect&&r&&E(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(n,e);return h(o)||(o=l(e,o,n)),o}var i=function(e,t){if(g(t))return e.stylize("undefined","undefined");if(h(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(_(t))return e.stylize(""+t,"number");if(y(t))return e.stylize(""+t,"boolean");if(b(t))return e.stylize("null","null")}(e,r);if(i)return i;var u=Object.keys(r),s=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(u);if(e.showHidden&&(u=Object.getOwnPropertyNames(r)),O(r)&&(u.indexOf("message")>=0||u.indexOf("description")>=0))return f(r);if(0===u.length){if(E(r)){var a=r.name?": "+r.name:"";return e.stylize("[Function"+a+"]","special")}if(m(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return e.stylize(Date.prototype.toString.call(r),"date");if(O(r))return f(r)}var c,v="",j=!1,M=["{","}"];(d(r)&&(j=!0,M=["[","]"]),E(r))&&(v=" [Function"+(r.name?": "+r.name:"")+"]");return m(r)&&(v=" "+RegExp.prototype.toString.call(r)),w(r)&&(v=" "+Date.prototype.toUTCString.call(r)),O(r)&&(v=" "+f(r)),0!==u.length||j&&0!=r.length?n<0?m(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=j?function(e,t,r,n,o){for(var i=[],u=0,s=t.length;u=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(c,v,M)):M[0]+v+M[1]}function f(e){return"["+Error.prototype.toString.call(e)+"]"}function p(e,t,r,n,o,i){var u,s,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(s=e.stylize("[Setter]","special")),P(n,o)||(u="["+o+"]"),s||(e.seen.indexOf(a.value)<0?(s=b(r)?l(e,a.value,null):l(e,a.value,r-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),g(u)){if(i&&o.match(/^\d+$/))return s;(u=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(u=u.substr(1,u.length-2),u=e.stylize(u,"name")):(u=u.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),u=e.stylize(u,"string"))}return u+": "+s}function d(e){return Array.isArray(e)}function y(e){return"boolean"==typeof e}function b(e){return null===e}function _(e){return"number"==typeof e}function h(e){return"string"==typeof e}function g(e){return void 0===e}function m(e){return v(e)&&"[object RegExp]"===j(e)}function v(e){return"object"==typeof e&&null!==e}function w(e){return v(e)&&"[object Date]"===j(e)}function O(e){return v(e)&&("[object Error]"===j(e)||e instanceof Error)}function E(e){return"function"==typeof e}function j(e){return Object.prototype.toString.call(e)}function M(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(r){if(g(i)&&(i=e.env.NODE_DEBUG||""),r=r.toUpperCase(),!u[r])if(new RegExp("\\b"+r+"\\b","i").test(i)){var n=e.pid;u[r]=function(){var e=t.format.apply(t,arguments);console.error("%s %d: %s",r,n,e)}}else u[r]=function(){};return u[r]},t.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=d,t.isBoolean=y,t.isNull=b,t.isNullOrUndefined=function(e){return null==e},t.isNumber=_,t.isString=h,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=g,t.isRegExp=m,t.isObject=v,t.isDate=w,t.isError=O,t.isFunction=E,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(11);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function x(){var e=new Date,t=[M(e.getHours()),M(e.getMinutes()),M(e.getSeconds())].join(":");return[e.getDate(),T[e.getMonth()],t].join(" ")}function P(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",x(),t.format.apply(t,arguments))},t.inherits=r(12),t._extend=function(e,t){if(!t||!v(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var S="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function k(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}t.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(S&&e[S]){var t;if("function"!=typeof(t=e[S]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,S,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),o=[],i=0;i0&&o[o.length-1])||6!==i[0]&&2!==i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]!!e&&("symbol"==typeof Symbol.observable&&"function"==typeof e[Symbol.observable]?e===e[Symbol.observable]():"function"==typeof e["@@observable"]&&e===e["@@observable"]())},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var _fluencelabs_avm__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(7),_fluencelabs_avm__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_fluencelabs_avm__WEBPACK_IMPORTED_MODULE_0__),browser_or_node__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(4),browser_or_node__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(browser_or_node__WEBPACK_IMPORTED_MODULE_1__),threads__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(13);const logFunction=(e,t)=>{switch(e){case"error":console.error(t);break;case"warn":console.warn(t);break;case"info":console.info(t);break;case"debug":case"trace":console.log(t)}};let airInterpreter="not-set";const toExpose={init:async(logLevel,loadMethod)=>{let module;if(browser_or_node__WEBPACK_IMPORTED_MODULE_1__.isBrowser||browser_or_node__WEBPACK_IMPORTED_MODULE_1__.isWebWorker){if("fetch-from-url"!==loadMethod.method)throw new Error("Only 'fetch-from-url' is supported for browsers");const e=loadMethod.baseUrl+loadMethod.filePath;try{module=await WebAssembly.compileStreaming(fetch(e))}catch(e){throw new Error(`Failed to load ${loadMethod.filePath}. This usually means that the web server is not serving avm file correctly. Original error: ${e.toString()}`)}}else{if(!browser_or_node__WEBPACK_IMPORTED_MODULE_1__.isNode)throw new Error("Environment not supported");if("read-from-fs"!==loadMethod.method)throw new Error("Only 'read-from-fs' is supported for nodejs");try{const fs=eval("require")("fs"),file=fs.readFileSync(loadMethod.filePath);module=await WebAssembly.compile(file)}catch(e){throw new Error(`Failed to load ${loadMethod.filePath}. Did you forget to install @fluencelabs/avm? Original error: ${e.toString()}`)}}airInterpreter=await _fluencelabs_avm__WEBPACK_IMPORTED_MODULE_0__.AirInterpreter.create(module,logLevel,logFunction)},terminate:async()=>{airInterpreter="not-set"},run:async(e,t,r,n,o)=>{if("not-set"===airInterpreter)throw new Error("Interpreter is not initialized");if("terminated"===airInterpreter)throw new Error("Interpreter is terminated");return airInterpreter.invoke(e,t,r,n,o)}};Object(threads__WEBPACK_IMPORTED_MODULE_2__.a)(toExpose)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.invoke=t.getStringFromWasm0=t.main=void 0,t.main=function(e){e.main()};var n=0,o=null;function i(e){return null!==o&&o.buffer===e.memory.buffer||(o=new Uint8Array(e.memory.buffer)),o}var u=new("undefined"==typeof TextEncoder?r(6).TextEncoder:TextEncoder)("utf-8"),s="function"==typeof u.encodeInto?function(e,t){return u.encodeInto(e,t)}:function(e,t){var r=u.encode(e);return t.set(r),{read:e.length,written:r.length}};function a(e,t,r,o){if(void 0===o){var a=u.encode(t),c=r(a.length);return i(e).subarray(c,c+a.length).set(a),n=a.length,c}for(var l=t.length,f=r(l),p=i(e),d=0;d127)break;p[f+d]=y}if(d!==l){0!==d&&(t=t.slice(d)),f=o(f,l,l=d+3*t.length);var b=i(e).subarray(f+d,f+l);d+=s(t,b).written}return n=d,f}function c(e,t,r){var o=r(1*t.length);return i(e).set(t,o/1),n=t.length,o}var l=null;function f(e){return null!==l&&l.buffer===e.memory.buffer||(l=new Int32Array(e.memory.buffer)),l}var p=new("undefined"==typeof TextDecoder?r(6).TextDecoder:TextDecoder)("utf-8",{ignoreBOM:!0,fatal:!0});function d(e,t,r){return p.decode(i(e).subarray(t,t+r))}p.decode(),t.getStringFromWasm0=d,t.invoke=function(e,t,r,o,i,u,s){try{var l=a(e,t,e.__wbindgen_malloc,e.__wbindgen_realloc),p=n,y=c(e,r,e.__wbindgen_malloc),b=n,_=c(e,o,e.__wbindgen_malloc),h=n,g=c(e,i,e.__wbindgen_malloc),m=n,v=c(e,u,e.__wbindgen_malloc),w=n,O=a(e,s,e.__wbindgen_malloc,e.__wbindgen_realloc),E=n;e.invoke(8,l,p,y,b,_,h,g,m,v,w,O,E);var j=f(e)[2],M=f(e)[3];return d(e,j,M)}finally{e.__wbindgen_free(j,M)}}},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return m}));var n=r(8),o=r.n(n),i=r(1),u=r(3),s=r(2),a=r(0),c=function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function u(e){try{a(n.next(e))}catch(e){i(e)}}function s(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,s)}a((n=n.apply(e,t||[])).next())}))};a.a.isWorkerRuntime;let l=!1;const f=new Map,p=e=>e&&e.type===s.a.run,d=e=>o()(e)||function(e){return e&&"object"==typeof e&&"function"==typeof e.subscribe}(e);function y(e){return Object(u.a)(e)?{payload:e.send,transferables:e.transferables}:{payload:e,transferables:void 0}}function b(e,t){const{payload:r,transferables:n}=y(t),o={type:s.b.error,uid:e,error:Object(i.b)(r)};a.a.postMessageToMaster(o,n)}function _(e,t,r){const{payload:n,transferables:o}=y(r),i={type:s.b.result,uid:e,complete:!!t||void 0,payload:n};a.a.postMessageToMaster(i,o)}function h(e){try{const t={type:s.b.uncaughtError,error:Object(i.b)(e)};a.a.postMessageToMaster(t)}catch(t){console.error("Not reporting uncaught error back to master thread as it occured while reporting an uncaught error already.\nLatest error:",t,"\nOriginal error:",e)}}function g(e,t,r){return c(this,void 0,void 0,(function*(){let n;try{n=t(...r)}catch(t){return b(e,t)}const o=d(n)?"observable":"promise";if(function(e,t){const r={type:s.b.running,uid:e,resultType:t};a.a.postMessageToMaster(r)}(e,o),d(n)){const t=n.subscribe(t=>_(e,!1,Object(i.b)(t)),t=>{b(e,Object(i.b)(t)),f.delete(e)},()=>{_(e,!0),f.delete(e)});f.set(e,t)}else try{const t=yield n;_(e,!0,Object(i.b)(t))}catch(t){b(e,Object(i.b)(t))}}))}function m(e){if(!a.a.isWorkerRuntime())throw Error("expose() called in the master thread.");if(l)throw Error("expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.");if(l=!0,"function"==typeof e)a.a.subscribeToMasterMessages(t=>{p(t)&&!t.method&&g(t.uid,e,t.args.map(i.a))}),function(){const e={type:s.b.init,exposed:{type:"function"}};a.a.postMessageToMaster(e)}();else{if("object"!=typeof e||!e)throw Error("Invalid argument passed to expose(). Expected a function or an object, got: "+e);a.a.subscribeToMasterMessages(t=>{p(t)&&t.method&&g(t.uid,e[t.method],t.args.map(i.a))});!function(e){const t={type:s.b.init,exposed:{type:"module",methods:e}};a.a.postMessageToMaster(t)}(Object.keys(e).filter(t=>"function"==typeof e[t]))}a.a.subscribeToMasterMessages(e=>{if((t=e)&&t.type===s.a.cancel){const t=e.uid,r=f.get(t);r&&(r.unsubscribe(),f.delete(t))}var t})}"undefined"!=typeof self&&"function"==typeof self.addEventListener&&a.a.isWorkerRuntime()&&(self.addEventListener("error",e=>{setTimeout(()=>h(e.error||e),250)}),self.addEventListener("unhandledrejection",e=>{const t=e.reason;t&&"string"==typeof t.message&&setTimeout(()=>h(t),250)})),void 0!==e&&"function"==typeof e.on&&a.a.isWorkerRuntime()&&(e.on("uncaughtException",e=>{setTimeout(()=>h(e),250)}),e.on("unhandledRejection",e=>{e&&"string"==typeof e.message&&setTimeout(()=>h(e),250)}))}).call(this,r(5))}]); \ No newline at end of file