WalrusDirectClient constructor

WalrusDirectClient({
  1. WalrusNetwork? network,
  2. WalrusPackageConfig? packageConfig,
  3. String? walrusPackageId,
  4. required SuiClient suiClient,
  5. UploadRelayConfig? uploadRelayConfig,
  6. BlobEncoder? encoder,
  7. BlsProvider? blsProvider,
  8. WalrusLogLevel logLevel = WalrusLogLevel.none,
  9. WalrusLogHandler? onLog,
})

Implementation

WalrusDirectClient({
  this.network,
  WalrusPackageConfig? packageConfig,
  String? walrusPackageId,
  required this.suiClient,
  this.uploadRelayConfig,
  this.encoder,
  this.blsProvider,
  WalrusLogLevel logLevel = WalrusLogLevel.none,
  WalrusLogHandler? onLog,
}) : packageConfig =
         packageConfig ??
         network?.packageConfig ??
         (throw ArgumentError(
           'Either network or packageConfig must be provided',
         )),
     _walrusPackageId = walrusPackageId,
     logger = WalrusLogger(level: logLevel, onRecord: onLog) {
  _stateReader = SystemStateReader(
    suiClient: suiClient,
    config: this.packageConfig,
  );

  _committeeResolver = CommitteeResolver(
    suiClient: suiClient,
    config: this.packageConfig,
    stateReader: _stateReader,
  );

  if (uploadRelayConfig != null) {
    _relayClient = UploadRelayClient(
      host: uploadRelayConfig!.host,
      timeout: uploadRelayConfig!.timeout,
    );
  }
}