connectWithClient static method
Future<SignalingContract>
connectWithClient({
- required Web3Client client,
- required EthereumAddress contractAddress,
- Credentials? credentials,
- int? chainId,
Connect to existing contract with pre-configured Web3Client
This method allows using an existing Web3Client instance, which is useful for connection pooling and management.
Implementation
static Future<SignalingContract> connectWithClient({
required Web3Client client,
required EthereumAddress contractAddress,
Credentials? credentials,
int? chainId,
}) async {
final contract = DeployedContract(
ContractAbi.fromJson(contractAbi, 'Signaling'),
contractAddress,
);
// If chainId not provided, fetch from network
int? resolvedChainId = chainId;
if (resolvedChainId == null && credentials != null) {
try {
final chainIdBigInt = await client.getChainId();
resolvedChainId = chainIdBigInt.toInt();
} catch (e) {
// Continue without chainId if unable to fetch
}
}
return SignalingContract(
client: client,
contract: contract,
credentials: credentials,
chainId: resolvedChainId,
);
}