0.0.4 • Published 11 months ago

@fabriqnetwork/sdk v0.0.4

Weekly downloads
-
License
ISC
Repository
-
Last release
11 months ago

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.

0.0.4

11 months ago

0.0.3

12 months ago

0.0.2

12 months ago

0.0.1

12 months ago