Standard library additions
Context: The Cadence standard library (stdlib) is an important component to make development in Cadence more effective - in the past community devs built their own Cadence contract to work around the lack of Cadence stdlib functionality, which demonstrates the pain-point in the development ecosystem. Cadence stdlib provides this functionality in native Go implementation, integrated with Cadence runtime, which is much more efficient and saves execution load on chain, reduces the burden on developers to implement the commonly required functionality, and increases trust / reliability (standard library can be trusted more than own or even third party code).
WebAssembly API work
Context: WebAssembly API enables parts of transactions to be compiled into WebAssembly and executed on-chain as part of the Tx execution. Execution of code compiled into WebAssembly is more optimized and consumes less resources than executing the same logic in the Cadence interpreter. For completeness linking Dete’s forum post that explains this in more detail: https://forum.flow.com/t/idea-wasm-execution-engine-in-cadence/5164.
Standard Library and WebAssembly API
Grant category
Please select one:
Description
Standard library additions Context: The Cadence standard library (stdlib) is an important component to make development in Cadence more effective - in the past community devs built their own Cadence contract to work around the lack of Cadence stdlib functionality, which demonstrates the pain-point in the development ecosystem. Cadence stdlib provides this functionality in native Go implementation, integrated with Cadence runtime, which is much more efficient and saves execution load on chain, reduces the burden on developers to implement the commonly required functionality, and increases trust / reliability (standard library can be trusted more than own or even third party code).
WebAssembly API work Context: WebAssembly API enables parts of transactions to be compiled into WebAssembly and executed on-chain as part of the Tx execution. Execution of code compiled into WebAssembly is more optimized and consumes less resources than executing the same logic in the Cadence interpreter. For completeness linking Dete’s forum post that explains this in more detail: https://forum.flow.com/t/idea-wasm-execution-engine-in-cadence/5164.
Milestones and funding
Standard library additions M1 - Support storing InclusiveRange in Account storage - Reward: $4,000 USD M2 - Add basic types for manipulating dates and times - Reward: $8,000 USD Note: This issue includes FLIP published and accepted before the solution implementation is merged to Cadence codebase. M3 - Additional math functions - Reward: $3,000 USD M4 - Allow conversion between constant-size and variable-size arrays - Reward: $1,000 USD
WebAssembly API work M5 - Add a WebAssembly API - Reward: $4,000 USD
Total funding proposed: <$20,000 USD>
Team