Artifex/control_plane/ventures/migrations/0006_pretokenmonetizationassessment_and_more.py

131 lines
8.4 KiB
Python
Raw Normal View History

2026-08-16 19:31:15 +07:00
# Generated by Django 5.2.16 on 2026-08-16 12:19
import django.db.models.deletion
import uuid
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('ventures', '0005_alter_autonomousoperabilityassessment_venture_track_and_more'),
]
operations = [
migrations.CreateModel(
name='PreTokenMonetizationAssessment',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('mode', models.CharField(choices=[('NONE', 'None'), ('PAID_BETA_ACCESS', 'Paid Beta Access'), ('SERVICE_CREDITS', 'Service Credits'), ('STABLECOIN_USAGE_FEES', 'Stablecoin Usage Fees'), ('SUBSCRIPTION', 'Subscription'), ('FOUNDING_MEMBERSHIP', 'Founding Membership'), ('FOUNDING_MEMBERSHIP_NFT', 'Founding Membership Nft'), ('OTHER', 'Other')], default='NONE', max_length=40)),
('pre_token_monetization_potential', models.FloatField(default=0.0)),
('pre_token_business', models.TextField(blank=True)),
('immediate_utility', models.JSONField(blank=True, default=list)),
('revenue_ladder', models.JSONField(blank=True, default=dict)),
('founding_membership_policy', models.JSONField(blank=True, default=dict)),
('autonomous_fulfillment_notes', models.TextField(blank=True)),
('metadata', models.JSONField(blank=True, default=dict)),
('proposal', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='pretoken_monetization', to='ventures.companyproposal')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='ProtocolSecurityAssessment',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('decision', models.CharField(choices=[('PASS_FOR_TESTNET_DESIGN', 'Pass For Testnet Design'), ('REVISE_SECURITY_MODEL', 'Revise Security Model'), ('BLOCK_TESTNET', 'Block Testnet')], max_length=40)),
('threat_model', models.JSONField(blank=True, default=dict)),
('missing_controls', models.JSONField(blank=True, default=list)),
('privileged_roles', models.JSONField(blank=True, default=list)),
('economic_attack_surfaces', models.JSONField(blank=True, default=list)),
('key_management_assumptions', models.JSONField(blank=True, default=list)),
('rationale', models.TextField(blank=True)),
('metadata', models.JSONField(blank=True, default=dict)),
('proposal', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='protocol_security_assessment', to='ventures.companyproposal')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='TokenEconomicModel',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('unit_of_service', models.CharField(blank=True, max_length=160)),
('expected_usage_frequency', models.CharField(blank=True, max_length=160)),
('transaction_fee_model', models.TextField(blank=True)),
('average_fee', models.FloatField(default=0.0)),
('payment_asset', models.CharField(blank=True, max_length=80)),
('stake_requirement', models.FloatField(default=0.0)),
('collateral_requirement', models.FloatField(default=0.0)),
('provider_count', models.PositiveIntegerField(default=0)),
('demand_side_users', models.PositiveIntegerField(default=0)),
('slash_event_assumptions', models.JSONField(blank=True, default=dict)),
('slash_amount', models.FloatField(default=0.0)),
('emission_schedule', models.JSONField(blank=True, default=dict)),
('bootstrap_subsidies', models.FloatField(default=0.0)),
('treasury_share', models.FloatField(default=0.0)),
('provider_reward_share', models.FloatField(default=0.0)),
('token_sinks', models.JSONField(blank=True, default=list)),
('unlock_assumptions', models.JSONField(blank=True, default=dict)),
('circulation_assumptions', models.JSONField(blank=True, default=dict)),
('metadata', models.JSONField(blank=True, default=dict)),
('proposal', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='token_economic_model', to='ventures.companyproposal')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='TokenLaunchReadinessAssessment',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('real_users', models.BooleanField(default=False)),
('repeat_usage', models.BooleanField(default=False)),
('real_protocol_fees', models.BooleanField(default=False)),
('token_necessity_validated', models.BooleanField(default=False)),
('token_demand_loop_validated', models.BooleanField(default=False)),
('security_audit_status', models.CharField(blank=True, max_length=120)),
('testnet_stability', models.CharField(blank=True, max_length=120)),
('tokenomics_stress_tests', models.JSONField(blank=True, default=dict)),
('legal_review_status', models.CharField(blank=True, max_length=120)),
('jurisdiction_policy_status', models.CharField(blank=True, max_length=120)),
('admin_key_controls', models.CharField(blank=True, max_length=120)),
('treasury_controls', models.CharField(blank=True, max_length=120)),
('decentralization_readiness', models.CharField(blank=True, max_length=120)),
('launch_readiness_status', models.CharField(choices=[('NOT_READY', 'Not Ready'), ('PRODUCT_TRACTION_REQUIRED', 'Product Traction Required'), ('TOKEN_MODEL_REVISION_REQUIRED', 'Token Model Revision Required'), ('SECURITY_REVIEW_REQUIRED', 'Security Review Required'), ('LEGAL_REVIEW_REQUIRED', 'Legal Review Required'), ('READY_FOR_HUMAN_LAUNCH_REVIEW', 'Ready For Human Launch Review')], default='NOT_READY', max_length=60)),
('metadata', models.JSONField(blank=True, default=dict)),
('proposal', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='token_launch_readiness', to='ventures.companyproposal')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='TokenRoleDecomposition',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('roles', models.JSONField(blank=True, default=dict)),
('required_roles', models.JSONField(blank=True, default=list)),
('stablecoin_counterfactual', models.JSONField(blank=True, default=dict)),
('native_token_removed_outcome', models.TextField(blank=True)),
('metadata', models.JSONField(blank=True, default=dict)),
('proposal', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='token_role_decomposition', to='ventures.companyproposal')),
],
options={
'abstract': False,
},
),
]