· 6 years ago · Jun 10, 2019, 04:36 PM
1CREATE TABLE IF NOT EXISTS `info` (
2 `name` varchar(255) NOT NULL COMMENT 'Name of info, e.g. last_admin_login etc',
3 `value` varchar(255) NOT NULL COMMENT 'Value of info, could be anything.',
4 `comment` text COMMENT 'Optional comment to explain info',
5 PRIMARY KEY (`name`)
6) ENGINE=InnoDB DEFAULT CHARSET=latin1;
7
8INSERT INTO `info` (`name`, `value`, `comment`) VALUES
9('1_block_height', '1', 'Last checked block height for monero'),
10('1_display_block_height', '1', NULL);
11
12CREATE TABLE IF NOT EXISTS `user` (
13 `user_id` bigint(20) NOT NULL AUTO_INCREMENT,
14 `username` varchar(20) NOT NULL,
15 `password` char(64) NOT NULL,
16 PRIMARY KEY (`user_id`),
17 UNIQUE KEY `username` (`username`)
18) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
19
20CREATE TABLE IF NOT EXISTS `users_assets` (
21 `user_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Foreign key to user.user_id',
22 `asset_id` int(11) unsigned NOT NULL COMMENT '1 = XMR, we use this field to allow multiple currencies/assets',
23 `balance` decimal(56,24) NOT NULL DEFAULT '0.000000000000000000000000' COMMENT 'Current available balance',
24 PRIMARY KEY (`user_id`)
25) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
26
27CREATE TABLE IF NOT EXISTS `users_cn_payment_ids` (
28 `pid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
29 `asset_id` int(11) unsigned NOT NULL COMMENT 'Asset ID',
30 `payment_id` char(64) NOT NULL COMMENT 'Payment ID',
31 `user_id` bigint(20) unsigned NOT NULL,
32 `date_created` datetime NOT NULL,
33 PRIMARY KEY (`pid`),
34 UNIQUE KEY `payment_id` (`payment_id`),
35 KEY `user_id` (`user_id`)
36) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
37
38CREATE TABLE IF NOT EXISTS `users_cn_transactions` (
39 `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'CryptoNote Txn ID',
40 `pid` bigint(20) unsigned NOT NULL COMMENT 'Foreign key to users_cn_payment_ids.pid',
41 `amount` decimal(28,12) unsigned NOT NULL COMMENT 'The amount transaction',
42 `block_height` int(11) unsigned NOT NULL COMMENT 'The block height of this transaction',
43 `tx_hash` char(64) NOT NULL,
44 `datetime` datetime NOT NULL,
45 `status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '0 = pending, 1 = complete',
46 PRIMARY KEY (`id`)
47) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
48
49CREATE TABLE IF NOT EXISTS `users_transactions` (
50 `id` bigint(20) unsigned NOT NULL COMMENT 'Txn ID',
51 `user_id` bigint(20) unsigned NOT NULL COMMENT 'Foreign key to user.user_id',
52 `amount` decimal(56,24) NOT NULL COMMENT 'Positive = incoming, Negative = outgoing',
53 `asset_id` int(11) unsigned NOT NULL COMMENT 'Asset that was transacted',
54 `datetime` datetime NOT NULL COMMENT 'Date and time of txn',
55 PRIMARY KEY (`id`),
56 KEY `user_id` (`user_id`)
57) ENGINE=InnoDB DEFAULT CHARSET=latin1;
58
59CREATE TABLE IF NOT EXISTS `withdraws_complete` (
60 `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Withdraw ID',
61 `user_id` bigint(20) unsigned NOT NULL COMMENT 'User ID who requested payment',
62 `address` text NOT NULL COMMENT 'Reciever address, e.g bitcoin address, monero address, bank info etc',
63 `amount` decimal(56,24) unsigned NOT NULL DEFAULT '0.000000000000000000000000' COMMENT 'Amount',
64 `fee` decimal(56,24) unsigned NOT NULL DEFAULT '0.000000000000000000000000' COMMENT 'Fee amount (already detucted from amount)',
65 `date_paid` datetime NOT NULL,
66 `asset_id` int(11) unsigned NOT NULL COMMENT 'Asset ID',
67 `mixin` tinyint(3) unsigned NOT NULL DEFAULT '0',
68 `txn` text NOT NULL COMMENT 'Transaction id onec status is 1',
69 PRIMARY KEY (`id`)
70) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Completed withdraws' AUTO_INCREMENT=1 ;
71
72CREATE TABLE IF NOT EXISTS `withdraws_pending` (
73 `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Withdraw ID',
74 `user_id` bigint(20) unsigned NOT NULL COMMENT 'User ID who requested payment',
75 `address` text NOT NULL COMMENT 'Reciever address, e.g bitcoin address, monero address, bank info etc',
76 `payment_id` char(64) NOT NULL,
77 `amount` decimal(56,24) unsigned NOT NULL DEFAULT '0.000000000000000000000000' COMMENT 'Amount (without fee / receivable)',
78 `fee` decimal(56,24) unsigned NOT NULL DEFAULT '0.000000000000000000000000' COMMENT 'Fee amount (already detucted from amount)',
79 `date_requested` datetime NOT NULL,
80 `asset_id` int(11) unsigned NOT NULL COMMENT 'Asset ID',
81 `mixin` tinyint(3) unsigned NOT NULL DEFAULT '0',
82 `status` tinyint(1) NOT NULL COMMENT '0 = Pending, 1 = Approved (waiting for payment processing), -1 error/failed, rejected/canceled are deleted',
83 `error` text NOT NULL COMMENT 'If status = -1, there can be an error message here',
84 PRIMARY KEY (`id`),
85 KEY `status` (`status`)
86) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Pending withdraws' AUTO_INCREMENT=1 ;