Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WebAssembly Integration PoC #19784

Draft
wants to merge 17 commits into
base: main
Choose a base branch
from
Draft

WebAssembly Integration PoC #19784

wants to merge 17 commits into from

Conversation

carlpulley-da
Copy link
Contributor

@carlpulley-da carlpulley-da commented Aug 14, 2024

  • hello-world host function logging
  • create-contract host function transaction tree
  • fetch-contract host function transaction tree
  • exercise-choice host function transaction tree
  • AuthorizationChecker host function usage controls
  • additional Speedy party checks
  • daml-lf and Wasm data interoperability spike
  • WasmEngine integration with Canton
  • upgrading and data continuity spike
  • error reporting between Scala/WASM host/export functions
  • add in bazel support for compiling rust Wasm modules
  • add in package management functionality

To run WasmRunner tests (that exercise current functionality) run:

bazel test //daml-lf/interpreter:tests_test_suite_src_test_scala_com_digitalasset_daml_lf_speedy_wasm_WasmRunnerTest.scala --test_output=streamed --cache_test_results=no 

TODO:

  • use VersionedTransaction rather than PartialTransaction - avoids any need for SValue manipulations
    • the use of PartialTransaction greatly simplifies our implementation effort
    • SValue extraction from Value can be simplified by adding in dummy types for untyped records, variants and enums
  • refactor canton dependencies so that ledger-api-value/value.proto and ValidateValue may be used - need to avoid a cyclic bazel dependency

Design Document Ref:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant