assets system

This commit is contained in:
admin@arionum.com
2019-04-14 22:55:16 +03:00
parent 7e28ce9246
commit 1baba2ab3a
8 changed files with 686 additions and 40 deletions

View File

@@ -2,6 +2,7 @@
// when db schema modifications are done, this function is run.
$dbversion = intval($_config['dbversion']);
$db->beginTransaction();
if ($dbversion == 0) {
$db->run("
@@ -168,6 +169,56 @@ if ($dbversion = 9) {
//dev only
$dbversion++;
}
if ($dbversion = 10) {
//assets system
$db->run("
CREATE TABLE `assets` (
`id` varbinary(128) NOT NULL,
`max_supply` bigint(18) NOT NULL DEFAULT '0',
`tradable` tinyint(1) NOT NULL DEFAULT '1',
`price` decimal(20,8) NOT NULL DEFAULT '0.00000000',
`dividend_only` tinyint(1) NOT NULL DEFAULT '0',
`auto_dividend` tinyint(1) NOT NULL DEFAULT '0',
`allow_bid` tinyint(1) NOT NULL DEFAULT '1',
`height` int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
");
$db->run("
ALTER TABLE `assets`
ADD PRIMARY KEY (`id`)
");
$db->run("
CREATE TABLE `assets_market` (
`id` varchar(128) COLLATE utf8mb4_bin NOT NULL,
`account` varbinary(128) NOT NULL,
`asset` varbinary(128) NOT NULL,
`price` decimal(20,8) NOT NULL,
`date` int(11) NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT '0',
`type` enum('bid','ask') COLLATE utf8mb4_bin NOT NULL DEFAULT 'bid',
`val` bigint(18) NOT NULL,
`val_done` bigint(18) NOT NULL DEFAULT '0',
`cancelable` tinyint(1) NOT NULL DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
");
$db->run("
ALTER TABLE `assets_market`
ADD PRIMARY KEY (`id`);
");
$db->run("CREATE TABLE `assets_balance` (
`account` varbinary(128) NOT NULL,
`asset` varbinary(128) NOT NULL,
`balance` bigint(128) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
");
$db->run("
ALTER TABLE `assets_balance`
ADD PRIMARY KEY (`account`,`asset`);
");
$dbversion++;
}
// update the db version to the latest one