stellar / stellar-cli

CLI for Stellar developers
Apache License 2.0
74 stars 71 forks source link

Support classic accounts and trustlines in snapshots #1739

Open JakeUrban opened 3 days ago

JakeUrban commented 3 days ago

What version are you using?

22.0.0-rc.1

What did you do?

Created a snapshot like so:

stellar snapshot create --address $myaccount --address $contractid 

Then used the snapshot to create an environment for my contract test using Env::from_ledger_snapshot_file.

Because $myaccount is a Stellar account, and the function tested on $contractid results in a SAC transfer, the test failed with the following:

topics:[error, Error(Storage, MissingValue)], data:"trying to get non-existing value for contract instance"

This appears to be because trustlines are not saved to the snapshot file or are not loaded when creating the environment.

leighmcculloch commented 3 days ago

Requires some investigation. Snapshots are supposed to include all the trust lines of an account when an account is specified.

For example: https://github.com/stellar/stellar-cli/blob/90db678c08e51e84f05719b5f0965e8f53c3c893/cmd/soroban-cli/src/commands/snapshot/create.rs#L284-L286