· 7 years ago · Jul 15, 2018, 02:26 AM
1"""Application configuration."""
2import os
3import datetime
4
5from celery.schedules import crontab
6
7class Config(object):
8 """Base configuration."""
9
10 USER_ROLES = ['moderator', 'chat_ban'] # Admin role already exists within the application, add additional roles here
11 # Flask Security
12 SECRET_KEY = os.environ.get('GENESIS_SECRET', 'secret-key')
13 SECURITY_PASSWORD_SALT = SECRET_KEY
14 SECURITY_EMAIL_SUBJECT_REGISTER="Welcome to BananoBet"
15 SECURITY_CHANGEABLE=True
16 SECURITY_RECOVERABLE=True
17 SECURITY_REGISTERABLE=True
18 SECURITY_CONFIRMABLE=True
19 SECURITY_EMAIL_SENDER='noreply@bananobet.com'
20 # Paths
21 APP_DIR = os.path.abspath(os.path.dirname(__file__)) # This directory
22 PROJECT_ROOT = os.path.abspath(os.path.join(APP_DIR, os.pardir))
23 BCRYPT_LOG_ROUNDS = 13
24 # Webpack
25 WEBPACK_MANIFEST_PATH = 'webpack/manifest.json'
26 # Mail
27 MAIL_SERVER='smtp.office365.com'
28 MAIL_PORT=465
29 MAIL_USE_SSL=True
30 MAIL_USERNAME='support@bananobet.com'
31 MAIL_PASSWORD='Av3ng3Media'
32 # flask-pagination
33 CSS_FRAMEWORK='bootstrap4'
34 LINK_SIZE='sm'
35 SHOW_SINGLE_PAGE=False
36 # Localizations
37 LANGUAGES = {
38 'en': 'English'
39 }
40 # Flask-Session
41 SESSION_TYPE = 'redis'
42 # Recaptcha
43 RECAPTCHA_PUBLIC_KEY='6Lcm42AUAAAAANrWDzdiIY7t5Eq-yh7KPAGhYP9i'
44 RECAPTCHA_PRIVATE_KEY='6Lcm42AUAAAAAKO7SYrJ17L_tjsKkWol4grQPyTC'
45 # Celery beat schedule
46 CELERYBEAT_SCHEDULE = {
47 'deposit_watcher': {
48 'task':'genesis_backend.tasks.deposit_check_job',
49 'schedule': crontab(),
50 'args': ()
51 },
52 'hot_wallet_watchdog': {
53 'task':'genesis_backend.tasks.house_hot_balance_update',
54 'schedule': crontab(minute='*/5'),
55 'args': ()
56 },
57 'ui_updates': {
58 'task':'genesis_backend.tasks.emit_ui_update',
59 'schedule': 5.0,
60 'args': ()
61 },
62 'payout_referrals': {
63 'task':'genesis_backend.tasks.payout_referral_task',
64 'schedule': crontab(hour='0', minute='0', day_of_week='SUN'),
65 'args': ()
66 },
67 'long_queries': {
68 'task':'genesis_backend.tasks.update_cached_queries',
69 'schedule': crontab(),
70 'args': ()
71 }
72 }
73 # Configurables
74 MINIMUM_DEPOSIT=10 # (BANANO)
75 MINIMUM_WITHDRAW=10 # (BANANO)
76 BLOCK_EXPLORER_URL='https://creeper.banano.cc/explorer/block/'
77 # Money configurables
78 MAX_RISK=5 #(percent) - how much of investments house is willing to risk per bet
79 HOUSE_EDGE=2
80 REFERRAL_BONUS=10 # (percent) - how much of house edge referred gets paid
81 REFERRAL_CAP=5000 # (BANANO) - max referral profit
82 # Cold wallet
83 HOUSE_COLD_WALLET='ban_1banbet5zzppapkre1kuaymtf4j3utosd5d83oczoopsjgxpcxtxgh9prhgh'
84 # Faucet Cap - max house is willing to buy out in the faucet
85 FAUCET_CAP=50000
86 FAUCET_PAYMENT=25 # Daily faucet payment amount
87
88class ProdConfig(Config):
89 """Production configuration."""
90 ENV = 'prod'
91 DEBUG = False
92 # Database
93 DATABASE = 'postgresext+pool://genesis_user:av3ng3g3n3sis@178.128.46.252/genesis_dice?max_connections=50&stale_timeout=300&autorollback=True'
94 # Celery
95 CELERY_BROKER_URL='redis://localhost:6379/0'
96 CELERY_BACKEND_URL='redis://localhost:6379/0'
97 # Cache
98 CACHE_TYPE='redis'
99 CACHE_KEY_PREFIX='bbcache'
100 CACHE_REDIS_HOST='localhost'
101 CACHE_REDIS_PORT=6379
102 # BANANODE
103 NODE_URL='[::1]'
104 NODE_IP=7072
105 # House Wallet ID
106 HOUSE_WALLET_ID='45D12241702E96E40D1D61DC4E3C0AD91C27A0538785DF9AF99BD9B8D1377654'
107 HOUSE_HOT_WALLET='ban_1banbet955hwemgsqrb8afycd3nykaqaxsn7iaydcctfrwi3rbb36y17fbcb'
108 # Wallet to stash user accounts
109 USER_WALLET_ID='52F8A181EAFD39830163273FF3F0EAE2C0257C985CD52E399DD1EDE956871D2D'
110
111class DevConfig(Config):
112 """Development configuration."""
113 ENV = 'dev'
114 DEBUG = True
115 DB_NAME = 'dev.db'
116 # Put the db file in project root
117 DB_PATH = os.path.join(Config.PROJECT_ROOT, DB_NAME)
118 DATABASE = os.environ.get('DATABASE', 'sqlite:///{0}'.format(DB_PATH))
119 # DATABASE = 'postgresext+pool://genesis:av3ng3@207.148.8.82/gendev?max_connections=50&stale_timeout=300&autorollback=True'
120 CACHE_TYPE = 'simple' # Can be "memcached", "redis", etc.
121 # Celery
122 CELERY_BROKER_URL='redis://:b4n4n0b3t@207.148.8.82:6379/0'
123 CELERY_BACKEND_URL='redis://:b4n4n0b3t@207.148.8.82:6379/0'
124 # BANANODE
125 NODE_URL='207.148.8.82'
126 NODE_IP=7072
127 # House Wallet ID
128 HOUSE_WALLET_ID='CDAAB987D178CE537BA3CAE4C0A2A68135B090F583CB4A2FBFF0A249FA9ED20F'
129 HOUSE_HOT_WALLET='ban_1hdf53n6fo686aqn6kr74kdq94u3bxcykpfg41idcqwz3a97e6ynmye4tq4z'
130 # Wallet to stash user accounts
131 USER_WALLET_ID='4502D70D5BDAEB9A703AB3874E50CF0F41FF21110AA3C9BF856C8599F9E8246D'