ProvableHQ / sdk

A Software Development Kit (SDK) for Zero-Knowledge Transactions

Home Page:https://provable.tools

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Flutter-SDK-related] Can I call ALEO SDK from Flutter? [Possible Bug][Bug]

folarinxe opened this issue Β· comments

πŸ› Bug Report

  • The goal is to call ALEO SDK from js.
  • 1st, Compile ALEO to wasm.
  • js call wasm
  • flutter call js.

When I call @aleoHq/sdk, I results in error

Steps to Reproduce

Code snippet to reproduce

const { initThreadPool: wasmInitThreadPool, Address, Execution, ExecutionResponse, Field, OfflineQuery, Private, PrivateKey, PrivateKeyCiphertext, Program, ProvingKey, RecordCiphertext, RecordPlaintext, ProgramManager, Signature, Transaction, ViewKey, VerifyingKey, verifyFunctionExecution, } = await Cargo({
                                                                                                                                                                                                                                                                                                       ^^^^^

SyntaxError: await is only valid in async functions and the top level bodies of modules
    at internalCompileFunction (node:internal/vm:73:18)
    at wrapSafe (node:internal/modules/cjs/loader:1175:20)
    at Module._compile (node:internal/modules/cjs/loader:1219:27)
    at Module.m._compile (/Users/weixuefeng/.nvm/versions/node/v20.3.0/lib/node_modules/ts-node/src/index.ts:1618:23)
    at Module._extensions..js (node:internal/modules/cjs/loader:1309:10)
    at Object.require.extensions.<computed> [as .js] (/Users/weixuefeng/.nvm/versions/node/v20.3.0/lib/node_modules/ts-node/src/index.ts:1621:12)
    at Module.load (node:internal/modules/cjs/loader:1113:32)
    at Function.Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1137:19)
    at require (node:internal/modules/helpers:121:18)

Stack trace & error message

// Paste the output here

Expected Behavior

(Write what you expected to happen here)

Your Environment

do you have some progress about this issue? @folandarian

Based on that error, it seems that Flutter doesn't support top level await, which is a standard JS feature.

I wasn't able to find an existing bug report on the Flutter repo, so I recommend making a new issue there, since it's a bug within Flutter, it's not a bug with Aleo.

As a possible workaround, you can pre-compile your code using Webpack (which does support top level await).