Installation
Quadrata SDK Installation
To install the Quadrata SDK, you can use the following commands:
npm i --save @quadrata/sdk
npm i --save @quadrata/contracts
Optional Peer Dependencies
The SDK has optional peer dependencies that you will need to install, depending on which SDK libraries you want to use.
If you are using client libraries at @quadrata/sdk/client
then you will need to install the following packages in your project:
@quadrata/core-react
@tanstack/react-query
react
react-dom
npm i --save react
npm i --save react-dom
npm i --save @quadrata/core-react
npm i --save @tanstack/react-query
Each client onboarding application has its own package that you need to install in order to take advantage of the SDK for client onboarding, and all of them require @quadrata/core-react
.
KYC Onboarding
For KYC onboarding, you need to install the following dependencies:
@quadrata/core-react
@quadrata/client-react
npm i --save @quadrata/core-react
npm i --save @quadrata/client-react
KYB Onboarding
For KYB onboarding, you need to install the following dependencies:
@quadrata/core-react
@quadrata/kyb-react
npm i --save @quadrata/core-react
npm i --save @quadrata/kyb-react
With Wagmi Connect
If you want to use the built-in With Wagmi Connect abstraction to connect wallets and sign transactions, you need to install the following dependencies:
viem@2
npm i --save wagmi
npm i --save viem
Notes on optional dependencies
Due to the static analysis performed by the bundler (like Webpack or Parcel) during the build process, when a module is imported, the bundler tries to resolve these modules at build time and not run time.
If you are using the SDK client libraries and you do not wish to install all of the peer dependencies, you need to tell your bundler how to handle packages that are not installed or you will receive Module not found
errors.
NextJS uses Webpack and allows you to configure a fallback package for modules by name.
If you only need Individual Onboarding (KYC), for instance, and do not wish to install the Business Onboarding (KYB) react packages, you can tell webpack not to attempt to load the KYB package.
An example of this configuration would like like the following:
// next.config.mjs
const nextConfig = {
// ...
webpack: config => {
config.resolve.fallback = {
...config.resolve.fallback,
// do not attemp to load @quadrata/kyb-react
'@quadrata/kyb-react': false
};
return config;
},
};
export default nextConfig;
Typescript Configuration
In order for typescript to find the type definitions in @quadrata/sdk/types
you might need to update your tsconfig.json
.
Specifically, moduleResolution
may need to be set to bundler
.
Here are some example tsconfig.json
files for different environments.
Here is an example tsconfig.json
for a NextJS Application:
{
"compilerOptions": {
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
"noEmit": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "bundler",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"incremental": true,
"plugins": [
{
"name": "next"
}
],
"paths": {
"~/*": ["./src/*"]
}
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
"exclude": ["node_modules"]
}
Last updated