-
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
Settler exo #10391
Comments
collecting details on the scope of this issue... design sketch says: An exo within FUC that handles settling transactions.
re "the SettlementAccount" - that presumes there is one. Does this exo make it? |
re "settles per product spec" - this bit of the diagram seems particularly relevant: sequenceDiagram
rect rgb(255, 245, 230)
Note over FUC,CFA: Settlement Process
Note over FUC,SA: Tap on account reads MintAmount,<br/>parses EUD from virtual address recipient<br/>and looks up AdvanceAmount,PoolFee,ContractFee.<br/>Matches against an unsettled transaction (by EUD and approx amount).
%% Treat starting the advance as an atomic action. Assume it will complete once started.
alt Advance was started:
FUC->>SA: Initiate transfers<br>out of settlement
SA->>P: Deposit the AdvanceAmount + PoolFee<br>(= MintAmount - ContractFee)
SA->>CFA: Deposit ContractFee
else Advance for matched transaction that has not yet started:
P->>NC: PFM transfer<br>(MintAmount of Agoric USDC denom) to EUD
NC->>EUD: deliver MintAmount<br>as final USDC denom
else Settlement for unknown transaction:
%% Have not received notification of this Amount,EUD from the watcher
Note over SA: Leave funds in SettlementAccount.
Note over SA: Wait for observation from watcher
end
end
|
This was referenced Nov 20, 2024
mergify bot
added a commit
that referenced
this issue
Nov 25, 2024
refs: #10391 ## Description There was a race in subscribeToTransfers. Use a `Vow` to avoid the race. ### Security / Scaling / Upgrade / Documentation Considerations can't think of any ### Testing Considerations I'm not sure how to make a test for this. The purpose of this fix is mostly to stop other tests from failing.
mergify bot
added a commit
that referenced
this issue
Nov 25, 2024
closes: #10391 ## Description - feat(fast-usdc): settler disburses or forwards funds Discussion of what to do if the minted USDC shows up at each state led to some refinement of states. So the scope of this PR expanded somewhat: - chore(fast-usdc): status manager: split out Advancing state - chore(fast-usdc): advancer: split ADVANCING state ### Security Considerations In addition to the normal case where funds are repaid to the pool and fees are distributed, the settler is responsible to forward funds in case they were not advanced. ### Scaling Considerations nothing novel ### Documentation Considerations Readers are assumed to be familiar with design docs. ### Testing Considerations Getting the tests to pass requires: - [ ] #10553 It's included in this PR for now but is expected to land separately DRAFT until - [x] test "Settlement for unknown transaction" case ### Upgrade Considerations This is a new component.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
What is the Problem Being Solved?
Fast USDC needs a component to settle advances.
Description of the Design
A Settler exo that performs the advancement operations.
It looks them up from Status Manager and settles per product spec.
Security Considerations
Scaling Considerations
Test Plan
Exo test
Contract test is separate: #10388
Upgrade Considerations
The text was updated successfully, but these errors were encountered: