Video Preview
Setting up with your own credentials/keys
Follow this guide to get your project access key and other credentials/keys: https://docs.sequence.xyz/solutions/builder/embedded-wallet/./ios and ./android folder specific instructions for credentials/keys
iOS
Using Expo, you can set GIDClientID in ios > infoPlist in the app.json file. Manually, you can set GIDClientID in the Info.plist file for Google sign in.Android
Using Expo, you can set the intent-filter in android > intentFilters in the app.json file. Manually, you can set the intent-filter in the AndroidManifest.xml file for Google sign in.Integration details
1
Setup shims for ethers and other crypto related packages
First, let’s check contents of cryptoSetup.ts for the set up of the shims and registering Then make sure to import
pbkdf2 for ethers from react-native-quick-crypto below:cryptoSetup.ts as early in the app lifecycle as you can. In this demo these are imported and set at the top in App.tsx.Secondly, we need to set aliases for some shims, in babel.config.js with help of the babel-plugin-module-resolver dev dependency. See babel.config.js for the code snippet to update the aliases.2
Initialize Sequence WaaS
3
Signing in
Once you have an initialized Sequence WaaS instance, you can use it to sign in with email, Google or Apple. See the google code snippet below for an example, and check the App.tsx file for more details.
4
Wallet operations
Once signed in, you can use the
sequenceWaas instance to perform wallet operations like sending transactions, signing messages, etc. See the google code snippet below for an example, and check the App.tsx file for more details.5
Migration notes for Ethers v6 update
react-native-quick-crypto-ethers-patch.jsand related configuration is no longer needed since ethers v6 allows us to register the pbkdf2 function directly from thereact-native-quick-cryptopackage. (See cryptoSetup.ts for the related code.)- You can follow ethers migration guide to migrate your codebase to ethers v6.
Dependencies
Required Sequence packages
- @0xsequence/waas
- @0xsequence/react-native
Other Required dependencies/shims
Common
- ethers
- ethersproject/shims
- expo
- react-native-quick-crypto
- react-native-mmkv
- react-native-keychain
- babel-plugin-module-resolver (as dev dependency)
For Apple and Google login
- expo-web-browser
- expo-auth-session
- @invertase/react-native-apple-authentication
For Email login
- react-native-url-polyfill
- web-streams-polyfill