Description
Problem
Contract state changes continuously, making it difficult to reproduce historical conditions or investigate bugs that depend on a previous state.
There is currently no high-level mechanism for identifying, storing, and querying historical contract state snapshots.
Solution
Implement contract state snapshot infrastructure.
Snapshots should be associated with a contract ID, ledger/version identifier, timestamp, and deterministic state fingerprint.
Applications should be able to pin a specific state version and later query or compare historical snapshots.
Acceptance Criteria
Note for Contributors
Do not imply that arbitrary historical blockchain state can always be reconstructed locally. Clearly distinguish SDK-managed snapshots from externally retrievable ledger state.
Description
Problem
Contract state changes continuously, making it difficult to reproduce historical conditions or investigate bugs that depend on a previous state.
There is currently no high-level mechanism for identifying, storing, and querying historical contract state snapshots.
Solution
Implement contract state snapshot infrastructure.
Snapshots should be associated with a contract ID, ledger/version identifier, timestamp, and deterministic state fingerprint.
Applications should be able to pin a specific state version and later query or compare historical snapshots.
Acceptance Criteria
pinContractState(contractId, version)is supported.src/soroban/index.tsandsrc/index.ts.Note for Contributors
Do not imply that arbitrary historical blockchain state can always be reconstructed locally. Clearly distinguish SDK-managed snapshots from externally retrievable ledger state.