UNPKG

tokamak-staking-lib

Version:
60 lines (59 loc) 2.13 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const { toBN } = require("web3-utils"); const web3_connector_1 = __importDefault(require("../common/web3-connector")); const SeigManagerABI = require("./abi/SeigManager.json"); class SeigManager { constructor() { const web3 = web3_connector_1.default.instance().web3; this._contract = new web3.eth.Contract(SeigManagerABI, SeigManager._address); } static instance() { if (!SeigManager._instance) { SeigManager._instance = new SeigManager(); } return SeigManager._instance; } static setNetwork(net) { switch (net) { case "mainnet": SeigManager._address = "0x710936500aC59e8551331871Cbad3D33d5e0D909"; break; case "rinkeby": SeigManager._address = "0xdb6046F3b59395A126a324E63aC93f4c38119055"; break; } } static get address() { return SeigManager._address; } async stakeOf(layer2, account, blockNumber) { return toBN(await this._contract.methods.stakeOf(layer2, account).call(null, blockNumber == null ? "latest" : blockNumber)); } async totAddress() { if (!this._totAddress) { this._totAddress = await this._contract.methods.tot().call(); } return this._totAddress; } async seigPerBlock() { return await this._contract.methods.seigPerBlock().call(); } async paused() { return await this._contract.methods.paused().call(); } async lastSeigBlock() { return await this._contract.methods.lastSeigBlock().call(); } async pausedBlock() { return await this._contract.methods.unpausedBlock().call(); } async unpausedBlock() { return await this._contract.methods.unpausedBlock().call(); } } exports.default = SeigManager; SeigManager._address = "0x710936500aC59e8551331871Cbad3D33d5e0D909";