@interest-protocol/xswap-sdk
v1.0.2
Published
SDK for Lattice XSwap on Sui
Downloads
243
Readme
@lattice/xswap-sdk
SDK for cross-chain atomic swaps via XSwap protocol.
Installation
bun installUsage
import { XSwap, ChainId, DWalletAddress } from '@lattice/xswap-sdk';
const xswap = new XSwap({
suiClient,
packageId: XSWAP_PACKAGE_ID,
xswapSharedObjectData,
xcoreSharedObjectData,
registrySharedObjectData,
});
// Create a new swap request
const tx = xswap.newRequest({
depositProof,
sourceChain: ChainId.Solana,
destinationChain: ChainId.Sui,
destinationAddress: userSuiAddress,
minDestinationAmount: 1000000n,
});
// Settle a request (solver)
const tx = xswap.settleRequest({
requestId,
settleProof,
});
// Withdraw funds after settlement
const tx = xswap.withdrawRequest({
requestId,
withdrawProof,
presignCapId,
});Proof Parsers
// Parse enclave proofs
const depositProof = XSwap.parseNewRequestProof(raw);
const settleProof = XSwap.parseSettleProof(raw);
const withdrawProof = XSwap.parseWithdrawProof(raw);Wallet Keys
| Chain | Wallet Key | |-------|------------| | Solana | 0 | | Sui | 1 |
Development
bun run build # Build package
bun run test # Run tests
bun run lint # Run linterDocumentation
See ../CLAUDE.md for SDK architecture patterns.
