"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SpecialAddresses = exports.SpecialAddressesReverse = exports.PosToFlag = exports.HexToFlag = exports.allHexFlags = exports.FlagToHex = exports.XrpMccCreate = void 0;
const typeReflection_1 = require("../utils/typeReflection");
const genericMccTypes_1 = require("./genericMccTypes");
const axiosRateLimitTypes_1 = require("./axiosRateLimitTypes");
class XrpMccCreate {
    constructor() {
        this.url = "";
        this.apiTokenKey = "";
        this.username = "";
        this.password = "";
        this.inRegTest = false;
        this.rateLimitOptions = new axiosRateLimitTypes_1.RateLimitOptions();
        this.loggingOptions = new genericMccTypes_1.MccLoggingOptions();
    }
}
__decorate([
    (0, typeReflection_1.optional)()
], XrpMccCreate.prototype, "apiTokenKey", void 0);
__decorate([
    (0, typeReflection_1.optional)()
], XrpMccCreate.prototype, "username", void 0);
__decorate([
    (0, typeReflection_1.optional)()
], XrpMccCreate.prototype, "password", void 0);
__decorate([
    (0, typeReflection_1.optional)()
], XrpMccCreate.prototype, "inRegTest", void 0);
__decorate([
    (0, typeReflection_1.optional)()
], XrpMccCreate.prototype, "rateLimitOptions", void 0);
__decorate([
    (0, typeReflection_1.optional)()
], XrpMccCreate.prototype, "loggingOptions", void 0);
exports.XrpMccCreate = XrpMccCreate;
exports.FlagToHex = {
    lsfDepositAuth: 0x01000000,
    lsfDefaultRipple: 0x00800000,
    lsfGlobalFreeze: 0x00400000,
    lsfNoFreeze: 0x00200000,
    lsfDisableMaster: 0x00100000,
    lsfDisallowXRP: 0x00080000,
    lsfRequireAuth: 0x00040000,
    lsfRequireDestTag: 0x00020000,
    lsfPasswordSpent: 0x00010000,
};
exports.allHexFlags = [
    exports.FlagToHex.lsfDepositAuth,
    exports.FlagToHex.lsfDefaultRipple,
    exports.FlagToHex.lsfGlobalFreeze,
    exports.FlagToHex.lsfNoFreeze,
    exports.FlagToHex.lsfDisableMaster,
    exports.FlagToHex.lsfDisallowXRP,
    exports.FlagToHex.lsfRequireAuth,
    exports.FlagToHex.lsfRequireDestTag,
    exports.FlagToHex.lsfPasswordSpent,
];
exports.HexToFlag = {
    0x01000000: "lsfDepositAuth",
    0x00800000: "lsfDefaultRipple",
    0x00400000: "lsfGlobalFreeze",
    0x00200000: "lsfNoFreeze",
    0x00100000: "lsfDisableMaster",
    0x00080000: "lsfDisallowXRP",
    0x00040000: "lsfRequireAuth",
    0x00020000: "lsfRequireDestTag",
    0x00010000: "lsfPasswordSpent",
};
exports.PosToFlag = {
    24: "lsfDepositAuth",
    23: "lsfDefaultRipple",
    22: "lsfGlobalFreeze",
    21: "lsfNoFreeze",
    20: "lsfDisableMaster",
    19: "lsfDisallowXRP",
    18: "lsfRequireAuth",
    17: "lsfRequireDestTag",
    16: "lsfPasswordSpent",
};
exports.SpecialAddressesReverse = {
    rrrrrrrrrrrrrrrrrrrrrhoLvTp: "ACCOUNT_ZERO",
    rrrrrrrrrrrrrrrrrrrrBZbvji: "ACCOUNT_ONE",
    rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh: "GENESIS_ACCOUNT",
    rrrrrrrrrrrrrrrrrNAMEtxvNvQ: "RESERVATION_BLACK_HOLE",
    rrrrrrrrrrrrrrrrrrrn5RM1rHd: "NaN_ADDRESS",
};
exports.SpecialAddresses = {
    ACCOUNT_ZERO: "rrrrrrrrrrrrrrrrrrrrrhoLvTp",
    ACCOUNT_ONE: "rrrrrrrrrrrrrrrrrrrrBZbvji",
    GENESIS_ACCOUNT: "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
    RESERVATION_BLACK_HOLE: "rrrrrrrrrrrrrrrrrNAMEtxvNvQ",
    NaN_ADDRESS: "rrrrrrrrrrrrrrrrrrrn5RM1rHd",
};
//# sourceMappingURL=xrpTypes.js.map