UNPKG

tokamak-staking-lib

Version:
57 lines (56 loc) 2.31 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 DepositManagerABI = require("./abi/DepositManager.json"); class DepositManager { constructor() { const web3 = web3_connector_1.default.instance().web3; this._contract = new web3.eth.Contract(DepositManagerABI, DepositManager._address); } static instance() { if (!DepositManager._instance) { DepositManager._instance = new DepositManager(); } return DepositManager._instance; } static setNetwork(net) { switch (net) { case "mainnet": DepositManager._address = "0x56E465f654393fa48f007Ed7346105c7195CEe43"; break; case "rinkeby": DepositManager._address = "0x43dC0927Ca673Dd010393f01ad3EA9c5E45e2896"; break; } } static get address() { return DepositManager._address; } async accStaked(layer2, account, blockNumber) { return await this._contract.methods.accStaked(layer2, account).call(null, blockNumber); } async accUnstaked(layer2, account, blockNumber) { return await this._contract.methods.accUnstaked(layer2, account).call(null, blockNumber); } async accStakedLayer2(layer2) { return await this._contract.methods.accStakedLayer2(layer2).call(); } async accUnstakedLayer2(layer2) { return await this._contract.methods.accUnstakedLayer2(layer2).call(); } async numPendingRequests(layer2, user) { return await this._contract.methods.numPendingRequests(layer2, user).call(); } async withdrawalRequestIndex(layer2, user) { return await this._contract.methods.withdrawalRequestIndex(layer2, user).call(); } async withdrawalRequest(layer2, user, requestIndex) { return await this._contract.methods.withdrawalRequest(layer2, user, requestIndex).call(); } } exports.default = DepositManager; DepositManager._address = "0x56E465f654393fa48f007Ed7346105c7195CEe43";