MCPcopy Index your code
hub / github.com/AcalaNetwork/acala.js

github.com/AcalaNetwork/acala.js @v4.1.15

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.1.15 ↗ · + Follow
842 symbols 1,918 edges 141 files 35 documented · 4%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

🌊 Acala.js

License npm TypeScript Node.js

📦 Packages

Package Description Version
@acala-network/sdk Main SDK with wallet, DeFi protocols npm
@acala-network/sdk-core Core utilities, tokens, math operations npm
@acala-network/sdk-swap DEX trading and liquidity operations npm
@acala-network/sdk-loan CDP (Collateralized Debt Position) management npm
@acala-network/sdk-homa Liquid staking (LDOT/LKSM) operations npm
@acala-network/sdk-payment Transaction fee management npm
@acala-network/wormhole-portal Cross-chain bridge operations npm

🚀 Quick Start

Installation

# Install the main SDK
npm install @acala-network/sdk @acala-network/types @polkadot/api

# Or with yarn
yarn add @acala-network/sdk @acala-network/types @polkadot/api

Basic Usage

import { ApiPromise, WsProvider } from '@polkadot/api';
import { options } from '@acala-network/api';
import { Wallet } from '@acala-network/sdk';

// Connect to Acala network
const provider = new WsProvider('wss://acala-rpc.aca-api.network');
const api = await ApiPromise.create(options({ provider }));

// Create wallet instance
const wallet = new Wallet(api);

// Get account balance
const address = '5F98oWfz2r5rcRVnP9VCndg33DAAsky3iuoBSpaPUbgN9AJn';
const accountInfo = await wallet.queryBalance(address);
console.log('ACA Balance:', accountInfo.native.available.toString());

// Subscribe to balance changes
wallet.subscribeBalance(address, (balance) => {
  console.log('Balance updated:', balance.native.available.toString());
});

📚 Documentation

🛠️ Development

Prerequisites

  • Node.js ≥ 22
  • Yarn 4.x

Setup

# Clone the repository
git clone https://github.com/AcalaNetwork/acala.js.git
cd acala.js

# Install dependencies
yarn install

# Build all packages
yarn build

# Run tests
yarn test

# Lint code
yarn lint

Project Structure

acala.js/
├── packages/
│   ├── sdk/           # Main SDK package
│   ├── sdk-core/      # Core utilities
│   ├── sdk-swap/      # DEX operations
│   ├── sdk-loan/      # CDP management
│   ├── sdk-homa/      # Liquid staking
│   ├── sdk-payment/   # Fee management
│   └── wormhole-portal/ # Cross-chain bridge
├── docs/              # Documentation
└── examples/          # Example applications

Extension points exported contracts — how you extend this code

BaseSDK (Interface)
(no doc) [14 implementers]
packages/sdk/src/types.ts
BaseSwap (Interface)
(no doc) [1 implementers]
packages/sdk-swap/src/types.ts
StakingPoolLedgerData (Interface)
(no doc) [1 implementers]
packages/sdk-homa/src/staking-pool.ts
PaymentConfig (Interface)
(no doc)
packages/sdk-payment/src/types.ts
StableAsset (Interface)
(no doc)
packages/sdk-core/src/token.ts
WormholePortalConfigs (Interface)
(no doc)
packages/wormhole-portal/src/types.ts
LoanCalculatorParams (Interface)
(no doc)
packages/sdk-loan/src/loan-calculator.ts
PriceProvider (Interface)
(no doc) [9 implementers]
packages/sdk/src/wallet/price-provider/types.ts

Core symbols most depended-on inside this repo

toString
called by 169
packages/sdk-core/src/token.ts
fromRational
called by 123
packages/sdk-core/src/fixed-point-number.ts
fromInner
called by 117
packages/sdk-core/src/fixed-point-number.ts
toNumber
called by 93
packages/sdk-core/src/fixed-point-number.ts
forceToCurrencyName
called by 56
packages/sdk-core/src/converter.ts
create
called by 48
packages/sdk/src/utils/storage/storage.ts
times
called by 45
packages/sdk-core/src/fixed-point-number.ts
div
called by 45
packages/sdk-core/src/fixed-point-number.ts

Shape

Method 453
Class 165
Interface 117
Function 101
Enum 6

Languages

TypeScript100%

Modules by API surface

packages/sdk-core/src/converter.ts33 symbols
packages/sdk-core/src/token.ts31 symbols
packages/sdk-core/src/fixed-point-number.ts29 symbols
packages/wormhole-portal/src/errors.ts27 symbols
packages/sdk-loan/src/loan-calculator.ts25 symbols
packages/sdk/src/homa/index.ts24 symbols
packages/sdk-homa/src/staking-pool.ts24 symbols
packages/sdk-core/src/errors.ts24 symbols
packages/sdk/src/abis/types/Erc20.ts23 symbols
packages/sdk-swap/src/dex.ts22 symbols
packages/sdk/src/liquidity/index.ts21 symbols
packages/wormhole-portal/src/wormhole-portal.ts20 symbols

For agents

$ claude mcp add acala.js \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page