Controller on Katana

  1. Predeploy Controller account contracts to Katana (similar to UDC)
  2. Inside Slot, we know the master account and can fund a users controller for deployment
  3. When a user tries to interact with a new chain, Slot sends ETH to fund the controller address
  4. a. [If deploy on invoke is supported] Controller prompts user to sign a session token, the session token is used to invoke the registerSession method, with the included account deployment calldata.
    b. a. [If deploy on invoke is not supported] Controller prompts user to sign a session token, the session token is used to deploy the account. Ideally, we can register the session token in the deploy txn.