- SafeAuthKit x LitWallet
- we instantiated a litwallet with arbitrary auth methods (supporting both oauth and webauth) as the core provider/signer, replacing the existing provider/signer in the safeauthkit
- to do so required a ton of changes to the original safe auth kit classes, interfaces, types...etc.!
- The ability for the pkp to mint a safe!
- once we were finished with safe-auth x litpkp, we could now use the PKP address to create a safe!
- this was a difficult process as the pkp wallet wasn't out of the box compatible with the safe-core-protocol SDK
- the PKP wallet then creates a safe via the safe factory
- the ability for the pkp to sign transactions
- we built a transaction through inputs of domainData, safeTypedata and the Eip712 tx type then signed this using a Lit action
- With this signature, we passed in other safe execution parameters which we require the user to input along with the signature to sign and execute existing transactions on safe!
Some of the things worth mentioning
- Compatibility between the litwallet and the safe auth via writing our own adapter instance
- we were able to use safe PKPs to sign a Safe transaction without using the SDK via lower level calls / functions