Common Provider Methods

AbstractRpcProvider

AbstractRpcProvider serves as the base class for all OP_NET providers. It defines the common interface and shared functionality that both JSONRpcProvider and WebSocketRpcProvider inherit. This ensures a consistent API across provider types.

Block Operations

typescript
// Get current block height
const height = await provider.getBlockNumber();

// Get a specific block
const block = await provider.getBlock(height);

// Get block by hash
const blockByHash = await provider.getBlockByHash('0x...');

Transaction Operations

typescript
// Get transaction
const tx = await provider.getTransaction('txHash');

// Get receipt
const receipt = await provider.getTransactionReceipt('txHash');

// Broadcast transaction
const result = await provider.sendRawTransaction(rawTx, psbt);

Contract Operations

typescript
// Call contract (simulation)
const result = await provider.call(
    contractAddress,
    calldata,
    senderAddress
);

// Get contract code
const code = await provider.getCode(contractAddress);

// Read storage
const value = await provider.getStorageAt(contractAddress, pointer);

Balance & UTXO Operations

typescript
// Get balance
const balance = await provider.getBalance('address');

// Get multiple balances
const balances = await provider.getBalances(['addr1', 'addr2']);

// Get UTXOs
const utxos = await provider.utxoManager.getUTXOs({
    address: 'address',
});