Ambiguity fix

Changes to remove ambiguity of data during backup system
- Converted all Float and Decimal to DECIMAL(16, 8)
- Converted Datetime to Timestamp
- Fixed: Storing time data in backup
This commit is contained in:
sairajzero 2022-04-18 21:07:15 +05:30
parent b56985810f
commit 74b643fc08
4 changed files with 42 additions and 42 deletions

View File

@ -21,7 +21,7 @@ CREATE TABLE TagList (
CREATE TABLE AssetList ( CREATE TABLE AssetList (
asset VARCHAR(64) NOT NULL, asset VARCHAR(64) NOT NULL,
initialPrice DECIMAL(10, 2), initialPrice DECIMAL(16, 8),
PRIMARY KEY(asset) PRIMARY KEY(asset)
); );
@ -36,7 +36,7 @@ CREATE TABLE UserSession (
id INT NOT NULL AUTO_INCREMENT, id INT NOT NULL AUTO_INCREMENT,
floID CHAR(34) NOT NULL, floID CHAR(34) NOT NULL,
proxyKey CHAR(66) NOT NULL, proxyKey CHAR(66) NOT NULL,
session_time DATETIME DEFAULT CURRENT_TIMESTAMP, session_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
KEY (id), KEY (id),
PRIMARY KEY(floID) PRIMARY KEY(floID)
); );
@ -45,7 +45,7 @@ CREATE TABLE UserBalance (
id INT NOT NULL AUTO_INCREMENT, id INT NOT NULL AUTO_INCREMENT,
floID CHAR(34) NOT NULL, floID CHAR(34) NOT NULL,
token VARCHAR(64) NOT NULL, token VARCHAR(64) NOT NULL,
quantity DECIMAL(10, 2) NOT NULL DEFAULT 0, quantity DECIMAL(16, 8) NOT NULL DEFAULT 0,
PRIMARY KEY(floID, token), PRIMARY KEY(floID, token),
KEY(id) KEY(id)
) )
@ -53,10 +53,10 @@ CREATE TABLE UserBalance (
CREATE TABLE SellChips ( CREATE TABLE SellChips (
id INT NOT NULL AUTO_INCREMENT, id INT NOT NULL AUTO_INCREMENT,
floID CHAR(34) NOT NULL, floID CHAR(34) NOT NULL,
locktime DATETIME DEFAULT CURRENT_TIMESTAMP, locktime TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
asset VARCHAR(64) NOT NULL, asset VARCHAR(64) NOT NULL,
base DECIMAL(10, 2) NOT NULL DEFAULT 0, base DECIMAL(16, 8) NOT NULL DEFAULT 0,
quantity DECIMAL(10, 2) NOT NULL, quantity DECIMAL(16, 8) NOT NULL,
PRIMARY KEY(id), PRIMARY KEY(id),
FOREIGN KEY (asset) REFERENCES AssetList(asset) FOREIGN KEY (asset) REFERENCES AssetList(asset)
); );
@ -87,7 +87,7 @@ CREATE TABLE RequestLog(
request TEXT NOT NULL, request TEXT NOT NULL,
sign VARCHAR(160) NOT NULL, sign VARCHAR(160) NOT NULL,
proxy BOOLEAN NOT NULL, proxy BOOLEAN NOT NULL,
request_time DATETIME DEFAULT CURRENT_TIMESTAMP, request_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY(id), PRIMARY KEY(id),
UNIQUE (sign) UNIQUE (sign)
); );
@ -96,9 +96,9 @@ CREATE TABLE SellOrder (
id INT NOT NULL AUTO_INCREMENT, id INT NOT NULL AUTO_INCREMENT,
floID CHAR(34) NOT NULL, floID CHAR(34) NOT NULL,
asset VARCHAR(64) NOT NULL, asset VARCHAR(64) NOT NULL,
quantity DECIMAL(10, 2) NOT NULL, quantity DECIMAL(16, 8) NOT NULL,
minPrice DECIMAL(10, 2) NOT NULL, minPrice DECIMAL(16, 8) NOT NULL,
time_placed DATETIME DEFAULT CURRENT_TIMESTAMP, time_placed TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY(id), PRIMARY KEY(id),
FOREIGN KEY (asset) REFERENCES AssetList(asset) FOREIGN KEY (asset) REFERENCES AssetList(asset)
); );
@ -107,9 +107,9 @@ CREATE TABLE BuyOrder (
id INT NOT NULL AUTO_INCREMENT, id INT NOT NULL AUTO_INCREMENT,
floID CHAR(34) NOT NULL, floID CHAR(34) NOT NULL,
asset VARCHAR(64) NOT NULL, asset VARCHAR(64) NOT NULL,
quantity DECIMAL(10, 2) NOT NULL, quantity DECIMAL(16, 8) NOT NULL,
maxPrice DECIMAL(10, 2) NOT NULL, maxPrice DECIMAL(16, 8) NOT NULL,
time_placed DATETIME DEFAULT CURRENT_TIMESTAMP, time_placed TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY(id), PRIMARY KEY(id),
FOREIGN KEY (asset) REFERENCES AssetList(asset) FOREIGN KEY (asset) REFERENCES AssetList(asset)
); );
@ -118,7 +118,7 @@ CREATE TABLE InputFLO (
id INT NOT NULL AUTO_INCREMENT, id INT NOT NULL AUTO_INCREMENT,
txid VARCHAR(128) NOT NULL, txid VARCHAR(128) NOT NULL,
floID CHAR(34) NOT NULL, floID CHAR(34) NOT NULL,
amount DECIMAL(10, 2), amount DECIMAL(16, 8),
status VARCHAR(50) NOT NULL, status VARCHAR(50) NOT NULL,
PRIMARY KEY(id) PRIMARY KEY(id)
); );
@ -127,7 +127,7 @@ CREATE TABLE OutputFLO (
id INT NOT NULL AUTO_INCREMENT, id INT NOT NULL AUTO_INCREMENT,
txid VARCHAR(128), txid VARCHAR(128),
floID CHAR(34) NOT NULL, floID CHAR(34) NOT NULL,
amount DECIMAL(10, 2) NOT NULL, amount DECIMAL(16, 8) NOT NULL,
status VARCHAR(50) NOT NULL, status VARCHAR(50) NOT NULL,
PRIMARY KEY(id) PRIMARY KEY(id)
); );
@ -137,7 +137,7 @@ CREATE TABLE InputToken (
txid VARCHAR(128) NOT NULL, txid VARCHAR(128) NOT NULL,
floID CHAR(34) NOT NULL, floID CHAR(34) NOT NULL,
token VARCHAR(64), token VARCHAR(64),
amount DECIMAL(10, 2), amount DECIMAL(16, 8),
status VARCHAR(50) NOT NULL, status VARCHAR(50) NOT NULL,
PRIMARY KEY(id) PRIMARY KEY(id)
); );
@ -147,7 +147,7 @@ CREATE TABLE OutputToken (
txid VARCHAR(128), txid VARCHAR(128),
floID CHAR(34) NOT NULL, floID CHAR(34) NOT NULL,
token VARCHAR(64), token VARCHAR(64),
amount DECIMAL(10, 2) NOT NULL, amount DECIMAL(16, 8) NOT NULL,
status VARCHAR(50) NOT NULL, status VARCHAR(50) NOT NULL,
PRIMARY KEY(id) PRIMARY KEY(id)
); );
@ -157,8 +157,8 @@ CREATE TABLE OutputToken (
CREATE TABLE PriceHistory ( CREATE TABLE PriceHistory (
id INT NOT NULL AUTO_INCREMENT, id INT NOT NULL AUTO_INCREMENT,
asset VARCHAR(64) NOT NULL, asset VARCHAR(64) NOT NULL,
rate DECIMAL(10, 2) NOT NULL, rate DECIMAL(16, 8) NOT NULL,
rec_time DATETIME DEFAULT CURRENT_TIMESTAMP, rec_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY(id), PRIMARY KEY(id),
FOREIGN KEY (asset) REFERENCES AssetList(asset) FOREIGN KEY (asset) REFERENCES AssetList(asset)
); );
@ -168,8 +168,8 @@ CREATE TABLE TransferTransactions (
sender CHAR(34) NOT NULL, sender CHAR(34) NOT NULL,
receiver TEXT NOT NULL, receiver TEXT NOT NULL,
token VARCHAR(64) NOT NULL, token VARCHAR(64) NOT NULL,
totalAmount DECIMAL(10, 2) NOT NULL, totalAmount DECIMAL(16, 8) NOT NULL,
tx_time DATETIME DEFAULT CURRENT_TIMESTAMP, tx_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
txid VARCHAR(66) NOT NULL, txid VARCHAR(66) NOT NULL,
KEY(id), KEY(id),
PRIMARY KEY(txid) PRIMARY KEY(txid)
@ -180,9 +180,9 @@ CREATE TABLE TradeTransactions (
seller CHAR(34) NOT NULL, seller CHAR(34) NOT NULL,
buyer CHAR(34) NOT NULL, buyer CHAR(34) NOT NULL,
asset VARCHAR(64) NOT NULL, asset VARCHAR(64) NOT NULL,
quantity DECIMAL(10, 2) NOT NULL, quantity DECIMAL(16, 8) NOT NULL,
unitValue DECIMAL(10, 2) NOT NULL, unitValue DECIMAL(16, 8) NOT NULL,
tx_time DATETIME DEFAULT CURRENT_TIMESTAMP, tx_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
txid VARCHAR(66) NOT NULL, txid VARCHAR(66) NOT NULL,
KEY(id), KEY(id),
PRIMARY KEY(txid), PRIMARY KEY(txid),
@ -191,21 +191,21 @@ CREATE TABLE TradeTransactions (
CREATE TABLE AuditTrade( CREATE TABLE AuditTrade(
id INT NOT NULL AUTO_INCREMENT, id INT NOT NULL AUTO_INCREMENT,
rec_time DATETIME DEFAULT CURRENT_TIMESTAMP, rec_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
unit_price DECIMAL(10, 2) NOT NULL, unit_price DECIMAL(16, 8) NOT NULL,
quantity DECIMAL(10, 2) NOT NULL, quantity DECIMAL(16, 8) NOT NULL,
total_cost DECIMAL(10, 2) NOT NULL, total_cost DECIMAL(16, 8) NOT NULL,
asset VARCHAR(64) NOT NULL, asset VARCHAR(64) NOT NULL,
sellerID CHAR(34) NOT NULL, sellerID CHAR(34) NOT NULL,
seller_old_asset DECIMAL(10, 2) NOT NULL, seller_old_asset DECIMAL(16, 8) NOT NULL,
seller_new_asset DECIMAL(10, 2) NOT NULL, seller_new_asset DECIMAL(16, 8) NOT NULL,
seller_old_cash DECIMAL(10, 2) NOT NULL, seller_old_cash DECIMAL(16, 8) NOT NULL,
seller_new_cash DECIMAL(10, 2) NOT NULL, seller_new_cash DECIMAL(16, 8) NOT NULL,
buyerID CHAR(34) NOT NULL, buyerID CHAR(34) NOT NULL,
buyer_old_asset DECIMAL(10, 2) NOT NULL, buyer_old_asset DECIMAL(16, 8) NOT NULL,
buyer_new_asset DECIMAL(10, 2) NOT NULL, buyer_new_asset DECIMAL(16, 8) NOT NULL,
buyer_old_cash DECIMAL(10, 2) NOT NULL, buyer_old_cash DECIMAL(16, 8) NOT NULL,
buyer_new_cash DECIMAL(10, 2) NOT NULL, buyer_new_cash DECIMAL(16, 8) NOT NULL,
PRIMARY KEY(id), PRIMARY KEY(id),
FOREIGN KEY (asset) REFERENCES AssetList(asset) FOREIGN KEY (asset) REFERENCES AssetList(asset)
); );
@ -216,7 +216,7 @@ CREATE TABLE _backup (
t_name TINYTEXT, t_name TINYTEXT,
id INT, id INT,
mode BOOLEAN DEFAULT TRUE, mode BOOLEAN DEFAULT TRUE,
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP, timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY(t_name, id) PRIMARY KEY(t_name, id)
); );
@ -231,7 +231,7 @@ CREATE table _backupCache(
CREATE TABLE sinkShares( CREATE TABLE sinkShares(
floID CHAR(34) NOT NULL, floID CHAR(34) NOT NULL,
share TEXT, share TEXT,
time_ DATETIME DEFAULT CURRENT_TIMESTAMP, time_stored TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY(floID) PRIMARY KEY(floID)
); );

View File

@ -200,7 +200,7 @@ function informLiveNodes(init) {
if (init && flag) if (init && flag)
syncRequest(); syncRequest();
//Check if sinkKey or share available in DB //Check if sinkKey or share available in DB
DB.query("SELECT floID, share FROM sinkShares ORDER BY time_ DESC LIMIT 1").then(result => { DB.query("SELECT floID, share FROM sinkShares ORDER BY time_stored DESC LIMIT 1").then(result => {
if (result.length) { if (result.length) {
let share = Crypto.AES.decrypt(result[0].share, global.myPrivKey); let share = Crypto.AES.decrypt(result[0].share, global.myPrivKey);
if (share.startsWith(SINK_KEY_INDICATOR)) { if (share.startsWith(SINK_KEY_INDICATOR)) {

View File

@ -152,7 +152,7 @@ function storeSinkShare(sinkID, keyShare) {
} }
function sendSinkShare(pubKey) { function sendSinkShare(pubKey) {
DB.query("SELECT floID, share FROM sinkShares ORDER BY time_ DESC LIMIT 1").then(result => { DB.query("SELECT floID, share FROM sinkShares ORDER BY time_stored DESC LIMIT 1").then(result => {
if (!result.length) if (!result.length)
return console.warn("No key-shares in DB!"); return console.warn("No key-shares in DB!");
let share = Crypto.AES.decrypt(result[0].share, global.myPrivKey); let share = Crypto.AES.decrypt(result[0].share, global.myPrivKey);
@ -323,7 +323,7 @@ function updateTableData(table, data) {
}) })
} }
const validateValue = val => (typeof val === "string" && /\.\d{3}Z$/.test(val)) ? val.substring(0, val.length - 1) : val; const validateValue = val => (typeof val === "string" && /\.\d{3}Z$/.test(val)) ? global.convertDateToString(val) : val;
function verifyChecksum(checksum_ref) { function verifyChecksum(checksum_ref) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {

View File

@ -87,7 +87,7 @@ function Database(user, password, dbname, host = 'localhost') {
password: password, password: password,
database: dbname, database: dbname,
//dateStrings : true, //dateStrings : true,
timezone: 'UTC' //timezone: 'UTC'
}); });
db.connect.then(conn => { db.connect.then(conn => {
conn.release(); conn.release();