You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Each aspect of the wallet backend should be kept as separate as possible from the other implementations. Right now is dangerous because it has a lot of authority and it's all comingled.
Description of the Design
Break out the wallet backend into separate modules for each area managed by the wallet.
Time box project to pick the fruit we can in the allotted time. Target 2 days of 2 engineers, plus code review.
Break the kitchen sink API into separate objects. E.g. "pet name manager" owns the pet names.
State is split across collections and there's a bunch at the top. So any bug in any of that code could iterate over those purses and spend your money. Instead need to encapsulate the purse state.
Dapp UIs shouldn't break. The only thing that relies on the shallow list of functions is the Wallet UI (not dapps, which rely on the wallet bridge).
Security Considerations
Test Plan
The text was updated successfully, but these errors were encountered:
2022-09-02T01:08:21.329Z SwingSet: ls: v10: Error#1: Object [Alleged: AUSD payment] {} was not a live payment for brand Object [Alleged: AUSD brand] {} . It could be a used-up payment, a payment for another brand, or it might not be a payment at all.
2022-09-02T01:08:21.330Z SwingSet: ls: v10: Error: (an object) was not a live payment for brand (an object). It could be a used-up payment, a payment for another brand, or it might not be a payment at all.
at construct ()
at Error (/workspaces/agoric/agoric-sdk/packages/SwingSet/src/supervisors/subprocess-xsnap/lockdown-subprocess-xsnap.js:6160)
at makeError (/workspaces/agoric/agoric-sdk/packages/SwingSet/src/supervisors/subprocess-xsnap/lockdown-subprocess-xsnap.js:2717)
at fail (/workspaces/agoric/agoric-sdk/packages/SwingSet/src/supervisors/subprocess-xsnap/lockdown-subprocess-xsnap.js:2844)
at baseAssert (/workspaces/agoric/agoric-sdk/packages/SwingSet/src/supervisors/subprocess-xsnap/lockdown-subprocess-xsnap.js:2862)
at assertLivePayment (.../ertp/src/paymentLedger.js:204)
at (.../ertp/src/paymentLedger.js:289)
at ()
What is the Problem Being Solved?
Each aspect of the wallet backend should be kept as separate as possible from the other implementations. Right now is dangerous because it has a lot of authority and it's all comingled.
Description of the Design
Break out the wallet backend into separate modules for each area managed by the wallet.
Time box project to pick the fruit we can in the allotted time. Target 2 days of 2 engineers, plus code review.
Break the kitchen sink API into separate objects. E.g. "pet name manager" owns the pet names.
State is split across collections and there's a bunch at the top. So any bug in any of that code could iterate over those purses and spend your money. Instead need to encapsulate the purse state.
Dapp UIs shouldn't break. The only thing that relies on the shallow list of functions is the Wallet UI (not dapps, which rely on the wallet bridge).
Security Considerations
Test Plan
The text was updated successfully, but these errors were encountered: