UNPKG

ssv-scanner

Version:

Tool for retrieving events data (cluster snapshots and owner nonce) from the SSV network contract.

37 lines (33 loc) 1.02 kB
import { ethers } from 'ethers'; export interface SSVScannerParams { network: string, nodeUrl: string, ownerAddress: string, } export abstract class BaseScanner { protected DAY = 5400; protected WEEK = this.DAY * 7; protected MONTH = this.DAY * 30; protected progressBar: any; protected params: SSVScannerParams; constructor(scannerParams: SSVScannerParams) { if (!scannerParams.nodeUrl) { throw Error('ETH1 node is required'); } if (!scannerParams.network) { throw Error('Network is required'); } if (!scannerParams.ownerAddress) { throw Error('Cluster owner address is required'); } if (scannerParams.ownerAddress.length !== 42) { throw Error('Invalid owner address length.'); } if (!scannerParams.ownerAddress.startsWith('0x')) { throw Error('Invalid owner address.'); } this.params = scannerParams; // convert to checksum addresses this.params.ownerAddress = ethers.getAddress(this.params.ownerAddress); } }