@colony/purser-metamask
Version:
A javascript library to interact with a Metamask based Ethereum wallet
45 lines (36 loc) • 1.27 kB
JavaScript
;
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;