stellar / rs-soroban-env

Rust environment for Soroban contracts.
Apache License 2.0
59 stars 40 forks source link

Refactor soroban-simulation to use the e2e_invoke #1354

Closed dmkozh closed 5 months ago

dmkozh commented 5 months ago

What

Refactor soroban-simulation to use the e2e_invoke and also to be more modular/reusable.

Why

Improving simulation quality, as well as maintainability.

Known limitations

N/A

2opremio commented 5 months ago

@dmkozh Nice! I see that the public API has changed. Did you take into consideration the impact at https://github.com/stellar/soroban-rpc/blob/main/cmd/soroban-rpc/lib/preflight/src/lib.rs and whether it satisfies all the current functionality?

2opremio commented 5 months ago

@dmkozh I would like to make sure that all integration tests of soroban-rpc pass after these changes. Could you take a stab at adapting the rpc code?

2opremio commented 5 months ago

Another option is to do this in a two-step process, keeping an externally-compatible layer at first.

dmkozh commented 5 months ago

Did you take into consideration the impact at https://github.com/stellar/soroban-rpc/blob/main/cmd/soroban-rpc/lib/preflight/src/lib.rs and whether it satisfies all the current functionality?

Of course, these changes are meant to be functionally no-op (besides the additional capabilities, like ledger diffs we've discussed before - but there is no need to use them immediately). I'll definitely help with the migration, but this PR has to be finalized first.