|
@ -1,5 +1,11 @@ |
|
|
-- +migrate Up |
|
|
-- +migrate Up |
|
|
|
|
|
|
|
|
|
|
|
-- NOTE: We use "DECIMAL(78,0)" to encode go *big.Int types. All the *big.Int |
|
|
|
|
|
-- that we deal with represent a value in the SNARK field, which is an integer |
|
|
|
|
|
-- of 256 bits. `log(2**256, 10) = 77.06`: that is, a 256 bit number can have |
|
|
|
|
|
-- at most 78 digits, so we use this value to specify the precision in the |
|
|
|
|
|
-- PostgreSQL DECIMAL guaranteeing that we will never lose precision. |
|
|
|
|
|
|
|
|
-- History |
|
|
-- History |
|
|
CREATE TABLE block ( |
|
|
CREATE TABLE block ( |
|
|
eth_block_num BIGINT PRIMARY KEY, |
|
|
eth_block_num BIGINT PRIMARY KEY, |
|
@ -22,10 +28,10 @@ CREATE TABLE batch ( |
|
|
forger_addr BYTEA NOT NULL, -- fake foreign key for coordinator |
|
|
forger_addr BYTEA NOT NULL, -- fake foreign key for coordinator |
|
|
fees_collected BYTEA NOT NULL, |
|
|
fees_collected BYTEA NOT NULL, |
|
|
fee_idxs_coordinator BYTEA NOT NULL, |
|
|
fee_idxs_coordinator BYTEA NOT NULL, |
|
|
state_root BYTEA NOT NULL, |
|
|
|
|
|
|
|
|
state_root DECIMAL(78,0) NOT NULL, |
|
|
num_accounts BIGINT NOT NULL, |
|
|
num_accounts BIGINT NOT NULL, |
|
|
last_idx BIGINT NOT NULL, |
|
|
last_idx BIGINT NOT NULL, |
|
|
exit_root BYTEA NOT NULL, |
|
|
|
|
|
|
|
|
exit_root DECIMAL(78,0) NOT NULL, |
|
|
forge_l1_txs_num BIGINT, |
|
|
forge_l1_txs_num BIGINT, |
|
|
slot_num BIGINT NOT NULL, |
|
|
slot_num BIGINT NOT NULL, |
|
|
total_fees_usd NUMERIC |
|
|
total_fees_usd NUMERIC |
|
@ -34,7 +40,7 @@ CREATE TABLE batch ( |
|
|
CREATE TABLE bid ( |
|
|
CREATE TABLE bid ( |
|
|
item_id SERIAL PRIMARY KEY, |
|
|
item_id SERIAL PRIMARY KEY, |
|
|
slot_num BIGINT NOT NULL, |
|
|
slot_num BIGINT NOT NULL, |
|
|
bid_value BYTEA NOT NULL, |
|
|
|
|
|
|
|
|
bid_value DECIMAL(78,0) NOT NULL, |
|
|
eth_block_num BIGINT NOT NULL REFERENCES block (eth_block_num) ON DELETE CASCADE, |
|
|
eth_block_num BIGINT NOT NULL REFERENCES block (eth_block_num) ON DELETE CASCADE, |
|
|
bidder_addr BYTEA NOT NULL -- fake foreign key for coordinator |
|
|
bidder_addr BYTEA NOT NULL -- fake foreign key for coordinator |
|
|
); |
|
|
); |
|
@ -106,7 +112,7 @@ CREATE TABLE account_update ( |
|
|
batch_num BIGINT NOT NULL REFERENCES batch (batch_num) ON DELETE CASCADE, |
|
|
batch_num BIGINT NOT NULL REFERENCES batch (batch_num) ON DELETE CASCADE, |
|
|
idx BIGINT NOT NULL REFERENCES account (idx) ON DELETE CASCADE, |
|
|
idx BIGINT NOT NULL REFERENCES account (idx) ON DELETE CASCADE, |
|
|
nonce BIGINT NOT NULL, |
|
|
nonce BIGINT NOT NULL, |
|
|
balance BYTEA NOT NULL |
|
|
|
|
|
|
|
|
balance DECIMAL(78,0) NOT NULL |
|
|
); |
|
|
); |
|
|
|
|
|
|
|
|
CREATE TABLE exit_tree ( |
|
|
CREATE TABLE exit_tree ( |
|
@ -114,7 +120,7 @@ CREATE TABLE exit_tree ( |
|
|
batch_num BIGINT REFERENCES batch (batch_num) ON DELETE CASCADE, |
|
|
batch_num BIGINT REFERENCES batch (batch_num) ON DELETE CASCADE, |
|
|
account_idx BIGINT REFERENCES account (idx) ON DELETE CASCADE, |
|
|
account_idx BIGINT REFERENCES account (idx) ON DELETE CASCADE, |
|
|
merkle_proof BYTEA NOT NULL, |
|
|
merkle_proof BYTEA NOT NULL, |
|
|
balance BYTEA NOT NULL, |
|
|
|
|
|
|
|
|
balance DECIMAL(78,0) NOT NULL, |
|
|
instant_withdrawn BIGINT REFERENCES block (eth_block_num) ON DELETE SET NULL, |
|
|
instant_withdrawn BIGINT REFERENCES block (eth_block_num) ON DELETE SET NULL, |
|
|
delayed_withdraw_request BIGINT REFERENCES block (eth_block_num) ON DELETE SET NULL, |
|
|
delayed_withdraw_request BIGINT REFERENCES block (eth_block_num) ON DELETE SET NULL, |
|
|
owner BYTEA, |
|
|
owner BYTEA, |
|
@ -164,7 +170,7 @@ CREATE TABLE tx ( |
|
|
to_idx BIGINT NOT NULL, |
|
|
to_idx BIGINT NOT NULL, |
|
|
to_eth_addr BYTEA, |
|
|
to_eth_addr BYTEA, |
|
|
to_bjj BYTEA, |
|
|
to_bjj BYTEA, |
|
|
amount BYTEA NOT NULL, |
|
|
|
|
|
|
|
|
amount DECIMAL(78,0) NOT NULL, |
|
|
amount_success BOOLEAN NOT NULL DEFAULT true, |
|
|
amount_success BOOLEAN NOT NULL DEFAULT true, |
|
|
amount_f NUMERIC NOT NULL, |
|
|
amount_f NUMERIC NOT NULL, |
|
|
token_id INT NOT NULL REFERENCES token (token_id), |
|
|
token_id INT NOT NULL REFERENCES token (token_id), |
|
@ -174,7 +180,7 @@ CREATE TABLE tx ( |
|
|
-- L1 |
|
|
-- L1 |
|
|
to_forge_l1_txs_num BIGINT, |
|
|
to_forge_l1_txs_num BIGINT, |
|
|
user_origin BOOLEAN, |
|
|
user_origin BOOLEAN, |
|
|
deposit_amount BYTEA, |
|
|
|
|
|
|
|
|
deposit_amount DECIMAL(78,0), |
|
|
deposit_amount_success BOOLEAN NOT NULL DEFAULT true, |
|
|
deposit_amount_success BOOLEAN NOT NULL DEFAULT true, |
|
|
deposit_amount_f NUMERIC, |
|
|
deposit_amount_f NUMERIC, |
|
|
deposit_amount_usd NUMERIC, |
|
|
deposit_amount_usd NUMERIC, |
|
@ -544,7 +550,7 @@ FOR EACH ROW EXECUTE PROCEDURE forge_l1_user_txs(); |
|
|
|
|
|
|
|
|
CREATE TABLE rollup_vars ( |
|
|
CREATE TABLE rollup_vars ( |
|
|
eth_block_num BIGINT PRIMARY KEY REFERENCES block (eth_block_num) ON DELETE CASCADE, |
|
|
eth_block_num BIGINT PRIMARY KEY REFERENCES block (eth_block_num) ON DELETE CASCADE, |
|
|
fee_add_token BYTEA NOT NULL, |
|
|
|
|
|
|
|
|
fee_add_token DECIMAL(78,0) NOT NULL, |
|
|
forge_l1_timeout BIGINT NOT NULL, |
|
|
forge_l1_timeout BIGINT NOT NULL, |
|
|
withdrawal_delay BIGINT NOT NULL, |
|
|
withdrawal_delay BIGINT NOT NULL, |
|
|
buckets BYTEA NOT NULL, |
|
|
buckets BYTEA NOT NULL, |
|
@ -556,7 +562,7 @@ CREATE TABLE bucket_update ( |
|
|
eth_block_num BIGINT NOT NULL REFERENCES block (eth_block_num) ON DELETE CASCADE, |
|
|
eth_block_num BIGINT NOT NULL REFERENCES block (eth_block_num) ON DELETE CASCADE, |
|
|
num_bucket BIGINT NOT NULL, |
|
|
num_bucket BIGINT NOT NULL, |
|
|
block_stamp BIGINT NOT NULL, |
|
|
block_stamp BIGINT NOT NULL, |
|
|
withdrawals BYTEA NOT NULL |
|
|
|
|
|
|
|
|
withdrawals DECIMAL(78,0) NOT NULL |
|
|
); |
|
|
); |
|
|
|
|
|
|
|
|
CREATE TABLE token_exchange ( |
|
|
CREATE TABLE token_exchange ( |
|
@ -572,7 +578,7 @@ CREATE TABLE escape_hatch_withdrawal ( |
|
|
who_addr BYTEA NOT NULL, |
|
|
who_addr BYTEA NOT NULL, |
|
|
to_addr BYTEA NOT NULL, |
|
|
to_addr BYTEA NOT NULL, |
|
|
token_addr BYTEA NOT NULL, |
|
|
token_addr BYTEA NOT NULL, |
|
|
amount BYTEA NOT NULL |
|
|
|
|
|
|
|
|
amount DECIMAL(78,0) NOT NULL |
|
|
); |
|
|
); |
|
|
|
|
|
|
|
|
CREATE TABLE auction_vars ( |
|
|
CREATE TABLE auction_vars ( |
|
@ -610,7 +616,7 @@ CREATE TABLE tx_pool ( |
|
|
effective_to_eth_addr BYTEA, |
|
|
effective_to_eth_addr BYTEA, |
|
|
effective_to_bjj BYTEA, |
|
|
effective_to_bjj BYTEA, |
|
|
token_id INT NOT NULL REFERENCES token (token_id) ON DELETE CASCADE, |
|
|
token_id INT NOT NULL REFERENCES token (token_id) ON DELETE CASCADE, |
|
|
amount BYTEA NOT NULL, |
|
|
|
|
|
|
|
|
amount DECIMAL(78,0) NOT NULL, |
|
|
amount_f NUMERIC NOT NULL, |
|
|
amount_f NUMERIC NOT NULL, |
|
|
fee SMALLINT NOT NULL, |
|
|
fee SMALLINT NOT NULL, |
|
|
nonce BIGINT NOT NULL, |
|
|
nonce BIGINT NOT NULL, |
|
@ -624,7 +630,7 @@ CREATE TABLE tx_pool ( |
|
|
rq_to_eth_addr BYTEA, |
|
|
rq_to_eth_addr BYTEA, |
|
|
rq_to_bjj BYTEA, |
|
|
rq_to_bjj BYTEA, |
|
|
rq_token_id INT, |
|
|
rq_token_id INT, |
|
|
rq_amount BYTEA, |
|
|
|
|
|
|
|
|
rq_amount DECIMAL(78,0), |
|
|
rq_fee SMALLINT, |
|
|
rq_fee SMALLINT, |
|
|
rq_nonce BIGINT, |
|
|
rq_nonce BIGINT, |
|
|
tx_type VARCHAR(40) NOT NULL, |
|
|
tx_type VARCHAR(40) NOT NULL, |
|
|