Skip to content

bcnmy/abstractjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

452c65a Β· Feb 12, 2025

History

96 Commits
Sep 20, 2024
Feb 12, 2025
Sep 20, 2024
Feb 10, 2025
Feb 12, 2025
Oct 17, 2024
Feb 12, 2025
Jan 16, 2025
Nov 12, 2024
Feb 12, 2025
Mar 25, 2024
Mar 25, 2024
Feb 12, 2025
Jan 20, 2025
Jan 16, 2025
Jan 29, 2025
Feb 12, 2025
Sep 20, 2024

Repository files navigation

Biconomy License MIT codecov install size

abstractjs πŸš€

Open in GitHub Codespaces

The Biconomy SDK is your all-in-one toolkit for building decentralized applications (dApps) with ERC4337 Account Abstraction and Smart Accounts. It is designed for seamless user experiences and offers non-custodial solutions for user onboarding, sending transactions (userOps), gas sponsorship and much more.

πŸ“š Table of Contents

πŸ› οΈ Quickstart

Installation

  1. Add the package:
bun add @biconomy/abstractjs viem @rhinestone/module-sdk
  1. Basic Usage:
import { toMultichainNexusAccount, mcUSDC } from "@biconomy/abstractjs";
import { base, optimism } from "viem/chains";
import { privateKeyToAccount } from "viem/accounts";
import { http } from "viem";
const eoaAccount = privateKeyToAccount(`0x${process.env.PRIVATE_KEY}`)
const mcNexus = await toMultichainNexusAccount({
  chains: [base, optimism],
  transports: [http(), http()],
  signer: eoaAccount
})
const meeClient = await createMeeClient({ account: mcNexus })

const quote = await meeClient.getQuote({
  instructions: [{
    calls: [{ to: "0x...", value: 1n, gasLimit: 100000n }],
    chainId: base.id
  }],
  feeToken: {
    address: mcUSDC.addressOn(base.id),
    chainId: base.id
  }
})

// Execute the quote and get back a transaction hash
// This sends the transaction to the network
const { hash } = await meeClient.executeQuote({ quote })

Testing

Prerequisites:

  • Node.js (v22 or higher)
  • Bun package manager
  • Foundry
  • Yarn (must be 1.1.x, not 3.x). This is necessary because the nexus contracts repo relies on yarn.

Setup:

bun install --frozen-lockfile

Funding test accounts:

# Fund test nexus accounts with native tokens and USDC, using a funded PRIVATE_KEY master account
bun run fund:nexus

Running Tests:

# Run all tests
bun run test

# Run tests in watch mode for a specific subset of tests (by test description)
bun run test:watch -t=mee

For detailed information about the testing framework, network configurations, and debugging guidelines, please refer to our Testing Documentation.

πŸ“„ Documentation and Resources

For a comprehensive understanding of our project and to contribute effectively, please refer to the following resources:

License

This project is licensed under the MIT License. See the LICENSE file for details

Connect with Biconomy 🍊

Website Telegram Twitter LinkedIn Discord YouTube GitHub

About

No description, website, or topics provided.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •