CREATE TABLE users ( id SERIAL PRIMARY KEY, primary_chain INT, primary_address VARCHAR(42), description VARCHAR(255), email VARCHAR(320), ) -- TODO: foreign keys -- TODO: how should we store addresses? -- TODO: creation time? -- TODO: permissions. likely similar to infura CREATE TABLE secondary_users ( id SERIAL PRIMARY KEY, users_id BIGINT, secondary_address VARCHAR(42), secondary_chain INT, description VARCHAR, email VARCHAR(320), ) -- TODO: creation time? CREATE TABLE blocklist ( id SERIAL PRIMARY KEY, blocked_address VARCHAR, chain INT, reason TEXT, ) -- TODO: foreign keys -- TODO: index on api_key -- TODO: what size for api_key -- TODO: track active with a timestamp? -- TODO: creation time? -- TODO: requests_per_second INT, -- TODO: requests_per_day INT, -- TODO: more security features. likely similar to infura CREATE TABLE user_keys ( id SERIAL PRIMARY KEY, users_id BIGINT, api_key VARCHAR, description VARCHAR, private_txs BOOLEAN, active BOOLEAN, )