-
Notifications
You must be signed in to change notification settings - Fork 220
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
Comments
michaelfig
changed the title
Multitenant Wallet Backend
Multitenant Wallet Backend (Zoe contract)
Feb 7, 2022
@michaelfig should this be assigned to you? (currently @turadg who does not know much about wallet.) |
michaelfig
changed the title
Multitenant Wallet Backend (Zoe contract)
Multitenant Smart Wallet Backend (Zoe contract)
Jun 3, 2022
This was referenced Jul 5, 2022
dckc
changed the title
Multitenant Smart Wallet Backend (Zoe contract)
Multitenant, Durable Smart Wallet Backend (Zoe contract)
Jul 15, 2022
@turadg is multi-tenant done, should we rename this to "Make Smart Wallet contract durable? |
turadg
changed the title
Multitenant, Durable Smart Wallet Backend (Zoe contract)
make Smart Wallet contract durable
Aug 4, 2022
turadg
changed the title
make Smart Wallet contract durable
make Smart Wallet contract multitenant
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. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The text was updated successfully, but these errors were encountered: