UNPKG

@colony/purser-metamask

Version:

A javascript library to interact with a Metamask based Ethereum wallet

45 lines (36 loc) 1.27 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.validateMetamaskState = void 0; var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); var _messages = require("./messages"); /** * Validate Metamask's internal state object. * Basically, it checks for important props to be there. * * @method validateMetamaskState * * @param {Object} stateObject State object who's props to check * * @return {boolean} Throws if object is not valid. If it's all good, it returns true. */ var validateMetamaskState = function validateMetamaskState(stateObject) { if (!stateObject || (0, _typeof2.default)(stateObject) !== 'object') { throw new Error(_messages.validators.noState); } if (!stateObject.selectedAddress) { throw new Error(_messages.validators.noStateAddress); } if (!stateObject.networkVersion) { throw new Error(_messages.validators.noStateNetwork); } return true; }; exports.validateMetamaskState = validateMetamaskState; var metamaskValidators = { validateMetamaskState: validateMetamaskState }; var _default = metamaskValidators; exports.default = _default;