WasmEdge / WasmEdge

WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. It powers serverless apps, embedded functions, microservices, smart contracts, and IoT devices.

Home Page:https://WasmEdge.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

feat: component-model proposal's validation

dannypsnl opened this issue · comments

Summary

Complete validation for a loaded component binary.

Details

One will need to check

  1. https://github.com/WebAssembly/component-model/blob/main/design/mvp/Explainer.md
  2. https://github.com/WebAssembly/component-model/blob/main/design/mvp/Binary.md

in details, and add proper validation process.

  1. #3179

Appendix

No response

@dannypsnl I reviewed the resources you provided but still struggled to grasp a little. Can you give some context about this issue?

@dannypsnl I reviewed the resources you provided but still struggled to grasp a little. Can you give some context about this issue?

@dannypsnl is OOO. He will be back after 5/27.

@arujjval sure, the component model is a new binary format that "contains" old wasm in it, the idea is like a linker script and a module interface (consider OCaml's signature).

As a new binary, it needs its own validation, like if import/export does existed, more details than should be able to find in the resources I posted.

@dannypsnl I am giving it a try. Please assign me this.

@dannypsnl Do I have to create validate function for each section of Component according to rules given in Binary.md file?

That's the coding style also applied on module in WasmEdge, but you can do in any style you preferred.

NOTE: multiple string-encoding options is invalid in canonical ABI.