# Generated by Django 2.0.2 on 2018-04-23 23:22

from django.conf import settings
import django.contrib.postgres.fields
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
import django.db.models.query_utils
import django.utils.timezone
import gm2m.fields
import model_utils.fields


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('contenttypes', '0002_remove_content_type_name'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Bcy',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
                ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
                ('is_removed', models.BooleanField(default=False)),
                ('private', models.CharField(max_length=150, unique=True)),
                ('public', models.CharField(max_length=150, unique=True)),
                ('address', models.CharField(max_length=150, unique=True)),
                ('wif', models.CharField(max_length=150, unique=True)),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='bcy_wallets', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Btc',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
                ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
                ('is_removed', models.BooleanField(default=False)),
                ('private', models.CharField(max_length=150, unique=True)),
                ('public', models.CharField(max_length=150, unique=True)),
                ('address', models.CharField(max_length=150, unique=True)),
                ('wif', models.CharField(max_length=150, unique=True)),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='btc_wallets', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Dash',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
                ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
                ('is_removed', models.BooleanField(default=False)),
                ('private', models.CharField(max_length=150, unique=True)),
                ('public', models.CharField(max_length=150, unique=True)),
                ('address', models.CharField(max_length=150, unique=True)),
                ('wif', models.CharField(max_length=150, unique=True)),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='dash_wallets', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Doge',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
                ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
                ('is_removed', models.BooleanField(default=False)),
                ('private', models.CharField(max_length=150, unique=True)),
                ('public', models.CharField(max_length=150, unique=True)),
                ('address', models.CharField(max_length=150, unique=True)),
                ('wif', models.CharField(max_length=150, unique=True)),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='doge_wallets', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Invoice',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('amount', django.contrib.postgres.fields.ArrayField(base_field=models.BigIntegerField(validators=[django.core.validators.MinValueValidator(0)]), blank=True, size=None)),
                ('sender_wallet_id', models.PositiveIntegerField()),
                ('is_paid', models.BooleanField(default=False)),
                ('receiver_wallet_object', gm2m.fields.GM2MField(through_fields=('gm2m_src', 'gm2m_tgt', 'gm2m_ct', 'gm2m_pk'))),
                ('sender_wallet_type', models.ForeignKey(limit_choices_to=django.db.models.query_utils.Q(django.db.models.query_utils.Q(('model', 'btc'), ('app_label', 'wallets'), _connector='AND'), django.db.models.query_utils.Q(('model', 'ltc'), ('app_label', 'wallets'), _connector='AND'), django.db.models.query_utils.Q(('model', 'dash'), ('app_label', 'wallets'), _connector='AND'), django.db.models.query_utils.Q(('model', 'doge'), ('app_label', 'wallets'), _connector='AND'), django.db.models.query_utils.Q(('model', 'bcy'), ('app_label', 'wallets'), _connector='AND'), _connector='OR'), on_delete=django.db.models.deletion.CASCADE, related_name='sended_invoices', to='contenttypes.ContentType')),
            ],
        ),
        migrations.CreateModel(
            name='InvoiceTransaction',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('tx_ref', models.CharField(max_length=100, null=True)),
                ('is_confirmed', models.BooleanField(default=False)),
                ('invoice', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tx_refs', to='wallets.Invoice')),
            ],
        ),
        migrations.CreateModel(
            name='Ltc',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
                ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
                ('is_removed', models.BooleanField(default=False)),
                ('private', models.CharField(max_length=150, unique=True)),
                ('public', models.CharField(max_length=150, unique=True)),
                ('address', models.CharField(max_length=150, unique=True)),
                ('wif', models.CharField(max_length=150, unique=True)),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ltc_wallets', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
    ]
