@r3l/common
Version:
121 lines • 4.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PAYOUT_DELAY = exports.BUCKET_MS = exports.INCLUDE_POSTS = exports.MIN_DEGREE = exports.postRateLimits = exports.feedFilters = exports.userVotePower = exports.BANNED_USER_HANDLES = exports.BANNED_COMMUNITY_SLUGS = exports.newUserCoins = exports.getRewardForType = exports.MAX_AIRDROP = exports.totalAllowedInvites = exports.TOKEN_DECIMALS = exports.REDDIT_REWARD = exports.CASHOUT_MAX = exports.SHORT_VEST_MAX = exports.CASHOUT_LIMIT = exports.EMAIL_REWARD = exports.TWITTER_REWARD = exports.REFERRAL_REWARD = exports.PUBLIC_LINK_REWARD = exports.MINIMUM_DOWNVOTES_NEW = exports.MINIMUM_REP_NEW = exports.MINIMUM_RANK = exports.REP_CUTOFF = exports.RELEVANCE_DECAY_POSTS = exports.RELEVANCE_DECAY = exports.POWER_REGEN_INTERVAL = exports.EXPONENT = exports.SLOPE = exports.VOTE_COST_RATIO = exports.PAYOUT_TIME = exports.PAYOUT_DAYS = exports.TWITTER_DECAY = exports.MAX_BET = exports.SHARE_DECAY = exports.INIT_COIN = exports.INTERVAL_INFLAITION = exports.YEARLY_INFLATION = exports.PAYOUT_FREQUENCY_FRACTION = exports.PAYOUT_FREQUENCY = exports.DAYS = exports.HOURS = void 0;
exports.HOURS = 60 * 60 * 1000;
exports.DAYS = exports.HOURS * 24;
exports.PAYOUT_FREQUENCY = 1 * exports.HOURS;
exports.PAYOUT_FREQUENCY_FRACTION = 1 / (365 * 24);
exports.YEARLY_INFLATION = 0.1;
exports.INTERVAL_INFLAITION = Math.pow((1 + exports.YEARLY_INFLATION), exports.PAYOUT_FREQUENCY_FRACTION) - 1;
exports.INIT_COIN = 1000000;
exports.SHARE_DECAY = 6 * exports.DAYS;
exports.MAX_BET = 10000;
exports.TWITTER_DECAY = 12 * exports.HOURS;
exports.PAYOUT_DAYS = 3;
exports.PAYOUT_TIME = exports.PAYOUT_DAYS * exports.DAYS;
exports.VOTE_COST_RATIO = 0.1;
exports.SLOPE = 4.2;
exports.EXPONENT = 1.4;
exports.POWER_REGEN_INTERVAL = 24 * 60 * 60 * 1000;
exports.RELEVANCE_DECAY = 90 * exports.DAYS;
exports.RELEVANCE_DECAY_POSTS = 90 * exports.DAYS;
exports.REP_CUTOFF = Math.round(365 * 1.5);
exports.MINIMUM_RANK = 1;
exports.MINIMUM_REP_NEW = -5;
exports.MINIMUM_DOWNVOTES_NEW = 5;
exports.PUBLIC_LINK_REWARD = 0;
exports.REFERRAL_REWARD = 0;
exports.TWITTER_REWARD = 0;
exports.EMAIL_REWARD = 0;
exports.CASHOUT_LIMIT = 0;
exports.SHORT_VEST_MAX = 80000;
exports.CASHOUT_MAX = 3000;
exports.REDDIT_REWARD = 0;
exports.TOKEN_DECIMALS = 1e18;
exports.totalAllowedInvites = (pagerank) => {
if (pagerank < 1)
return 0;
if (pagerank < 3)
return 1;
if (pagerank < 5)
return 2;
if (pagerank < 10)
return 3;
if (pagerank < 20)
return 8;
if (pagerank < 40)
return 13;
if (pagerank < 60)
return 23;
if (pagerank < 80)
return 33;
return 100;
};
exports.MAX_AIRDROP = 300;
exports.getRewardForType = (type) => {
switch (type) {
case 'reddit':
return exports.REDDIT_REWARD;
case 'email':
return exports.EMAIL_REWARD;
case 'twitter':
return exports.TWITTER_REWARD;
case 'referral':
return exports.REFERRAL_REWARD;
case 'referredBy':
return exports.REFERRAL_REWARD;
case 'publicLink':
case 'publicInvite':
return exports.PUBLIC_LINK_REWARD;
default:
return 0;
}
};
exports.newUserCoins = (user) => {
let reward = 0;
if (user.email && user.confirmed)
reward = exports.EMAIL_REWARD;
if (user.twitterId)
reward = exports.TWITTER_REWARD;
return reward;
};
exports.BANNED_COMMUNITY_SLUGS = [
'admin',
'user',
'channel',
'home',
'auth',
'profile',
'communities',
'subscriptions',
'graphql',
'info',
'undefined',
'api',
'dist',
'public',
'',
];
exports.BANNED_USER_HANDLES = [
...exports.BANNED_COMMUNITY_SLUGS,
'everyone',
'group',
'all',
'invite',
];
exports.userVotePower = (pagerank) => Math.round(Math.sqrt(1 + pagerank * 4));
exports.feedFilters = ['new', 'stake', 'top', 'spam', 'flagged'];
exports.postRateLimits = [
{ maxRep: -75, post: 0, comment: 0, window: 3 },
{ maxRep: -30, post: 1, comment: 1, window: 3 },
{ maxRep: -10, post: 1, comment: 1, window: 1 },
{ maxRep: 1, post: 3, comment: 3, window: 1 },
{ maxRep: 10, post: 5, comment: 5, window: 1 },
{ maxRep: 20, post: 10, comment: 10, window: 1 },
{ maxRep: 50, post: 20, comment: 20, window: 1 },
];
exports.MIN_DEGREE = 50;
exports.INCLUDE_POSTS = true;
exports.BUCKET_MS = 1000 * 60 * 60;
exports.PAYOUT_DELAY = 1000 * 60 * 60 * 24;
//# sourceMappingURL=globalConstants.js.map