Welcome to the Arianee SDK monorepo, an extensive collection of packages designed for the Arianee ecosystem. Managed with Nx, this monorepo streamlines the development and maintenance of the Arianee project, ensuring seamless integration and consistent quality across all components.
This monorepo contains a variety of packages, each tailored for specific functionalities within the Arianee ecosystem. Key packages include:
- @arianee/core: Core functionalities of the Arianee SDK (signMessage, signTx, etc.)
- @arianee/wallet: A package dedicated to wallet functionalities in the Arianee ecosystem.
- @arianee/wallet-abstraction: Focuses on wallet abstraction layers for the Arianee project.
- @arianee/wallet-api-client: A client package for interacting with Arianee's Wallet API.
- @arianee/arianee-api-client: A client package for interacting with various APIs.
- @arianee/arianee-protocol-client: A client package for interacting on-chain with the Arianee protocol.
- @arianee/arianee-privacy-gateway-client: A package for handling smart asset privacy-related functionalities through the Arianee privacy gateway.
- @arianee/arianee-access-token: A package dedicated to Arianee access token management.
- @arianee/creator: A package designed for smart assets management within the Arianee ecosystem.
- @arianee/token-provider: Package used by smart assets providers (i.e brands) to generate SSTs for service (utility) providers.
- @arianee/service-provider: Package used by service (utility) providers to use SSTs in order to get smart asset content or to transfer a smart asset.
- @arianee/permit721-sdk: Utility package used to interact with the Permit721 contracts.
- @arianee/common-types: Contains common type definitions used across the Arianee project.
- @arianee/utils: Provides essential utility functions and tools required across the Arianee project.
For more detailed information about each package, please refer to their individual README files. These documents provide specific instructions on building, testing, and implementing the functionalities of each package.
Run the following command to install all dependencies:
npm install
Run the following command to build all packages:
npm run build:all
Run the following command to run all tests:
npm run test:all
Before publishing your changes of the arianee-sdk repository, please follow these steps to ensure version consistency across all packages. This will make it easier to update an app using the arianee-sdk in order to add new features or fix bugs.
- Bump the version for all packages by running:
npm run bump:all
- Build all packages with:
npm run build:all
- Publish the changes with:
npm run publish:all
npm i && npm run test:all && npm run bump:all && npm run build:all && npm run publish:all
You can use any package-specific command through the Nx CLI. For example, to run the tests for the @arianee/core package, you can use the following command:
npx nx test core
The syntax is as follows: npx nx <command> <package-name>
You can test the sdk with the arianee-sdk-example (apps/arianee-sdk-example).
You can launch the arianee-sdk-example with:
npm run dev
it will automatically serve the project and build dependencies.
We welcome contributions to the Arianee SDK. Please ensure you follow our contribution guidelines, which can be found in the CONTRIBUTING.md file.