@fabriqnetwork/sdk
v0.0.4
Published
## Overview
Downloads
250
Readme
Fabriq SDK
Overview
The Fabriq SDK is a TypeScript library designed to facilitate the creation and submission of cross-chain intents. This SDK enables developers to interact with intent pools, manage token approvals, and retrieve information about intents seamlessly across supported blockchain networks.
Key Features
- Create and submit intents for cross-chain transactions.
- Approve token spending using the Permit2 contract.
- Fetch intent details and balances for tokens.
- Intentpool statistics
Dependencies
- Node.js >= 14.x
- TypeScript >= 4.x
Supported Networks
- Sepolia
- Optimism Sepolia
- Arbitrum Sepolia
Installation
To install the IntentClient SDK, use npm or yarn:
npm install @fabriqnetwork/sdk
or
yarn add @fabriqnetwork/sdk
API Reference
IntentClient Class
Constructor
constructor(originWalletClient: WalletClient, intentPoolURL: string, originChainInfo: SupportedChainInfo)
- Parameters:
- originWalletClient: The WalletClient for the origin chain of the intent.
- intentPoolURL: URL of the intent pool to submit to (e.g., http://localhost:50051).
- originChainInfo: System contract addresses of the origin chain.
- Throws:
- Error if originWalletClient does not have an account.
Methods
approvePermit2(token: Address): Approves spending of a specific token for the Permit2 contract.
submitIntent(inputAddress: Address, outputAddress: Address, inputAmount: bigint, outputAmount: bigint, srcChainId: number, dstChainId: number): Submits an intent to the cross-chain intent pool.
getBalance(token: Address): Promise<bigint | void>: Fetches the balance of a specific token for the current account.
getIntent(_intentHash: Hex): Fetches details about a specific intent using its hash.
getAllIntentsWithOrigin(_chainId: number): Retrieves all intents originating from a specific chain.
getAllIntentsWithDestination(_chainId: number): Retrieves all intents targeting a specific destination chain.
getSolvedIntents(_numberOfIntents: number): Fetches a specified number of solved intents.
getPendingIntents(_numberOfIntents: number): Fetches a specified number of pending intents.