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

Develop integration test process for provwasm smart contracts #392

Closed
7 tasks
Tracked by #379
iramiller opened this issue Jul 27, 2021 · 1 comment
Closed
7 tasks
Tracked by #379

Develop integration test process for provwasm smart contracts #392

iramiller opened this issue Jul 27, 2021 · 1 comment
Labels
CI Continuous Integration and release process enhancement New feature or request simulation Issues related to simulation testing
Milestone

Comments

@iramiller
Copy link
Member

iramiller commented Jul 27, 2021

Summary

Develop simulation support for wasm module using provwasm wrapper

Problem Definition

Currently during the provenanced simulation tests the wasm module is largely left untested. This presents a risk to the platform. Basic smart contract execution, export/import, and management features should be exercised during simulation testing of the chain.

Proposal

Update the provwasm internal wrapper with genesis and operation simulation testing integration. This integration should be connected using a wrapper that is provided in the app.go simulation manager module registration.

wasm.NewAppModule(appCodec, &app.WasmKeeper, app.StakingKeeper),

The smart contract(s) used should be as simple as possible. Basic invocation, loading, and management tests are the overall goal. Testing/querying against the module (for example transfers using marker) could be added as a future item if required but for now should remain part of a separate integration testing process.

  • Create a module wrapper in the provwasm internal package
  • Add genesis sim support that instantiates with a trivial smart contract
  • Add operation sim support that executes a variety of contract management functions and most importantly many contract executions.

For examples of contracts that can be used for testing see the wasmit repository.

CC: @dpederson-figure and @ktalley-figure as provwasm code owners.


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@iramiller iramiller changed the title Insert testing process from @ktalley-figure and @dpederson-figure here Develop integration test process for provwasm smart contracts Jul 27, 2021
@iramiller iramiller added CI Continuous Integration and release process enhancement New feature or request simulation Issues related to simulation testing labels Jul 27, 2021
@iramiller iramiller added this to the v1.6.0 milestone Jul 27, 2021
@iramiller iramiller modified the milestones: v1.6.0, backlog Aug 19, 2021
@iramiller iramiller modified the milestones: backlog, v1.8.0 Sep 1, 2021
@fkneeland-figure fkneeland-figure self-assigned this Sep 29, 2021
@iramiller iramiller modified the milestones: v1.8.0, v1.9.0 Feb 1, 2022
@fkneeland-figure
Copy link
Contributor

Completed in v1.8.0. When that is merged to main we can mark this as done.

@iramiller iramiller modified the milestones: v1.13.0, v1.13.1 Sep 30, 2022
@iramiller iramiller modified the milestones: v1.13.1, v1.14.0 Dec 9, 2022
@nullpointer0x00 nullpointer0x00 modified the milestones: v1.14.0, v1.15.0 Jan 23, 2023
@iramiller iramiller modified the milestones: v1.15.0, v1.16.0 Apr 19, 2023
@iramiller iramiller modified the milestones: v1.16.0, v1.11.0 Jun 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration and release process enhancement New feature or request simulation Issues related to simulation testing
Projects
Development

No branches or pull requests

3 participants