mirror of
https://github.com/Such-Software/wownerogue.git
synced 2026-10-17 14:21:25 +02:00
fix: version monerogue direct-only disclosure
This commit is contained in:
@@ -139,6 +139,8 @@ OPERATED_PRODUCT_PROFILE=such-monerogue-stagenet
|
||||
OPERATOR_NAME=Such Software
|
||||
OPERATOR_CONTACT_URL=mailto:apps@such.software
|
||||
OPERATOR_CONTACT_LABEL=apps@such.software
|
||||
LEGAL_POLICY_VERSION=2026-07-23-v2
|
||||
TERMS_EFFECTIVE_DATE=2026-07-23
|
||||
CRYPTO_TYPE=XMR
|
||||
MONERO_NETWORK=stagenet
|
||||
HOSTED_BY=https://monerogue.app
|
||||
|
||||
@@ -17,6 +17,8 @@ The corresponding `.env.mainnet.example` and `.env.stagenet.example` files opt i
|
||||
startup contract with `OPERATED_PRODUCT_PROFILE`. Preflight and normal startup reject any drift in
|
||||
host, operator identity, chain/network, paid modes, multipliers, or payout gates. Independent MIT
|
||||
self-hosts leave this setting unset and configure a truthful operator identity of their own.
|
||||
The operated Wownero disclosure is version `2026-07-22-v1`; Monerogue's direct-only scope is a
|
||||
material change and therefore uses version `2026-07-23-v2`, effective 2026-07-23.
|
||||
|
||||
## Open-source and operator disclaimer
|
||||
|
||||
|
||||
@@ -29,8 +29,8 @@ ADMIN_API_KEY=CHANGE_ME_WITH_OPENSSL_RAND_HEX_32
|
||||
OPERATOR_NAME=Such Software
|
||||
OPERATOR_CONTACT_URL=mailto:apps@such.software
|
||||
OPERATOR_CONTACT_LABEL=apps@such.software
|
||||
LEGAL_POLICY_VERSION=2026-07-22-v1
|
||||
TERMS_EFFECTIVE_DATE=2026-07-22
|
||||
LEGAL_POLICY_VERSION=2026-07-23-v2
|
||||
TERMS_EFFECTIVE_DATE=2026-07-23
|
||||
MINIMUM_AGE=18
|
||||
PAID_ACKNOWLEDGEMENT_REQUIRED=true
|
||||
# Optional plain-language notice supplied after jurisdiction-specific legal review.
|
||||
|
||||
@@ -33,6 +33,8 @@ const PROFILES = Object.freeze({
|
||||
operatorName: 'Such Software',
|
||||
operatorContactUrl: SOURCE_SOFTWARE.contactUrl,
|
||||
operatorContactLabel: SOURCE_SOFTWARE.contactLabel,
|
||||
legalPolicyVersion: '2026-07-22-v1',
|
||||
termsEffectiveDate: '2026-07-22',
|
||||
scopeNotice: 'Such Software operates play.wowne.ro only as Wownero mainnet free play and pay-for-credits leaderboard/prestige play. Credits are non-redeemable service entitlements. The service offers no prizes, winnings, cash-out, or payouts and is not offered or marketed as gambling; legal classification depends on applicable law.',
|
||||
commerceSummary: 'This purchase grants non-redeemable service credits for leaderboard/prestige play only. play.wowne.ro offers no prize, payout, or cash-out and is not marketed as gambling.',
|
||||
noRealValueNotice: null
|
||||
@@ -44,6 +46,8 @@ const PROFILES = Object.freeze({
|
||||
operatorName: 'Such Software',
|
||||
operatorContactUrl: SOURCE_SOFTWARE.contactUrl,
|
||||
operatorContactLabel: SOURCE_SOFTWARE.contactLabel,
|
||||
legalPolicyVersion: '2026-07-23-v2',
|
||||
termsEffectiveDate: '2026-07-23',
|
||||
scopeNotice: 'Such Software operates monerogue.app only with direct-entry Monero stagenet test coins. Its single-player 2×/3× outcomes are test gambling mechanics; purchased-credit entry is disabled, and no real-money or mainnet gambling is offered.',
|
||||
commerceSummary: 'NO REAL VALUE — monerogue.app uses direct-entry Monero stagenet test coins only. Single-player qualifying outcomes pay 2× or 3× in test coins. Purchased-credit entry is off. Never send mainnet XMR.',
|
||||
noRealValueNotice: 'NO REAL VALUE — Monero stagenet coins are test data, not money, deposits, redeemable prizes, or a promise of value. Never send mainnet XMR to this service.'
|
||||
@@ -124,6 +128,10 @@ function validateOperatedProductProfile(env = process.env, config = {}) {
|
||||
`OPERATOR_CONTACT_URL=${profile.operatorContactUrl}`);
|
||||
requireContract(String(env.OPERATOR_CONTACT_LABEL || '').trim() === profile.operatorContactLabel,
|
||||
`OPERATOR_CONTACT_LABEL=${profile.operatorContactLabel}`);
|
||||
requireContract(String(env.LEGAL_POLICY_VERSION || '').trim() === profile.legalPolicyVersion,
|
||||
`LEGAL_POLICY_VERSION=${profile.legalPolicyVersion}`);
|
||||
requireContract(String(env.TERMS_EFFECTIVE_DATE || '').trim() === profile.termsEffectiveDate,
|
||||
`TERMS_EFFECTIVE_DATE=${profile.termsEffectiveDate}`);
|
||||
requireContract(isExplicitTrue(env.PAYMENTS_ENABLED) && config?.paymentsEnabled === true,
|
||||
'PAYMENTS_ENABLED=true');
|
||||
requireContract(isExplicitTrue(env.PAID_ACKNOWLEDGEMENT_REQUIRED),
|
||||
|
||||
@@ -187,6 +187,8 @@ describe('EnvironmentValidator production launch gate', () => {
|
||||
OPERATOR_NAME: 'Such Software',
|
||||
OPERATOR_CONTACT_URL: 'mailto:apps@such.software',
|
||||
OPERATOR_CONTACT_LABEL: 'apps@such.software',
|
||||
LEGAL_POLICY_VERSION: '2026-07-22-v1',
|
||||
TERMS_EFFECTIVE_DATE: '2026-07-22',
|
||||
CRYPTO_TYPE: 'WOW',
|
||||
MONERO_NETWORK: 'mainnet',
|
||||
FREE_PLAY_ENABLED: 'true',
|
||||
@@ -232,6 +234,8 @@ describe('EnvironmentValidator production launch gate', () => {
|
||||
OPERATOR_NAME: 'Such Software',
|
||||
OPERATOR_CONTACT_URL: 'mailto:apps@such.software',
|
||||
OPERATOR_CONTACT_LABEL: 'apps@such.software',
|
||||
LEGAL_POLICY_VERSION: '2026-07-23-v2',
|
||||
TERMS_EFFECTIVE_DATE: '2026-07-23',
|
||||
FREE_PLAY_ENABLED: 'true',
|
||||
PAYMENT_MODES: 'direct',
|
||||
DIRECT_PAYMENT_ENABLED: 'true',
|
||||
@@ -369,6 +373,8 @@ describe('EnvironmentValidator production launch gate', () => {
|
||||
expect.stringContaining('requires HOSTED_BY=https://monerogue.app'),
|
||||
expect.stringContaining('requires OPERATOR_NAME=Such Software'),
|
||||
expect.stringContaining('requires OPERATOR_CONTACT_URL=mailto:apps@such.software'),
|
||||
expect.stringContaining('requires LEGAL_POLICY_VERSION=2026-07-23-v2'),
|
||||
expect.stringContaining('requires TERMS_EFFECTIVE_DATE=2026-07-23'),
|
||||
expect.stringContaining('requires MONERO_NETWORK=stagenet'),
|
||||
expect.stringContaining('requires PAYMENT_MODES=direct'),
|
||||
expect.stringContaining('requires CREDITS_ENABLED=false'),
|
||||
|
||||
@@ -71,8 +71,8 @@ describe('operated product environment templates', () => {
|
||||
OPERATOR_NAME: 'Such Software',
|
||||
OPERATOR_CONTACT_URL: 'mailto:apps@such.software',
|
||||
OPERATOR_CONTACT_LABEL: 'apps@such.software',
|
||||
LEGAL_POLICY_VERSION: '2026-07-22-v1',
|
||||
TERMS_EFFECTIVE_DATE: '2026-07-22',
|
||||
LEGAL_POLICY_VERSION: '2026-07-23-v2',
|
||||
TERMS_EFFECTIVE_DATE: '2026-07-23',
|
||||
MINIMUM_AGE: '18',
|
||||
PAID_ACKNOWLEDGEMENT_REQUIRED: 'true',
|
||||
CRYPTO_TYPE: 'XMR',
|
||||
|
||||
Reference in New Issue
Block a user