"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const lodash_1 = __importDefault(require("lodash"));
var Tokens;
(function (Tokens) {
    Tokens["Poly"] = "POLY";
    Tokens["Dai"] = "DAI";
    Tokens["Ether"] = "ETH";
    Tokens["Erc20"] = "ERC20";
    Tokens["Gusd"] = "GUSD";
    Tokens["Pax"] = "PAX";
    Tokens["Usdc"] = "USDC";
    Tokens["Usdt"] = "USDT";
})(Tokens = exports.Tokens || (exports.Tokens = {}));
var ErrorCodes;
(function (ErrorCodes) {
    ErrorCodes["IncompatibleBrowser"] = "IncompatibleBrowser";
    ErrorCodes["UserDeniedAccess"] = "UserDeniedAccess";
    ErrorCodes["WalletIsLocked"] = "WalletIsLocked";
    ErrorCodes["ProcedureValidationError"] = "ProcedureValidationError";
    ErrorCodes["TransactionRejectedByUser"] = "TransactionRejectedByUser";
    ErrorCodes["TransactionReverted"] = "TransactionReverted";
    ErrorCodes["FatalError"] = "FatalError";
})(ErrorCodes || (ErrorCodes = {}));
var ProcedureTypes;
(function (ProcedureTypes) {
    ProcedureTypes["UnnamedProcedure"] = "UnnamedProcedure";
    ProcedureTypes["Approve"] = "Approve";
    ProcedureTypes["CreateCheckpoint"] = "CreateCheckpoint";
    ProcedureTypes["EnableDividendModules"] = "EnableDividendModules";
    ProcedureTypes["CreateErc20DividendDistribution"] = "CreateErc20DividendDistribution";
    ProcedureTypes["CreateEtherDividendDistribution"] = "CreateEtherDividendDistribution";
    ProcedureTypes["CreateSecurityToken"] = "CreateSecurityToken";
    ProcedureTypes["ReclaimFunds"] = "ReclaimFunds";
    ProcedureTypes["ReserveSecurityToken"] = "ReserveSecurityToken";
    ProcedureTypes["WithdrawTaxes"] = "WithdrawTaxes";
    ProcedureTypes["UpdateDividendsTaxWithholdingList"] = "UpdateDividendsTaxWithholdingList";
    ProcedureTypes["SetDividendsWallet"] = "SetDividendsWallet";
    ProcedureTypes["PushDividendPayment"] = "PushDividendPayment";
})(ProcedureTypes = exports.ProcedureTypes || (exports.ProcedureTypes = {}));
var PolyTransactionTags;
(function (PolyTransactionTags) {
    PolyTransactionTags["Any"] = "Any";
    PolyTransactionTags["Approve"] = "Approve";
    PolyTransactionTags["GetTokens"] = "GetTokens";
    PolyTransactionTags["ReserveSecurityToken"] = "ReserveSecurityToken";
    PolyTransactionTags["CreateSecurityToken"] = "CreateSecurityToken";
    PolyTransactionTags["CreateCheckpoint"] = "CreateCheckpoint";
    PolyTransactionTags["CreateErc20DividendDistribution"] = "CreateErc20DividendDistribution";
    PolyTransactionTags["CreateEtherDividendDistribution"] = "CreateEtherDividendDistribution";
    PolyTransactionTags["SetErc20TaxWithholding"] = "SetErc20TaxWithholding";
    PolyTransactionTags["SetEtherTaxWithholding"] = "SetEtherTaxWithholding";
    PolyTransactionTags["EnableDividends"] = "EnableDividends";
    PolyTransactionTags["ReclaimDividendFunds"] = "ReclaimDividendFunds";
    PolyTransactionTags["WithdrawTaxWithholdings"] = "WithdrawTaxWithholdings";
    PolyTransactionTags["PushDividendPayment"] = "PushDividendPayment";
    PolyTransactionTags["SetDividendsWallet"] = "SetDividendsWallet";
})(PolyTransactionTags = exports.PolyTransactionTags || (exports.PolyTransactionTags = {}));
var TransactionStatus;
(function (TransactionStatus) {
    TransactionStatus["Idle"] = "IDLE";
    TransactionStatus["Unapproved"] = "UNAPPROVED";
    TransactionStatus["Running"] = "RUNNING";
    TransactionStatus["Rejected"] = "REJECTED";
    TransactionStatus["Succeeded"] = "SUCCEEDED";
    TransactionStatus["Failed"] = "FAILED";
})(TransactionStatus = exports.TransactionStatus || (exports.TransactionStatus = {}));
var TransactionQueueStatus;
(function (TransactionQueueStatus) {
    TransactionQueueStatus["Idle"] = "IDLE";
    TransactionQueueStatus["Running"] = "RUNNING";
    TransactionQueueStatus["Failed"] = "FAILED";
    TransactionQueueStatus["Succeeded"] = "SUCCEEDED";
})(TransactionQueueStatus = exports.TransactionQueueStatus || (exports.TransactionQueueStatus = {}));
var DividendModuleTypes;
(function (DividendModuleTypes) {
    DividendModuleTypes["Erc20"] = "erc20";
    DividendModuleTypes["Eth"] = "eth";
})(DividendModuleTypes = exports.DividendModuleTypes || (exports.DividendModuleTypes = {}));
function isPojo(pojo) {
    if (!pojo) {
        return false;
    }
    const props = Object.getOwnPropertyNames(pojo);
    return (lodash_1.default.every(props, prop => {
        return typeof pojo[prop] !== 'function';
    }) && lodash_1.default.isPlainObject(pojo));
}
exports.isPojo = isPojo;
//# sourceMappingURL=types.js.map