Skip to content
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

make Smart Wallet contract multitenant #4484

Closed
1 of 2 tasks
samsiegart opened this issue Feb 7, 2022 · 3 comments
Closed
1 of 2 tasks

make Smart Wallet contract multitenant #4484

samsiegart opened this issue Feb 7, 2022 · 3 comments
Assignees
Labels
Milestone

Comments

@samsiegart
Copy link
Contributor

samsiegart commented Feb 7, 2022

All the wallet backends need to be implemented by a single wallet manager contract, since it is inefficient to have many small vats when a large one would suffice. Multitenant backend wallet states, which are managed by a single Zoe contract, are presented as sealed individual backends, each of the schema in #4483, and broadcasted via the Cosmos event stream.

To get there from here, we will

  • upgrade the packages/wallet/api directory to be multitenant, indexed first by tenant (such as their Cosmos address), and produce the existing wallet as a specialisation of that code. Then, the wallet manager is an instance of that code as well, but built to handle inbound Cosmos transactions.

  • To facilitate migration to virtual/durable objects and collection, each individual wallet backend must be supplied with a new schema manager rather than instantiating its own collections.

Design

Look up a tenant by its address at the top level and get ocaps. One mapping from address to that object.
That tenant's wallet is like a vault, closing over their data.

@michaelfig michaelfig changed the title Wallet Backend Durable Objects Multitenant Wallet Backend Feb 7, 2022
@michaelfig michaelfig changed the title Multitenant Wallet Backend Multitenant Wallet Backend (Zoe contract) Feb 7, 2022
@Tartuffo Tartuffo removed the MN-1 label Feb 7, 2022
@Tartuffo Tartuffo added this to the Mainnet 1 milestone Mar 23, 2022
@Tartuffo
Copy link
Contributor

@michaelfig should this be assigned to you? (currently @turadg who does not know much about wallet.)

@michaelfig michaelfig changed the title Multitenant Wallet Backend (Zoe contract) Multitenant Smart Wallet Backend (Zoe contract) Jun 3, 2022
@dckc dckc assigned dckc and unassigned turadg Jun 15, 2022
@turadg turadg self-assigned this Jun 30, 2022
@dckc dckc changed the title Multitenant Smart Wallet Backend (Zoe contract) Multitenant, Durable Smart Wallet Backend (Zoe contract) Jul 15, 2022
@turadg turadg unassigned dckc Jul 29, 2022
@dckc dckc added the e2e1 label Aug 4, 2022
@Tartuffo
Copy link
Contributor

Tartuffo commented Aug 4, 2022

@turadg is multi-tenant done, should we rename this to "Make Smart Wallet contract durable?

@turadg turadg changed the title Multitenant, Durable Smart Wallet Backend (Zoe contract) make Smart Wallet contract durable Aug 4, 2022
@turadg turadg changed the title make Smart Wallet contract durable make Smart Wallet contract multitenant Aug 4, 2022
@turadg
Copy link
Member

turadg commented Aug 4, 2022

This was primary about multitenancy (which is why it blocked the two things it blocks). I've made #5894 and closed this.

@turadg turadg closed this as completed Aug 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants