<?php

namespace Database\Seeders\Currency;

use App\Models\Network\Network;
use Illuminate\Database\Seeder;

class CoinTypeSeeder extends Seeder
{
    const ALLOWED_COIN_TYPES = [
        'internal' => [
            'id' => 0,
            'type' => 'coin',
            'name' => 'Internal'
        ],
        'coinpayments' => [
            'id' => 1,
            'type' => 'coin',
            'name' => 'Coinpayments'
        ],
        'eth' => [
            'id' => 2,
            'type' => 'coin',
            'name' => 'ETH'
        ],
        'erc20' => [
            'id' => 3,
            'type' => 'coin',
            'name' => 'ERC-20'
        ],
        'bank_credit_card' => [
            'id' => 4,
            'type' => 'fiat',
            'name' => 'Bank Transfer & Credit Card'
        ],
        'bnb' => [
            'id' => 5,
            'type' => 'coin',
            'name' => 'BNB'
        ],
        'bep20' => [
            'id' => 6,
            'type' => 'coin',
            'name' => 'BEP-20'
        ],
        'trx' => [
            'id' => 7,
            'type' => 'coin',
            'name' => 'TRX'
        ],
        'trc20' => [
            'id' => 8,
            'type' => 'coin',
            'name' => 'TRC-20'
        ],
        'btc' => [
            'id' => 9,
            'type' => 'coin',
            'name' => 'BTC'
        ]
    ];

    /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run()
    {
        foreach (self::ALLOWED_COIN_TYPES as $slug=>$data) {

            if(Network::whereSlug($slug)->first()) continue;

            $network = new Network();
            $network->id = $data['id'];
            $network->name = $data['name'];
            $network->type = $data['type'];
            $network->slug = $slug;
            $network->save();
        }
    }
}
