-- MySQL dump 10.13  Distrib 8.0.36, for Linux (x86_64)
--
-- Host: localhost    Database: nac_id
-- ------------------------------------------------------
-- Server version	8.0.36

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `cbp_applications`
--

DROP TABLE IF EXISTS `cbp_applications`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `cbp_applications` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `user_id` bigint unsigned NOT NULL,
  `wallet_address` varchar(66) NOT NULL,
  `status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT 'pending/reviewing/approved/rejected',
  `stake_amount` decimal(20,8) DEFAULT NULL COMMENT 'XTZH质押数量',
  `stake_tx_hash` varchar(128) DEFAULT NULL,
  `hardware_score` int DEFAULT NULL COMMENT '硬件评分0-100',
  `constitution_score` int DEFAULT NULL COMMENT '宪法考试分数0-100',
  `kyc_level_at_apply` tinyint DEFAULT NULL,
  `reviewer_notes` text,
  `chain_registered_at` timestamp NULL DEFAULT NULL,
  `chain_tx_hash` varchar(128) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_wallet` (`wallet_address`),
  KEY `idx_status` (`status`),
  KEY `idx_user` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='CBP宪法节点申请记录';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `cbp_applications`
--

LOCK TABLES `cbp_applications` WRITE;
/*!40000 ALTER TABLE `cbp_applications` DISABLE KEYS */;
/*!40000 ALTER TABLE `cbp_applications` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `failed_jobs`
--

DROP TABLE IF EXISTS `failed_jobs`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `failed_jobs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `uuid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `connection` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `queue` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `exception` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `failed_jobs`
--

LOCK TABLES `failed_jobs` WRITE;
/*!40000 ALTER TABLE `failed_jobs` DISABLE KEYS */;
/*!40000 ALTER TABLE `failed_jobs` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `kyc_records`
--

DROP TABLE IF EXISTS `kyc_records`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `kyc_records` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `user_id` bigint unsigned NOT NULL,
  `wallet_address` varchar(66) DEFAULT NULL,
  `from_level` tinyint NOT NULL DEFAULT '0',
  `to_level` tinyint NOT NULL,
  `method` varchar(30) NOT NULL DEFAULT 'manual' COMMENT 'manual/auto/admin',
  `document_type` varchar(50) DEFAULT NULL,
  `document_hash` varchar(128) DEFAULT NULL,
  `verified_by` varchar(100) DEFAULT NULL,
  `notes` text,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_user` (`user_id`),
  KEY `idx_wallet` (`wallet_address`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='KYC升级记录';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `kyc_records`
--

LOCK TABLES `kyc_records` WRITE;
/*!40000 ALTER TABLE `kyc_records` DISABLE KEYS */;
/*!40000 ALTER TABLE `kyc_records` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `migrations`
--

DROP TABLE IF EXISTS `migrations`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `migrations` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `batch` int NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `migrations`
--

LOCK TABLES `migrations` WRITE;
/*!40000 ALTER TABLE `migrations` DISABLE KEYS */;
INSERT INTO `migrations` VALUES (1,'2014_10_12_000000_create_users_table',1),(2,'2014_10_12_100000_create_password_reset_tokens_table',1),(3,'2019_08_19_000000_create_failed_jobs_table',1),(4,'2019_12_14_000001_create_personal_access_tokens_table',1),(5,'2026_02_22_000001_add_nac_fields_to_users_table',2),(6,'2026_02_22_000002_create_nac_nodes_table',2),(7,'2026_02_22_000003_create_nac_dids_table',3),(8,'2026_02_22_000004_add_kyc_fields_to_users_table',4),(9,'2026_02_22_000005_remove_kyc_detail_fields_from_users_table',5),(10,'2026_02_22_000006_add_google_oauth_fields_to_users_table',6);
/*!40000 ALTER TABLE `migrations` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `nac_dids`
--

DROP TABLE IF EXISTS `nac_dids`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `nac_dids` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `user_id` bigint unsigned NOT NULL,
  `did` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL,
  `nac_address` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `public_key` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'DID 公钥，32字节',
  `did_document` longtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '完整的 DID 文档（W3C DID Core 1.0 格式）',
  `status` enum('active','revoked','pending') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'active' COMMENT 'DID 状态',
  `revoked_at` timestamp NULL DEFAULT NULL COMMENT '吊销时间',
  `revoke_reason` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '吊销原因',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `nac_dids_did_unique` (`did`),
  UNIQUE KEY `nac_dids_nac_address_unique` (`nac_address`),
  KEY `nac_dids_user_id_index` (`user_id`),
  KEY `nac_dids_status_index` (`status`),
  KEY `nac_dids_user_id_status_index` (`user_id`,`status`),
  CONSTRAINT `nac_dids_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `nac_dids`
--

LOCK TABLES `nac_dids` WRITE;
/*!40000 ALTER TABLE `nac_dids` DISABLE KEYS */;
INSERT INTO `nac_dids` VALUES (1,1,'did:nac:cbp:ba97fe3cdc0538123b4f85004754540c33481b036cc06a9046c6a5d3cce08a7c','ba97fe3cdc0538123b4f85004754540c33481b036cc06a9046c6a5d3cce08a7c','4d7e39a7f97c744eed1109df4d7e4ead3f7d32a7af82b62c2c0fbf90d5254867','{\n    \"@context\": [\n        \"https:\\/\\/www.w3.org\\/ns\\/did\\/v1\",\n        \"https:\\/\\/nac.newassetchain.io\\/did\\/v1\"\n    ],\n    \"id\": \"did:nac:cbp:ba97fe3cdc0538123b4f85004754540c33481b036cc06a9046c6a5d3cce08a7c\",\n    \"verificationMethod\": [\n        {\n            \"id\": \"did:nac:cbp:ba97fe3cdc0538123b4f85004754540c33481b036cc06a9046c6a5d3cce08a7c#key-1\",\n            \"type\": \"NacEd25519VerificationKey2024\",\n            \"controller\": \"did:nac:cbp:ba97fe3cdc0538123b4f85004754540c33481b036cc06a9046c6a5d3cce08a7c\",\n            \"publicKeyHex\": \"4d7e39a7f97c744eed1109df4d7e4ead3f7d32a7af82b62c2c0fbf90d5254867\",\n            \"keyLength\": 32\n        }\n    ],\n    \"authentication\": [\n        \"did:nac:cbp:ba97fe3cdc0538123b4f85004754540c33481b036cc06a9046c6a5d3cce08a7c#key-1\"\n    ],\n    \"assertionMethod\": [\n        \"did:nac:cbp:ba97fe3cdc0538123b4f85004754540c33481b036cc06a9046c6a5d3cce08a7c#key-1\"\n    ],\n    \"keyAgreement\": [\n        \"did:nac:cbp:ba97fe3cdc0538123b4f85004754540c33481b036cc06a9046c6a5d3cce08a7c#key-1\"\n    ],\n    \"created\": \"2026-02-22T14:46:13+00:00\",\n    \"updated\": \"2026-02-22T14:46:13+00:00\",\n    \"nacExtension\": {\n        \"chainId\": \"nac-mainnet-1\",\n        \"nodeType\": \"cbpp\",\n        \"consensusLayer\": \"cbpp-v2\",\n        \"registeredAt\": \"2026-02-22T14:46:13+00:00\",\n        \"reputationScore\": 500,\n        \"noStakeRequired\": true,\n        \"xicBurnPolicy\": {\n            \"registration\": false,\n            \"transfer\": true,\n            \"assetOnchain\": true\n        },\n        \"didMethod\": \"did:nac:cbp\",\n        \"addressType\": \"32-bytes\",\n        \"hashAlgorithm\": \"SHA3-384\"\n    }\n}','active',NULL,NULL,'2026-02-22 06:46:13','2026-02-22 06:46:13'),(2,2,'did:nac:cbp:99cdbd1fe9167bf5864183f33848d70b84a0fa9a861054ecd21e44c2dbc0744a','99cdbd1fe9167bf5864183f33848d70b84a0fa9a861054ecd21e44c2dbc0744a','02a841267f2815e042788246759abe3afd8599ab3abb7e608452ad32aef60ff4','{\n    \"@context\": [\n        \"https:\\/\\/www.w3.org\\/ns\\/did\\/v1\",\n        \"https:\\/\\/nac.newassetchain.io\\/did\\/v1\"\n    ],\n    \"id\": \"did:nac:cbp:99cdbd1fe9167bf5864183f33848d70b84a0fa9a861054ecd21e44c2dbc0744a\",\n    \"verificationMethod\": [\n        {\n            \"id\": \"did:nac:cbp:99cdbd1fe9167bf5864183f33848d70b84a0fa9a861054ecd21e44c2dbc0744a#key-1\",\n            \"type\": \"NacEd25519VerificationKey2024\",\n            \"controller\": \"did:nac:cbp:99cdbd1fe9167bf5864183f33848d70b84a0fa9a861054ecd21e44c2dbc0744a\",\n            \"publicKeyHex\": \"02a841267f2815e042788246759abe3afd8599ab3abb7e608452ad32aef60ff4\",\n            \"keyLength\": 32\n        }\n    ],\n    \"authentication\": [\n        \"did:nac:cbp:99cdbd1fe9167bf5864183f33848d70b84a0fa9a861054ecd21e44c2dbc0744a#key-1\"\n    ],\n    \"assertionMethod\": [\n        \"did:nac:cbp:99cdbd1fe9167bf5864183f33848d70b84a0fa9a861054ecd21e44c2dbc0744a#key-1\"\n    ],\n    \"keyAgreement\": [\n        \"did:nac:cbp:99cdbd1fe9167bf5864183f33848d70b84a0fa9a861054ecd21e44c2dbc0744a#key-1\"\n    ],\n    \"created\": \"2026-02-22T14:46:23+00:00\",\n    \"updated\": \"2026-02-22T14:46:23+00:00\",\n    \"nacExtension\": {\n        \"chainId\": \"nac-mainnet-1\",\n        \"nodeType\": \"cbpp\",\n        \"consensusLayer\": \"cbpp-v2\",\n        \"registeredAt\": \"2026-02-22T14:46:23+00:00\",\n        \"reputationScore\": 500,\n        \"noStakeRequired\": true,\n        \"xicBurnPolicy\": {\n            \"registration\": false,\n            \"transfer\": true,\n            \"assetOnchain\": true\n        },\n        \"didMethod\": \"did:nac:cbp\",\n        \"addressType\": \"32-bytes\",\n        \"hashAlgorithm\": \"SHA3-384\"\n    }\n}','active',NULL,NULL,'2026-02-22 06:46:23','2026-02-22 06:46:23'),(3,3,'did:nac:cbp:4cd8a2bd6dc7958c630fbad31edc71381528cde28026347b83f475df7a68dbc9','4cd8a2bd6dc7958c630fbad31edc71381528cde28026347b83f475df7a68dbc9','e54d640729029a75ce018709a9925a78a275eaadff99bb931474707254a4dece','{\n    \"@context\": [\n        \"https:\\/\\/www.w3.org\\/ns\\/did\\/v1\",\n        \"https:\\/\\/nac.newassetchain.io\\/did\\/v1\"\n    ],\n    \"id\": \"did:nac:cbp:4cd8a2bd6dc7958c630fbad31edc71381528cde28026347b83f475df7a68dbc9\",\n    \"verificationMethod\": [\n        {\n            \"id\": \"did:nac:cbp:4cd8a2bd6dc7958c630fbad31edc71381528cde28026347b83f475df7a68dbc9#key-1\",\n            \"type\": \"NacEd25519VerificationKey2024\",\n            \"controller\": \"did:nac:cbp:4cd8a2bd6dc7958c630fbad31edc71381528cde28026347b83f475df7a68dbc9\",\n            \"publicKeyHex\": \"e54d640729029a75ce018709a9925a78a275eaadff99bb931474707254a4dece\",\n            \"keyLength\": 32\n        }\n    ],\n    \"authentication\": [\n        \"did:nac:cbp:4cd8a2bd6dc7958c630fbad31edc71381528cde28026347b83f475df7a68dbc9#key-1\"\n    ],\n    \"assertionMethod\": [\n        \"did:nac:cbp:4cd8a2bd6dc7958c630fbad31edc71381528cde28026347b83f475df7a68dbc9#key-1\"\n    ],\n    \"keyAgreement\": [\n        \"did:nac:cbp:4cd8a2bd6dc7958c630fbad31edc71381528cde28026347b83f475df7a68dbc9#key-1\"\n    ],\n    \"created\": \"2026-02-22T14:52:40+00:00\",\n    \"updated\": \"2026-02-22T14:52:40+00:00\",\n    \"nacExtension\": {\n        \"chainId\": \"nac-mainnet-1\",\n        \"nodeType\": \"cbpp\",\n        \"consensusLayer\": \"cbpp-v2\",\n        \"registeredAt\": \"2026-02-22T14:52:40+00:00\",\n        \"reputationScore\": 500,\n        \"noStakeRequired\": true,\n        \"xicBurnPolicy\": {\n            \"registration\": false,\n            \"transfer\": true,\n            \"assetOnchain\": true\n        },\n        \"didMethod\": \"did:nac:cbp\",\n        \"addressType\": \"32-bytes\",\n        \"hashAlgorithm\": \"SHA3-384\"\n    }\n}','active',NULL,NULL,'2026-02-22 06:52:40','2026-02-22 06:52:40'),(4,4,'did:nac:cbp:4e7273aee08fcab970f38ea819c50c808c3cae4b144cbf087970496959655cd3','4e7273aee08fcab970f38ea819c50c808c3cae4b144cbf087970496959655cd3','f17b1d1f082e461bee1465edb7a29c4fcc71e177070df79c772d90ce5ed44142','{\n    \"@context\": [\n        \"https:\\/\\/www.w3.org\\/ns\\/did\\/v1\",\n        \"https:\\/\\/nac.newassetchain.io\\/did\\/v1\"\n    ],\n    \"id\": \"did:nac:cbp:4e7273aee08fcab970f38ea819c50c808c3cae4b144cbf087970496959655cd3\",\n    \"verificationMethod\": [\n        {\n            \"id\": \"did:nac:cbp:4e7273aee08fcab970f38ea819c50c808c3cae4b144cbf087970496959655cd3#key-1\",\n            \"type\": \"NacEd25519VerificationKey2024\",\n            \"controller\": \"did:nac:cbp:4e7273aee08fcab970f38ea819c50c808c3cae4b144cbf087970496959655cd3\",\n            \"publicKeyHex\": \"f17b1d1f082e461bee1465edb7a29c4fcc71e177070df79c772d90ce5ed44142\",\n            \"keyLength\": 32\n        }\n    ],\n    \"authentication\": [\n        \"did:nac:cbp:4e7273aee08fcab970f38ea819c50c808c3cae4b144cbf087970496959655cd3#key-1\"\n    ],\n    \"assertionMethod\": [\n        \"did:nac:cbp:4e7273aee08fcab970f38ea819c50c808c3cae4b144cbf087970496959655cd3#key-1\"\n    ],\n    \"keyAgreement\": [\n        \"did:nac:cbp:4e7273aee08fcab970f38ea819c50c808c3cae4b144cbf087970496959655cd3#key-1\"\n    ],\n    \"created\": \"2026-02-22T15:05:46+00:00\",\n    \"updated\": \"2026-02-22T15:05:46+00:00\",\n    \"nacExtension\": {\n        \"chainId\": \"nac-mainnet-1\",\n        \"nodeType\": \"cbpp\",\n        \"consensusLayer\": \"cbpp-v2\",\n        \"registeredAt\": \"2026-02-22T15:05:46+00:00\",\n        \"reputationScore\": 500,\n        \"noStakeRequired\": true,\n        \"xicBurnPolicy\": {\n            \"registration\": false,\n            \"transfer\": true,\n            \"assetOnchain\": true\n        },\n        \"didMethod\": \"did:nac:cbp\",\n        \"addressType\": \"32-bytes\",\n        \"hashAlgorithm\": \"SHA3-384\"\n    }\n}','active',NULL,NULL,'2026-02-22 07:05:46','2026-02-22 07:05:46'),(5,6,'did:nac:cbp:d01e7d408075e11089182fa90fc51409e56ba9033c07ad894bc5f5c2367a2dad08725a0a7bdc93c832ecd3d4610ca87a','d01e7d408075e11089182fa90fc51409e56ba9033c07ad894bc5f5c2367a2dad08725a0a7bdc93c832ecd3d4610ca87a','d01e7d408075e11089182fa90fc51409e56ba9033c07ad894bc5f5c2367a2dad','{\"@context\":\"https:\\/\\/www.w3.org\\/ns\\/did\\/v1\",\"id\":\"did:nac:cbp:d01e7d408075e11089182fa90fc51409e56ba9033c07ad894bc5f5c2367a2dad08725a0a7bdc93c832ecd3d4610ca87a\",\"controller\":\"did:nac:cbp:d01e7d408075e11089182fa90fc51409e56ba9033c07ad894bc5f5c2367a2dad08725a0a7bdc93c832ecd3d4610ca87a\",\"verificationMethod\":[{\"id\":\"did:nac:cbp:d01e7d408075e11089182fa90fc51409e56ba9033c07ad894bc5f5c2367a2dad08725a0a7bdc93c832ecd3d4610ca87a#key-1\",\"type\":\"NACKey2026\",\"controller\":\"did:nac:cbp:d01e7d408075e11089182fa90fc51409e56ba9033c07ad894bc5f5c2367a2dad08725a0a7bdc93c832ecd3d4610ca87a\",\"publicKeyHex\":\"d01e7d408075e11089182fa90fc51409e56ba9033c07ad894bc5f5c2367a2dad\"}],\"authentication\":[\"did:nac:cbp:d01e7d408075e11089182fa90fc51409e56ba9033c07ad894bc5f5c2367a2dad08725a0a7bdc93c832ecd3d4610ca87a#key-1\"],\"created\":\"2026-02-22T15:41:48+00:00\",\"network\":\"nac-mainnet\",\"consensus\":\"CBPP\"}','active',NULL,NULL,'2026-02-22 07:41:48','2026-02-22 07:41:48'),(6,7,'did:nac:cbp:1f80958764e0569f66520280aa36783437fc462e20d1fade377f4209c2ad984f','1f80958764e0569f66520280aa36783437fc462e20d1fade377f4209c2ad984f','9d328e264f3dd6446b3a28d1f5bc6b91c7430b6cedd20d935eec8c92ea5e7777','{\n    \"@context\": [\n        \"https:\\/\\/www.w3.org\\/ns\\/did\\/v1\",\n        \"https:\\/\\/nac.newassetchain.io\\/did\\/v1\"\n    ],\n    \"id\": \"did:nac:cbp:1f80958764e0569f66520280aa36783437fc462e20d1fade377f4209c2ad984f\",\n    \"verificationMethod\": [\n        {\n            \"id\": \"did:nac:cbp:1f80958764e0569f66520280aa36783437fc462e20d1fade377f4209c2ad984f#key-1\",\n            \"type\": \"NacEd25519VerificationKey2024\",\n            \"controller\": \"did:nac:cbp:1f80958764e0569f66520280aa36783437fc462e20d1fade377f4209c2ad984f\",\n            \"publicKeyHex\": \"9d328e264f3dd6446b3a28d1f5bc6b91c7430b6cedd20d935eec8c92ea5e7777\",\n            \"keyLength\": 32\n        }\n    ],\n    \"authentication\": [\n        \"did:nac:cbp:1f80958764e0569f66520280aa36783437fc462e20d1fade377f4209c2ad984f#key-1\"\n    ],\n    \"assertionMethod\": [\n        \"did:nac:cbp:1f80958764e0569f66520280aa36783437fc462e20d1fade377f4209c2ad984f#key-1\"\n    ],\n    \"keyAgreement\": [\n        \"did:nac:cbp:1f80958764e0569f66520280aa36783437fc462e20d1fade377f4209c2ad984f#key-1\"\n    ],\n    \"created\": \"2026-02-25T18:30:54+00:00\",\n    \"updated\": \"2026-02-25T18:30:54+00:00\",\n    \"nacExtension\": {\n        \"chainId\": \"nac-mainnet-1\",\n        \"nodeType\": \"cbpp\",\n        \"consensusLayer\": \"cbpp-v2\",\n        \"registeredAt\": \"2026-02-25T18:30:54+00:00\",\n        \"reputationScore\": 500,\n        \"noStakeRequired\": true,\n        \"xicBurnPolicy\": {\n            \"registration\": false,\n            \"transfer\": true,\n            \"assetOnchain\": true\n        },\n        \"didMethod\": \"did:nac:cbp\",\n        \"addressType\": \"32-bytes\",\n        \"hashAlgorithm\": \"SHA3-384\"\n    }\n}','active',NULL,NULL,'2026-02-25 10:30:54','2026-02-25 10:30:54'),(7,8,'did:nac:cbp:a3b7a0c10682f0c71136294b92543c6a4d2340244d95c604197a362464e9c66c','a3b7a0c10682f0c71136294b92543c6a4d2340244d95c604197a362464e9c66c','1c2d547c7c81d39410f1ad5c31e8b7c6098c9045220475a6b6bb81b7f21f1f2d','{\n    \"@context\": [\n        \"https:\\/\\/www.w3.org\\/ns\\/did\\/v1\",\n        \"https:\\/\\/nac.newassetchain.io\\/did\\/v1\"\n    ],\n    \"id\": \"did:nac:cbp:a3b7a0c10682f0c71136294b92543c6a4d2340244d95c604197a362464e9c66c\",\n    \"verificationMethod\": [\n        {\n            \"id\": \"did:nac:cbp:a3b7a0c10682f0c71136294b92543c6a4d2340244d95c604197a362464e9c66c#key-1\",\n            \"type\": \"NacEd25519VerificationKey2024\",\n            \"controller\": \"did:nac:cbp:a3b7a0c10682f0c71136294b92543c6a4d2340244d95c604197a362464e9c66c\",\n            \"publicKeyHex\": \"1c2d547c7c81d39410f1ad5c31e8b7c6098c9045220475a6b6bb81b7f21f1f2d\",\n            \"keyLength\": 32\n        }\n    ],\n    \"authentication\": [\n        \"did:nac:cbp:a3b7a0c10682f0c71136294b92543c6a4d2340244d95c604197a362464e9c66c#key-1\"\n    ],\n    \"assertionMethod\": [\n        \"did:nac:cbp:a3b7a0c10682f0c71136294b92543c6a4d2340244d95c604197a362464e9c66c#key-1\"\n    ],\n    \"keyAgreement\": [\n        \"did:nac:cbp:a3b7a0c10682f0c71136294b92543c6a4d2340244d95c604197a362464e9c66c#key-1\"\n    ],\n    \"created\": \"2026-02-25T18:35:51+00:00\",\n    \"updated\": \"2026-02-25T18:35:51+00:00\",\n    \"nacExtension\": {\n        \"chainId\": \"nac-mainnet-1\",\n        \"nodeType\": \"cbpp\",\n        \"consensusLayer\": \"cbpp-v2\",\n        \"registeredAt\": \"2026-02-25T18:35:51+00:00\",\n        \"reputationScore\": 500,\n        \"noStakeRequired\": true,\n        \"xicBurnPolicy\": {\n            \"registration\": false,\n            \"transfer\": true,\n            \"assetOnchain\": true\n        },\n        \"didMethod\": \"did:nac:cbp\",\n        \"addressType\": \"32-bytes\",\n        \"hashAlgorithm\": \"SHA3-384\"\n    }\n}','active',NULL,NULL,'2026-02-25 10:35:51','2026-02-25 10:35:51'),(8,9,'did:nac:cbp:cc1469c8307ef939a20f5c98d26b9315b59ee35f410ba471c8c226fab3fe8b25','cc1469c8307ef939a20f5c98d26b9315b59ee35f410ba471c8c226fab3fe8b25','b7cb82e9a7181a8267c8e479121658676f1cd843477643b3e5c228a40788219a','{\n    \"@context\": [\n        \"https:\\/\\/www.w3.org\\/ns\\/did\\/v1\",\n        \"https:\\/\\/nac.newassetchain.io\\/did\\/v1\"\n    ],\n    \"id\": \"did:nac:cbp:cc1469c8307ef939a20f5c98d26b9315b59ee35f410ba471c8c226fab3fe8b25\",\n    \"verificationMethod\": [\n        {\n            \"id\": \"did:nac:cbp:cc1469c8307ef939a20f5c98d26b9315b59ee35f410ba471c8c226fab3fe8b25#key-1\",\n            \"type\": \"NacEd25519VerificationKey2024\",\n            \"controller\": \"did:nac:cbp:cc1469c8307ef939a20f5c98d26b9315b59ee35f410ba471c8c226fab3fe8b25\",\n            \"publicKeyHex\": \"b7cb82e9a7181a8267c8e479121658676f1cd843477643b3e5c228a40788219a\",\n            \"keyLength\": 32\n        }\n    ],\n    \"authentication\": [\n        \"did:nac:cbp:cc1469c8307ef939a20f5c98d26b9315b59ee35f410ba471c8c226fab3fe8b25#key-1\"\n    ],\n    \"assertionMethod\": [\n        \"did:nac:cbp:cc1469c8307ef939a20f5c98d26b9315b59ee35f410ba471c8c226fab3fe8b25#key-1\"\n    ],\n    \"keyAgreement\": [\n        \"did:nac:cbp:cc1469c8307ef939a20f5c98d26b9315b59ee35f410ba471c8c226fab3fe8b25#key-1\"\n    ],\n    \"created\": \"2026-02-25T18:39:19+00:00\",\n    \"updated\": \"2026-02-25T18:39:19+00:00\",\n    \"nacExtension\": {\n        \"chainId\": \"nac-mainnet-1\",\n        \"nodeType\": \"cbpp\",\n        \"consensusLayer\": \"cbpp-v2\",\n        \"registeredAt\": \"2026-02-25T18:39:19+00:00\",\n        \"reputationScore\": 500,\n        \"noStakeRequired\": true,\n        \"xicBurnPolicy\": {\n            \"registration\": false,\n            \"transfer\": true,\n            \"assetOnchain\": true\n        },\n        \"didMethod\": \"did:nac:cbp\",\n        \"addressType\": \"32-bytes\",\n        \"hashAlgorithm\": \"SHA3-384\"\n    }\n}','active',NULL,NULL,'2026-02-25 10:39:19','2026-02-25 10:39:19'),(9,10,'did:nac:cbp:a52677d2101063ff5234a4857ded77856207eb7a3cb6983068226fba5b86f10c','a52677d2101063ff5234a4857ded77856207eb7a3cb6983068226fba5b86f10c','7bf984c8a7ff2c47f6527e84034f4aeca31520a0791855e1e223ffe84a0ceaa2','{\n    \"@context\": [\n        \"https:\\/\\/www.w3.org\\/ns\\/did\\/v1\",\n        \"https:\\/\\/nac.newassetchain.io\\/did\\/v1\"\n    ],\n    \"id\": \"did:nac:cbp:a52677d2101063ff5234a4857ded77856207eb7a3cb6983068226fba5b86f10c\",\n    \"verificationMethod\": [\n        {\n            \"id\": \"did:nac:cbp:a52677d2101063ff5234a4857ded77856207eb7a3cb6983068226fba5b86f10c#key-1\",\n            \"type\": \"NacEd25519VerificationKey2024\",\n            \"controller\": \"did:nac:cbp:a52677d2101063ff5234a4857ded77856207eb7a3cb6983068226fba5b86f10c\",\n            \"publicKeyHex\": \"7bf984c8a7ff2c47f6527e84034f4aeca31520a0791855e1e223ffe84a0ceaa2\",\n            \"keyLength\": 32\n        }\n    ],\n    \"authentication\": [\n        \"did:nac:cbp:a52677d2101063ff5234a4857ded77856207eb7a3cb6983068226fba5b86f10c#key-1\"\n    ],\n    \"assertionMethod\": [\n        \"did:nac:cbp:a52677d2101063ff5234a4857ded77856207eb7a3cb6983068226fba5b86f10c#key-1\"\n    ],\n    \"keyAgreement\": [\n        \"did:nac:cbp:a52677d2101063ff5234a4857ded77856207eb7a3cb6983068226fba5b86f10c#key-1\"\n    ],\n    \"created\": \"2026-02-25T18:40:33+00:00\",\n    \"updated\": \"2026-02-25T18:40:33+00:00\",\n    \"nacExtension\": {\n        \"chainId\": \"nac-mainnet-1\",\n        \"nodeType\": \"cbpp\",\n        \"consensusLayer\": \"cbpp-v2\",\n        \"registeredAt\": \"2026-02-25T18:40:33+00:00\",\n        \"reputationScore\": 500,\n        \"noStakeRequired\": true,\n        \"xicBurnPolicy\": {\n            \"registration\": false,\n            \"transfer\": true,\n            \"assetOnchain\": true\n        },\n        \"didMethod\": \"did:nac:cbp\",\n        \"addressType\": \"32-bytes\",\n        \"hashAlgorithm\": \"SHA3-384\"\n    }\n}','active',NULL,NULL,'2026-02-25 10:40:33','2026-02-25 10:40:33'),(10,11,'did:nac:cbp:7cc0a2651315b04906934e860ddd3665d28d32f687f4a8e123dd744d8a2c11dc','7cc0a2651315b04906934e860ddd3665d28d32f687f4a8e123dd744d8a2c11dc','540052529e0e1f50d0c5222d1367f25ce6df7acf713736d95a4c4d50ec6c01ca','{\n    \"@context\": [\n        \"https:\\/\\/www.w3.org\\/ns\\/did\\/v1\",\n        \"https:\\/\\/nac.newassetchain.io\\/did\\/v1\"\n    ],\n    \"id\": \"did:nac:cbp:7cc0a2651315b04906934e860ddd3665d28d32f687f4a8e123dd744d8a2c11dc\",\n    \"verificationMethod\": [\n        {\n            \"id\": \"did:nac:cbp:7cc0a2651315b04906934e860ddd3665d28d32f687f4a8e123dd744d8a2c11dc#key-1\",\n            \"type\": \"NacEd25519VerificationKey2024\",\n            \"controller\": \"did:nac:cbp:7cc0a2651315b04906934e860ddd3665d28d32f687f4a8e123dd744d8a2c11dc\",\n            \"publicKeyHex\": \"540052529e0e1f50d0c5222d1367f25ce6df7acf713736d95a4c4d50ec6c01ca\",\n            \"keyLength\": 32\n        }\n    ],\n    \"authentication\": [\n        \"did:nac:cbp:7cc0a2651315b04906934e860ddd3665d28d32f687f4a8e123dd744d8a2c11dc#key-1\"\n    ],\n    \"assertionMethod\": [\n        \"did:nac:cbp:7cc0a2651315b04906934e860ddd3665d28d32f687f4a8e123dd744d8a2c11dc#key-1\"\n    ],\n    \"keyAgreement\": [\n        \"did:nac:cbp:7cc0a2651315b04906934e860ddd3665d28d32f687f4a8e123dd744d8a2c11dc#key-1\"\n    ],\n    \"created\": \"2026-02-25T20:29:42+00:00\",\n    \"updated\": \"2026-02-25T20:29:42+00:00\",\n    \"nacExtension\": {\n        \"chainId\": \"nac-mainnet-1\",\n        \"nodeType\": \"cbpp\",\n        \"consensusLayer\": \"cbpp-v2\",\n        \"registeredAt\": \"2026-02-25T20:29:42+00:00\",\n        \"reputationScore\": 500,\n        \"noStakeRequired\": true,\n        \"xicBurnPolicy\": {\n            \"registration\": false,\n            \"transfer\": true,\n            \"assetOnchain\": true\n        },\n        \"didMethod\": \"did:nac:cbp\",\n        \"addressType\": \"32-bytes\",\n        \"hashAlgorithm\": \"SHA3-384\"\n    }\n}','active',NULL,NULL,'2026-02-25 12:29:42','2026-02-25 12:29:42'),(11,12,'did:nac:cbp:3251a58e47126b29e60e283e418076b6d255c8332bab9a811417261090248774','3251a58e47126b29e60e283e418076b6d255c8332bab9a811417261090248774','cfb2a293ed4547e7848e7036648dc6abed1f29931c39768d8d110a068d8b2b0c','{\n    \"@context\": [\n        \"https:\\/\\/www.w3.org\\/ns\\/did\\/v1\",\n        \"https:\\/\\/nac.newassetchain.io\\/did\\/v1\"\n    ],\n    \"id\": \"did:nac:cbp:3251a58e47126b29e60e283e418076b6d255c8332bab9a811417261090248774\",\n    \"verificationMethod\": [\n        {\n            \"id\": \"did:nac:cbp:3251a58e47126b29e60e283e418076b6d255c8332bab9a811417261090248774#key-1\",\n            \"type\": \"NacEd25519VerificationKey2024\",\n            \"controller\": \"did:nac:cbp:3251a58e47126b29e60e283e418076b6d255c8332bab9a811417261090248774\",\n            \"publicKeyHex\": \"cfb2a293ed4547e7848e7036648dc6abed1f29931c39768d8d110a068d8b2b0c\",\n            \"keyLength\": 32\n        }\n    ],\n    \"authentication\": [\n        \"did:nac:cbp:3251a58e47126b29e60e283e418076b6d255c8332bab9a811417261090248774#key-1\"\n    ],\n    \"assertionMethod\": [\n        \"did:nac:cbp:3251a58e47126b29e60e283e418076b6d255c8332bab9a811417261090248774#key-1\"\n    ],\n    \"keyAgreement\": [\n        \"did:nac:cbp:3251a58e47126b29e60e283e418076b6d255c8332bab9a811417261090248774#key-1\"\n    ],\n    \"created\": \"2026-02-26T03:08:22+00:00\",\n    \"updated\": \"2026-02-26T03:08:22+00:00\",\n    \"nacExtension\": {\n        \"chainId\": \"nac-mainnet-1\",\n        \"nodeType\": \"cbpp\",\n        \"consensusLayer\": \"cbpp-v2\",\n        \"registeredAt\": \"2026-02-26T03:08:22+00:00\",\n        \"reputationScore\": 500,\n        \"noStakeRequired\": true,\n        \"xicBurnPolicy\": {\n            \"registration\": false,\n            \"transfer\": true,\n            \"assetOnchain\": true\n        },\n        \"didMethod\": \"did:nac:cbp\",\n        \"addressType\": \"32-bytes\",\n        \"hashAlgorithm\": \"SHA3-384\"\n    }\n}','active',NULL,NULL,'2026-02-25 19:08:22','2026-02-25 19:08:22');
/*!40000 ALTER TABLE `nac_dids` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `nac_nodes`
--

DROP TABLE IF EXISTS `nac_nodes`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `nac_nodes` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `user_id` bigint unsigned NOT NULL COMMENT '关联用户 ID',
  `node_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'NAC 链上节点唯一 ID（32字节 hex）',
  `node_type` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'standard' COMMENT '节点类型: standard/validator/observer',
  `status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pending' COMMENT '节点状态: pending/active/inactive/banned',
  `ip_address` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '节点 IP 地址',
  `port` int DEFAULT NULL COMMENT '节点端口',
  `region` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '节点所在区域',
  `block_height_joined` bigint NOT NULL DEFAULT '0' COMMENT '加入时的区块高度',
  `blocks_produced` bigint NOT NULL DEFAULT '0' COMMENT '已生产区块数量',
  `reputation_score` decimal(10,4) NOT NULL DEFAULT '100.0000' COMMENT '节点信誉分（满分100）',
  `registration_tx_hash` varchar(96) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '链上注册交易哈希（SHA3-384, 48字节）',
  `registered_at` timestamp NULL DEFAULT NULL COMMENT '链上注册时间',
  `activated_at` timestamp NULL DEFAULT NULL COMMENT '节点激活时间',
  `last_seen_at` timestamp NULL DEFAULT NULL COMMENT '最后在线时间',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `nac_nodes_node_id_unique` (`node_id`),
  KEY `nac_nodes_node_id_index` (`node_id`),
  KEY `nac_nodes_status_index` (`status`),
  KEY `nac_nodes_user_id_index` (`user_id`),
  CONSTRAINT `nac_nodes_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `nac_nodes`
--

LOCK TABLES `nac_nodes` WRITE;
/*!40000 ALTER TABLE `nac_nodes` DISABLE KEYS */;
INSERT INTO `nac_nodes` VALUES (1,1,'ba97fe3cdc0538123b4f85004754540c33481b036cc06a9046c6a5d3cce08a7c','standard','pending',NULL,NULL,'unknown',0,0,500.0000,NULL,'2026-02-22 06:46:13',NULL,NULL,'2026-02-22 06:46:13','2026-02-22 06:46:13'),(2,2,'99cdbd1fe9167bf5864183f33848d70b84a0fa9a861054ecd21e44c2dbc0744a','standard','pending',NULL,NULL,'unknown',0,0,500.0000,NULL,'2026-02-22 06:46:23',NULL,NULL,'2026-02-22 06:46:23','2026-02-22 06:46:23'),(3,3,'4cd8a2bd6dc7958c630fbad31edc71381528cde28026347b83f475df7a68dbc9','standard','pending',NULL,NULL,'unknown',0,0,500.0000,NULL,'2026-02-22 06:52:40',NULL,NULL,'2026-02-22 06:52:40','2026-02-22 06:52:40'),(4,4,'4e7273aee08fcab970f38ea819c50c808c3cae4b144cbf087970496959655cd3','standard','pending',NULL,NULL,'unknown',0,0,500.0000,NULL,'2026-02-22 07:05:46',NULL,NULL,'2026-02-22 07:05:46','2026-02-22 07:05:46'),(5,6,'d01e7d408075e11089182fa90fc51409e56ba9033c07ad894bc5f5c2367a2dad','standard','pending',NULL,NULL,NULL,0,0,500.0000,NULL,'2026-02-22 07:41:48',NULL,NULL,'2026-02-22 07:41:48','2026-02-22 07:41:48'),(6,7,'1f80958764e0569f66520280aa36783437fc462e20d1fade377f4209c2ad984f','standard','pending',NULL,NULL,'unknown',0,0,500.0000,NULL,'2026-02-25 10:30:54',NULL,NULL,'2026-02-25 10:30:54','2026-02-25 10:30:54'),(7,8,'a3b7a0c10682f0c71136294b92543c6a4d2340244d95c604197a362464e9c66c','standard','pending',NULL,NULL,'unknown',0,0,500.0000,NULL,'2026-02-25 10:35:51',NULL,NULL,'2026-02-25 10:35:51','2026-02-25 10:35:51'),(8,9,'cc1469c8307ef939a20f5c98d26b9315b59ee35f410ba471c8c226fab3fe8b25','standard','pending',NULL,NULL,'unknown',0,0,500.0000,NULL,'2026-02-25 10:39:19',NULL,NULL,'2026-02-25 10:39:19','2026-02-25 10:39:19'),(9,10,'a52677d2101063ff5234a4857ded77856207eb7a3cb6983068226fba5b86f10c','standard','pending',NULL,NULL,'unknown',0,0,500.0000,NULL,'2026-02-25 10:40:33',NULL,NULL,'2026-02-25 10:40:33','2026-02-25 10:40:33'),(10,11,'7cc0a2651315b04906934e860ddd3665d28d32f687f4a8e123dd744d8a2c11dc','standard','pending',NULL,NULL,'unknown',0,0,500.0000,NULL,'2026-02-25 12:29:42',NULL,NULL,'2026-02-25 12:29:42','2026-02-25 12:29:42'),(11,12,'3251a58e47126b29e60e283e418076b6d255c8332bab9a811417261090248774','standard','pending',NULL,NULL,'unknown',0,0,500.0000,NULL,'2026-02-25 19:08:22',NULL,NULL,'2026-02-25 19:08:22','2026-02-25 19:08:22');
/*!40000 ALTER TABLE `nac_nodes` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `node_activity_logs`
--

DROP TABLE IF EXISTS `node_activity_logs`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `node_activity_logs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `user_id` bigint unsigned DEFAULT NULL,
  `wallet_address` varchar(66) NOT NULL,
  `action` varchar(50) NOT NULL COMMENT 'registered/kyc_upgraded/cbp_applied/cbp_approved',
  `detail` text,
  `ip_address` varchar(45) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_wallet` (`wallet_address`),
  KEY `idx_action` (`action`),
  KEY `idx_created` (`created_at`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='节点活动日志';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `node_activity_logs`
--

LOCK TABLES `node_activity_logs` WRITE;
/*!40000 ALTER TABLE `node_activity_logs` DISABLE KEYS */;
INSERT INTO `node_activity_logs` VALUES (1,100,'0xNAC0000000000000000000000000000000000100','registered','New participating node registered via CIB',NULL,'2026-02-25 02:07:05');
/*!40000 ALTER TABLE `node_activity_logs` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `password_reset_tokens`
--

DROP TABLE IF EXISTS `password_reset_tokens`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `password_reset_tokens` (
  `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `password_reset_tokens`
--

LOCK TABLES `password_reset_tokens` WRITE;
/*!40000 ALTER TABLE `password_reset_tokens` DISABLE KEYS */;
/*!40000 ALTER TABLE `password_reset_tokens` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `personal_access_tokens`
--

DROP TABLE IF EXISTS `personal_access_tokens`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `personal_access_tokens` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `tokenable_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `tokenable_id` bigint unsigned NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
  `abilities` text COLLATE utf8mb4_unicode_ci,
  `last_used_at` timestamp NULL DEFAULT NULL,
  `expires_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `personal_access_tokens_token_unique` (`token`),
  KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`)
) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `personal_access_tokens`
--

LOCK TABLES `personal_access_tokens` WRITE;
/*!40000 ALTER TABLE `personal_access_tokens` DISABLE KEYS */;
INSERT INTO `personal_access_tokens` VALUES (2,'App\\Models\\User',2,'nac-id-token','[REDACTED]','[\"*\"]',NULL,NULL,'2026-02-22 06:46:23','2026-02-22 06:46:23'),(5,'App\\Models\\User',3,'nac-id-token','[REDACTED]','[\"*\"]','2026-02-22 06:54:11',NULL,'2026-02-22 06:53:42','2026-02-22 06:54:11'),(7,'App\\Models\\User',4,'nac-id-token','[REDACTED]','[\"*\"]','2026-02-22 07:06:35',NULL,'2026-02-22 07:06:35','2026-02-22 07:06:35'),(10,'App\\Models\\User',6,'google-oauth-1771774908','[REDACTED]','[\"*\"]','2026-02-22 07:41:48',NULL,'2026-02-22 07:41:48','2026-02-22 07:41:48'),(12,'App\\Models\\User',7,'nac-id-token','[REDACTED]','[\"*\"]',NULL,NULL,'2026-02-25 10:31:15','2026-02-25 10:31:15'),(14,'App\\Models\\User',9,'nac-id-token','[REDACTED]','[\"*\"]',NULL,NULL,'2026-02-25 10:39:19','2026-02-25 10:39:19'),(32,'App\\Models\\User',11,'nac-id-token','[REDACTED]','[\"*\"]','2026-02-25 22:41:36',NULL,'2026-02-25 16:00:56','2026-02-25 22:41:36'),(35,'App\\Models\\User',12,'nac-id-token','[REDACTED]','[\"*\"]',NULL,NULL,'2026-02-25 19:09:07','2026-02-25 19:09:07'),(43,'App\\Models\\User',1,'nac-id-token','[REDACTED]','[\"*\"]','2026-02-25 22:28:59',NULL,'2026-02-25 22:28:59','2026-02-25 22:28:59'),(45,'App\\Models\\User',10,'nac-id-token','[REDACTED]','[\"*\"]','2026-02-25 22:48:55',NULL,'2026-02-25 22:48:30','2026-02-25 22:48:55');
/*!40000 ALTER TABLE `personal_access_tokens` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `users`
--

DROP TABLE IF EXISTS `users`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `users` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `node_id` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `node_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pending' COMMENT '节点状态: pending/active/inactive',
  `node_registered_at` timestamp NULL DEFAULT NULL COMMENT '节点注册时间',
  `full_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '真实姓名',
  `organization` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '机构/公司名称',
  `phone` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '手机号码',
  `country_code` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '国家代码，如 CN/US/RU',
  `preferred_language` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'en' COMMENT '用户偏好语言: en/zh/ru/ar/ja/ko',
  `is_active` tinyint(1) NOT NULL DEFAULT '1' COMMENT '账号是否激活',
  `last_login_at` timestamp NULL DEFAULT NULL COMMENT '最后登录时间',
  `last_login_ip` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '最后登录 IP',
  `kyc_level` tinyint NOT NULL DEFAULT '0' COMMENT 'KYC 认证等级: 0=未认证, 1=基础, 2=标准, 3=高级, 4=VIP',
  `kyc_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'none' COMMENT 'KYC 状态: none/pending/approved/rejected',
  `email_verified` tinyint(1) NOT NULL DEFAULT '0' COMMENT '邮箱是否已验证',
  `google_id` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Google 用户 ID',
  `google_avatar` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Google 头像 URL',
  `nac_address` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `oauth_provider` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'OAuth 提供商: google/twitter/facebook/wechat',
  `wallet_address` varchar(66) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'NAC钱包地址',
  `did` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'DID标识',
  `kyc_updated_at` timestamp NULL DEFAULT NULL COMMENT 'KYC更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `users_email_unique` (`email`),
  UNIQUE KEY `users_node_id_unique` (`node_id`),
  UNIQUE KEY `users_google_id_unique` (`google_id`),
  UNIQUE KEY `users_nac_address_unique` (`nac_address`),
  KEY `users_node_id_index` (`node_id`),
  KEY `users_node_status_index` (`node_status`),
  KEY `users_preferred_language_index` (`preferred_language`),
  KEY `users_kyc_level_index` (`kyc_level`),
  KEY `users_kyc_status_index` (`kyc_status`),
  KEY `users_google_id_index` (`google_id`),
  KEY `users_nac_address_index` (`nac_address`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `users`
--

LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES (1,'TestVerify','testverify@nactest.io',NULL,'$2y$12$2z0/bDUQF0iMWiQ3FW0q7es45EvpH1OUA.2Hu1tUwljsqkljWOOQq',NULL,'2026-02-22 06:46:13','2026-02-25 22:28:59','ba97fe3cdc0538123b4f85004754540c33481b036cc06a9046c6a5d3cce08a7c','participating','2026-02-22 06:46:13',NULL,NULL,NULL,NULL,'en',1,'2026-02-25 22:28:59','103.96.148.7',0,'none',0,NULL,NULL,NULL,NULL,'0xNAC0000000000000000000000000000000000000001','did:nac:2c389d7311ee11f19c69525400d6e1ad',NULL),(2,'TestVerify2','testverify2@nactest.io',NULL,'$2y$12$zx16tIbxO3NbSYOK6o5QTOcO2MLSsKpkvCABAnKFhrBvNNfwA5wj2',NULL,'2026-02-22 06:46:23','2026-02-22 06:46:23','99cdbd1fe9167bf5864183f33848d70b84a0fa9a861054ecd21e44c2dbc0744a','participating','2026-02-22 06:46:23',NULL,NULL,NULL,NULL,'en',1,NULL,NULL,0,'none',0,NULL,NULL,NULL,NULL,'0xNAC0000000000000000000000000000000000000002','did:nac:2c39410c11ee11f19c69525400d6e1ad',NULL),(3,'testuser001','testuser001@newassetchain.io',NULL,'$2y$12$wva6vGPE6uSHVvmP3aOaF.ZqBmHwPx6Vx94Uaq1h8VV1LOeqrojLS',NULL,'2026-02-22 06:52:40','2026-02-22 06:53:42','4cd8a2bd6dc7958c630fbad31edc71381528cde28026347b83f475df7a68dbc9','participating','2026-02-22 06:52:40',NULL,NULL,NULL,NULL,'en',1,'2026-02-22 06:53:42','190.183.19.163',0,'none',0,NULL,NULL,NULL,NULL,'0xNAC0000000000000000000000000000000000000003','did:nac:2c3972d211ee11f19c69525400d6e1ad',NULL),(4,'NACTestUser2026','nactest2026@newassetchain.io',NULL,'$2y$12$0xQaFJNHn81hx5SX3OP4m.l2a4YrUZVAS/0LkzCkkMh0KVH7gcvhO',NULL,'2026-02-22 07:05:46','2026-02-22 07:06:35','4e7273aee08fcab970f38ea819c50c808c3cae4b144cbf087970496959655cd3','participating','2026-02-22 07:05:46',NULL,NULL,NULL,NULL,'en',1,'2026-02-22 07:06:35','103.96.148.7',0,'none',0,NULL,NULL,NULL,NULL,'0xNAC0000000000000000000000000000000000000004','did:nac:2c3977b911ee11f19c69525400d6e1ad',NULL),(6,'cytl','cytlchuangyehao@gmail.com',NULL,'$2y$12$MXcBvVm948b1cpK0cV7nWO00hkYxO/Lkbq1uIS.qJGwu56JjTU1oy',NULL,'2026-02-22 07:41:48','2026-02-22 07:41:48','d01e7d408075e11089182fa90fc51409e56ba9033c07ad894bc5f5c2367a2dad','participating','2026-02-22 07:41:48','cytl',NULL,NULL,NULL,'en',1,NULL,NULL,0,'none',1,'104759482273008609167','https://lh3.googleusercontent.com/a/ACg8ocK78lfCfMyj_w_LDCgDK2CszER54t41tmN-4dKgc95q_1JIsQ=s96-c','d01e7d408075e11089182fa90fc51409e56ba9033c07ad894bc5f5c2367a2dad08725a0a7bdc93c832ecd3d4610ca87a',NULL,'0xNAC0000000000000000000000000000000000000006','did:nac:2c39860811ee11f19c69525400d6e1ad',NULL),(7,'testuser_wallet','testwalletuser@nactest.io',NULL,'$2y$12$9cHXJ6FOHQ.JCwFEEFlgdeNdrlGjF8bQLsur.GSAeb4IYOGJMAgB2',NULL,'2026-02-25 10:30:54','2026-02-25 10:31:15','1f80958764e0569f66520280aa36783437fc462e20d1fade377f4209c2ad984f','pending','2026-02-25 10:30:54',NULL,NULL,NULL,NULL,'en',1,'2026-02-25 10:31:15','171.61.20.193',0,'none',0,NULL,NULL,'0x06a4abbdf7e32157123a5ec12d2e263cf7ecd604845487c165a547160c23eb20',NULL,NULL,NULL,NULL),(8,'wallettest2026','wallettest2026@nactest.io',NULL,'$2y$12$UdG9t3NQpzWcbUKl4NcfgObyL7DL3oClWxe5isGeG/i4KUiFhrZYa',NULL,'2026-02-25 10:35:51','2026-02-25 10:35:51','a3b7a0c10682f0c71136294b92543c6a4d2340244d95c604197a362464e9c66c','pending','2026-02-25 10:35:51',NULL,NULL,NULL,NULL,'en',1,NULL,NULL,0,'none',0,NULL,NULL,'0x6312add7bc090e404701d9618b0dfec59046bbfcd5229c7a8612de34f7b0e8f6',NULL,NULL,NULL,NULL),(9,'mnemonictest','mnemonictest@nactest.io',NULL,'$2y$12$kRcrBNP73Q8BDRHjclrpB.b0WQFa4xQjcnWVcfCDptsVNT.hFyASS',NULL,'2026-02-25 10:39:19','2026-02-25 10:39:19','cc1469c8307ef939a20f5c98d26b9315b59ee35f410ba471c8c226fab3fe8b25','pending','2026-02-25 10:39:19',NULL,NULL,NULL,NULL,'zh',1,NULL,NULL,0,'none',0,NULL,NULL,'0xa3c83b5493d9ff30a6bbcd0597eedd56f3abe40b947cf4a95086e78fc720fe33',NULL,NULL,NULL,NULL),(10,'uiwallettest','uiwallettest@nactest.io','2026-02-25 22:46:22','$2y$12$8vwZQWTXIx6dUuTYw86VuuIr05kuhyTad4bsyuAfUNHlHYPULbDY.',NULL,'2026-02-25 10:40:33','2026-02-25 22:48:30','a52677d2101063ff5234a4857ded77856207eb7a3cb6983068226fba5b86f10c','pending','2026-02-25 10:40:33',NULL,NULL,NULL,NULL,'en',1,'2026-02-25 22:48:30','18.140.115.195',0,'none',0,NULL,NULL,'0x4093b451217b295b3cdbdc8943378e51512dc5e379039d8b51ba382289b6eeef',NULL,NULL,NULL,NULL),(11,'钱包测试用户','wallettest02@nactest.io',NULL,'$2y$12$N5HskU0DZyIqyMfcpqGcx.eE/Z.iijeeyKkKm.WjQ7PVQVmQ2Ys2i',NULL,'2026-02-25 12:29:42','2026-02-25 16:00:56','7cc0a2651315b04906934e860ddd3665d28d32f687f4a8e123dd744d8a2c11dc','pending','2026-02-25 12:29:42',NULL,NULL,NULL,NULL,'en',1,'2026-02-25 16:00:56','13.212.102.131',0,'none',0,NULL,NULL,'0xb66bcbbd8f0a508f8a4fc8748d080892c78e575e0e6ecdc50858321ee3c9aebf',NULL,NULL,NULL,NULL),(12,'Test User','test@newassetchain.io',NULL,'$2y$12$hrVEBpPa21D.no7HHsgSUufJ2IFRuwxROa.BO74fNRCqNPkTPnS7u',NULL,'2026-02-25 19:08:22','2026-02-25 19:09:07','3251a58e47126b29e60e283e418076b6d255c8332bab9a811417261090248774','pending','2026-02-25 19:08:22',NULL,NULL,NULL,NULL,'en',1,'2026-02-25 19:09:07','13.212.29.147',0,'none',0,NULL,NULL,'0x62b7f147f69d0f237e428c1ff782021cca0459192cb3d7b02c7eeccd2d0ea40a',NULL,NULL,NULL,NULL),(13,'NAC Admin','admin@newassetchain.io',NULL,'$2b$12$BB6G035TMw0rxAGqNxBMvu8idg5X7mijZ0p75K8vgb0WyK1MfBdzK',NULL,NULL,NULL,NULL,'constitutional',NULL,NULL,NULL,NULL,NULL,'en',1,NULL,NULL,2,'none',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2026-02-26 22:23:27
