-
Notifications
You must be signed in to change notification settings - Fork 212
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
Comprehensive testing of failure scenarios #10510
Comments
A lot of work was recently done around potential failure scenarios wrt to StatusManager. Namely, accounting for failed IBC transfers and unexpected timings around advance and settlement. The bulk of the above was captured in #10530 which also included diagrams of the state machine: At the time of writing, there is a mistake in the |
This might suggest we need an additional state - perhaps This surfaced when discussing #10508 with @samsiegart. Our current plan is only to report TxStatus statuses (below) to vstorage and log the "minted before observed" events to the swingset console. agoric-sdk/packages/fast-usdc/src/constants.js Lines 6 to 22 in 23120a9
|
refs: #10388 closes: #10577 doesn't close until - exercise all the code in the contract (analytic; best effort) ## Description / Testing Considerations - [x] test all the sequences in the product spec - [x] enumerate all the sequences in the product spec - [x] fix advancer/settler amount agreement bug postponed: - - #10510 - [todo] C12 - Contract MUST only pay back the Pool only if they started the advance before USDC is minted - #10554 some `test.todo()`s are out of scope of contract flow tests. Some are more feasible as exo tests: - [todo] C18 - forward - MUST log and alert these incidents - [skip] LP borrow - TODO: move to exo test - [skip] LP repay - TODO: move to exo test an some are after M1: - [todo] PERF: Target: settlement completes in a few minutes (after USDC is minted) - [todo] fee levels MUST be visible to external parties - i.e., written to public storage - [todo] C21 - Contract MUST log / timestamp each step in the transaction flow ### Security / Scaling / Upgrade Considerations n/a ### Documentation Considerations Internal design docs are assumed background knowledge.
Task ListI suggest we create separate issues for each and close this once were in agreement:
Google Doc where much of this was fleshed out. There are many other paths around LP share path, fee calcs, and unexpected sequences we already have sufficient coverage for. Tickets:
|
What is the Problem Being Solved?
Description of the Design
RunUtils test covering happy path and error paths (from product)
Error paths from implementation and upstream service irregularities
Race conditions
Verify vstorage output
Security Considerations
Scaling Considerations
Test Plan
Upgrade Considerations
The text was updated successfully, but these errors were encountered: