Agoric / agoric-sdk

monorepo for the Agoric Javascript smart contract platform
Apache License 2.0
328 stars 207 forks source link

ability to start a contract without a bundle #10558

Open turadg opened 1 week ago

turadg commented 1 week ago

What is the Problem Being Solved?

The main problem is that we want to have code coverage reports on contracts. Zoe can only start a contract from an Installation of a bundle. Currently the Endo bundler is incompatible with code coverage tooling (https://github.com/Agoric/agoric-sdk/issues/1817).

A secondary problem is that unit tests of contracts have to bundle just to be able to run the code that's right there on disk.

Description of the Design

What could solve both these problems is some way to startInstance with some sort of Installation that represents a set of files on disk. (either by being some new kind of installation that's used just for testing, or some new kind of bundle that virtualizes a set of local files).

This would in turn cause Zoe to load the JS code directly from disk, and hopefully then be visible to C8.

Security Considerations

Scaling Considerations

Test Plan

Upgrade Considerations