πHistory
The History
class from @holdstation/worldchain-sdk
enables fetching transaction histories (such as sends, receives, swaps) associated with a wallet on WorldChain.
Installation
npm install @holdstation/worldchain-sdk ethers
Setup
import * as sdk from "@holdstation/worldchain-sdk";
import { ethers } from "ethers";
const provider = new ethers.providers.JsonRpcProvider("<YOUR_RPC_URL>");
const managerHistory = new sdk.Manager(provider, 480); // 480 is WorldChain chainId
Overall Flow
Call
managerHistory.watch(address, callback)
.When new activity is detected, trigger refetch.
Call
walletHistory.find(offset, limit)
to retrieve latest transactions.
π Full Example on GitHub
You can view a full working example here:
Watch Real-time Transaction Updates
π Parameters
address
string
β Yes
Wallet address to monitor.
callback
function
β Yes
Function triggered when new activity is detected.
βΉοΈ Notes:
watch(address, callback)
returns a{ start, stop }
object.You must call
start()
to begin monitoring.Always call
stop()
to properly clean up when the component unmounts.
π Usage Example
const address = "0x138021392da7fdff698a453c94bf914b5045c3a0";
useEffect(() => {
let stopRef: any = undefined;
const fetchTransactionHistory = async () => {
const { start, stop } = await managerHistory.watch(address, () => {});
stopRef = stop;
await start();
};
fetchTransactionHistory()
.then(() => setRefetch((v) => !v))
.catch((e) => console.error("Error fetching transaction history", e));
return () => {
if (stopRef) {
stopRef();
}
};
}, [address]);
Fetch Stored Transaction History
π Parameters
offset
number
β Yes
Starting index for fetching transactions.
limit
number
β Yes
Maximum number of transactions to fetch.
π Usage Example
useEffect(() => {
const fetchAllTransactions = async () => {
try {
const offset = 0;
const limit = 100;
const fetchedTransactions = await walletHistory.find(offset, limit);
console.log("fetchedTransactions:", fetchedTransactions);
} catch (error) {
console.error("Error fetching transactions:", error);
}
};
fetchAllTransactions();
}, [address, refetch]);
Last updated