* breaking: use event router, adsd telegram notifier, update indexer schema * fix: early ack on handler not found * fix: jetstream switch to new API, discard buffer on close * remove telegram dependency, rely on log alters instead, which indirectly connect to telegram via uptrace * feat (breaking): switch to self contained auto bootstrapper
80 lines
2.8 KiB
SQL
80 lines
2.8 KiB
SQL
CREATE TABLE IF NOT EXISTS tx (
|
|
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
|
tx_hash VARCHAR(66) NOT NULL UNIQUE,
|
|
block_number INT NOT NULL,
|
|
date_block TIMESTAMP NOT NULL,
|
|
success BOOLEAN NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS token_transfer (
|
|
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
|
tx_id INT REFERENCES tx(id),
|
|
sender_address VARCHAR(42) NOT NULL,
|
|
recipient_address VARCHAR(42) NOT NULL,
|
|
contract_address VARCHAR(42) NOT NULL DEFAULT '0x0000000000000000000000000000000000000000',
|
|
transfer_value NUMERIC NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS token_mint (
|
|
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
|
tx_id INT REFERENCES tx(id),
|
|
minter_address VARCHAR(42) NOT NULL,
|
|
recipient_address VARCHAR(42) NOT NULL,
|
|
contract_address VARCHAR(42) NOT NULL DEFAULT '0x0000000000000000000000000000000000000000',
|
|
mint_value NUMERIC NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS token_burn (
|
|
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
|
tx_id INT REFERENCES tx(id),
|
|
burner_address VARCHAR(42) NOT NULL,
|
|
contract_address VARCHAR(42) NOT NULL DEFAULT '0x0000000000000000000000000000000000000000',
|
|
burn_value NUMERIC NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS faucet_give (
|
|
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
|
tx_id INT REFERENCES tx(id),
|
|
token_address VARCHAR(42) NOT NULL,
|
|
recipient_address VARCHAR(42) NOT NULL,
|
|
contract_address VARCHAR(42) NOT NULL DEFAULT '0x0000000000000000000000000000000000000000',
|
|
give_value NUMERIC NOT NULL
|
|
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS pool_swap (
|
|
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
|
tx_id INT REFERENCES tx(id),
|
|
initiator_address VARCHAR(42) NOT NULL,
|
|
token_in_address VARCHAR(42) NOT NULL,
|
|
token_out_address VARCHAR(42) NOT NULL,
|
|
in_value NUMERIC NOT NULL,
|
|
out_value NUMERIC NOT NULL,
|
|
contract_address VARCHAR(42) NOT NULL DEFAULT '0x0000000000000000000000000000000000000000',
|
|
fee NUMERIC NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS pool_deposit (
|
|
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
|
tx_id INT REFERENCES tx(id),
|
|
initiator_address VARCHAR(42) NOT NULL,
|
|
token_in_address VARCHAR(42) NOT NULL,
|
|
contract_address VARCHAR(42) NOT NULL DEFAULT '0x0000000000000000000000000000000000000000',
|
|
in_value NUMERIC NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS tokens (
|
|
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
|
contract_address VARCHAR(42) UNIQUE NOT NULL DEFAULT '0x0000000000000000000000000000000000000000',
|
|
token_name TEXT NOT NULL,
|
|
token_symbol TEXT NOT NULL,
|
|
token_decimals INT NOT NULL,
|
|
sink_address VARCHAR(42) NOT NULL DEFAULT '0x0000000000000000000000000000000000000000'
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS pools (
|
|
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
|
contract_address VARCHAR(42) UNIQUE NOT NULL DEFAULT '0x0000000000000000000000000000000000000000',
|
|
pool_name TEXT NOT NULL,
|
|
pool_symbol TEXT NOT NULL
|
|
); |