Update dependencies for ipld-eth-db 5.0.5 and geth v1.11.6-statediff-5.0.8 #252
267
pkg/eth/sql.go
267
pkg/eth/sql.go
@ -1,17 +1,13 @@
|
|||||||
package eth
|
package eth
|
||||||
|
|
||||||
const (
|
const (
|
||||||
RetrieveHeaderByHashPgStr = `
|
RetrieveHeaderByHashPgStr = `SELECT cid, data
|
||||||
SELECT header_cids.cid,
|
FROM eth.header_cids
|
||||||
blocks.data
|
INNER JOIN ipld.blocks ON (
|
||||||
FROM ipld.blocks,
|
header_cids.cid = blocks.key
|
||||||
eth.header_cids
|
AND header_cids.block_number = blocks.block_number
|
||||||
WHERE header_cids.block_hash = $1
|
)
|
||||||
AND header_cids.canonical
|
WHERE block_hash = $1`
|
||||||
AND blocks.key = header_cids.cid
|
|
||||||
AND blocks.block_number = header_cids.block_number
|
|
||||||
LIMIT 1
|
|
||||||
`
|
|
||||||
RetrieveUnclesPgStr = `SELECT uncle_cids.cid, data
|
RetrieveUnclesPgStr = `SELECT uncle_cids.cid, data
|
||||||
FROM eth.uncle_cids
|
FROM eth.uncle_cids
|
||||||
INNER JOIN eth.header_cids ON (
|
INNER JOIN eth.header_cids ON (
|
||||||
@ -39,94 +35,79 @@ LIMIT 1
|
|||||||
WHERE header_cids.block_hash = $1
|
WHERE header_cids.block_hash = $1
|
||||||
ORDER BY uncle_cids.parent_hash
|
ORDER BY uncle_cids.parent_hash
|
||||||
LIMIT 1`
|
LIMIT 1`
|
||||||
RetrieveTransactionsPgStr = `
|
RetrieveTransactionsPgStr = `SELECT transaction_cids.cid, data
|
||||||
SELECT transaction_cids.cid,
|
FROM eth.transaction_cids
|
||||||
blocks.data
|
INNER JOIN eth.header_cids ON (
|
||||||
FROM eth.transaction_cids,
|
transaction_cids.header_id = header_cids.block_hash
|
||||||
eth.header_cids,
|
AND transaction_cids.block_number = header_cids.block_number
|
||||||
ipld.blocks
|
)
|
||||||
WHERE header_cids.block_hash = $1
|
INNER JOIN ipld.blocks ON (
|
||||||
AND header_cids.block_number = $2
|
transaction_cids.cid = blocks.key
|
||||||
AND header_cids.canonical
|
AND transaction_cids.block_number = blocks.block_number
|
||||||
AND transaction_cids.block_number = header_cids.block_number
|
)
|
||||||
AND transaction_cids.header_id = header_cids.block_hash
|
WHERE block_hash = $1
|
||||||
AND blocks.block_number = header_cids.block_number
|
AND header_cids.block_number = $2
|
||||||
AND blocks.key = transaction_cids.cid
|
ORDER BY eth.transaction_cids.index ASC`
|
||||||
ORDER BY eth.transaction_cids.index ASC
|
RetrieveTransactionsByBlockHashPgStr = `SELECT transaction_cids.cid, data
|
||||||
`
|
FROM eth.transaction_cids
|
||||||
RetrieveTransactionsByBlockHashPgStr = `
|
INNER JOIN eth.header_cids ON (
|
||||||
SELECT transaction_cids.cid,
|
transaction_cids.header_id = header_cids.block_hash
|
||||||
blocks.data
|
AND transaction_cids.block_number = header_cids.block_number
|
||||||
FROM eth.transaction_cids,
|
)
|
||||||
eth.header_cids,
|
INNER JOIN ipld.blocks ON (
|
||||||
ipld.blocks
|
transaction_cids.cid = blocks.key
|
||||||
WHERE header_cids.block_hash = $1
|
AND transaction_cids.block_number = blocks.block_number
|
||||||
AND header_cids.canonical
|
)
|
||||||
AND transaction_cids.block_number = header_cids.block_number
|
WHERE block_hash = $1
|
||||||
AND transaction_cids.header_id = header_cids.block_hash
|
ORDER BY eth.transaction_cids.index ASC`
|
||||||
AND blocks.block_number = header_cids.block_number
|
RetrieveReceiptsPgStr = `SELECT receipt_cids.cid, data, eth.transaction_cids.tx_hash
|
||||||
AND blocks.key = transaction_cids.cid
|
FROM eth.receipt_cids
|
||||||
ORDER BY eth.transaction_cids.index ASC
|
INNER JOIN eth.transaction_cids ON (
|
||||||
`
|
receipt_cids.tx_id = transaction_cids.tx_hash
|
||||||
RetrieveReceiptsPgStr = `
|
AND receipt_cids.header_id = transaction_cids.header_id
|
||||||
SELECT receipt_cids.cid,
|
AND receipt_cids.block_number = transaction_cids.block_number
|
||||||
blocks.data,
|
)
|
||||||
eth.transaction_cids.tx_hash
|
INNER JOIN eth.header_cids ON (
|
||||||
FROM eth.receipt_cids,
|
transaction_cids.header_id = header_cids.block_hash
|
||||||
eth.transaction_cids,
|
AND transaction_cids.block_number = header_cids.block_number
|
||||||
eth.header_cids,
|
)
|
||||||
ipld.blocks
|
INNER JOIN ipld.blocks ON (
|
||||||
WHERE header_cids.block_hash = $1
|
receipt_cids.cid = blocks.key
|
||||||
AND header_cids.block_number = $2
|
AND receipt_cids.block_number = blocks.block_number
|
||||||
AND header_cids.canonical
|
)
|
||||||
AND receipt_cids.block_number = header_cids.block_number
|
WHERE block_hash = $1
|
||||||
AND receipt_cids.header_id = header_cids.block_hash
|
AND header_cids.block_number = $2
|
||||||
AND receipt_cids.TX_ID = transaction_cids.TX_HASH
|
ORDER BY eth.transaction_cids.index ASC`
|
||||||
AND transaction_cids.block_number = header_cids.block_number
|
RetrieveReceiptsByBlockHashPgStr = `SELECT receipt_cids.cid, data, eth.transaction_cids.tx_hash
|
||||||
AND transaction_cids.header_id = header_cids.block_hash
|
FROM eth.receipt_cids
|
||||||
AND blocks.block_number = header_cids.block_number
|
INNER JOIN eth.transaction_cids ON (
|
||||||
AND blocks.key = receipt_cids.cid
|
receipt_cids.tx_id = transaction_cids.tx_hash
|
||||||
ORDER BY eth.transaction_cids.index ASC
|
AND receipt_cids.header_id = transaction_cids.header_id
|
||||||
`
|
AND receipt_cids.block_number = transaction_cids.block_number
|
||||||
RetrieveReceiptsByBlockHashPgStr = `
|
)
|
||||||
SELECT receipt_cids.cid,
|
INNER JOIN eth.header_cids ON (
|
||||||
blocks.data,
|
transaction_cids.header_id = header_cids.block_hash
|
||||||
eth.transaction_cids.tx_hash
|
AND transaction_cids.block_number = header_cids.block_number
|
||||||
FROM eth.receipt_cids,
|
)
|
||||||
eth.transaction_cids,
|
INNER JOIN ipld.blocks ON (
|
||||||
eth.header_cids,
|
receipt_cids.cid = blocks.key
|
||||||
ipld.blocks
|
AND receipt_cids.block_number = blocks.block_number
|
||||||
WHERE header_cids.block_hash = $1
|
)
|
||||||
AND header_cids.canonical
|
WHERE block_hash = $1
|
||||||
AND receipt_cids.block_number = header_cids.block_number
|
ORDER BY eth.transaction_cids.index ASC`
|
||||||
AND receipt_cids.header_id = header_cids.block_hash
|
RetrieveAccountByLeafKeyAndBlockHashPgStr = `SELECT state_cids.nonce, state_cids.balance, state_cids.storage_root, state_cids.code_hash, state_cids.removed
|
||||||
AND receipt_cids.TX_ID = transaction_cids.TX_HASH
|
FROM eth.state_cids
|
||||||
AND transaction_cids.block_number = header_cids.block_number
|
INNER JOIN eth.header_cids ON (
|
||||||
AND transaction_cids.header_id = header_cids.block_hash
|
state_cids.header_id = header_cids.block_hash
|
||||||
AND blocks.block_number = header_cids.block_number
|
AND state_cids.block_number = header_cids.block_number
|
||||||
AND blocks.key = receipt_cids.cid
|
)
|
||||||
ORDER BY eth.transaction_cids.index ASC
|
WHERE state_leaf_key = $1
|
||||||
`
|
AND header_cids.block_number <= (SELECT block_number
|
||||||
RetrieveAccountByLeafKeyAndBlockHashPgStr = `
|
FROM eth.header_cids
|
||||||
SELECT state_cids.nonce,
|
WHERE block_hash = $2)
|
||||||
state_cids.balance,
|
AND header_cids.block_hash = (SELECT canonical_header_hash(header_cids.block_number))
|
||||||
state_cids.storage_root,
|
ORDER BY header_cids.block_number DESC
|
||||||
state_cids.code_hash,
|
LIMIT 1`
|
||||||
state_cids.removed
|
|
||||||
FROM eth.state_cids,
|
|
||||||
eth.header_cids
|
|
||||||
WHERE state_cids.state_leaf_key = $1
|
|
||||||
AND state_cids.block_number <=
|
|
||||||
(SELECT block_number
|
|
||||||
FROM eth.header_cids
|
|
||||||
WHERE block_hash = $2
|
|
||||||
LIMIT 1)
|
|
||||||
AND header_cids.canonical
|
|
||||||
AND state_cids.header_id = header_cids.block_hash
|
|
||||||
AND state_cids.block_number = header_cids.block_number
|
|
||||||
ORDER BY state_cids.block_number DESC
|
|
||||||
LIMIT 1
|
|
||||||
`
|
|
||||||
RetrieveFilteredGQLLogs = `SELECT CAST(eth.log_cids.block_number as TEXT), eth.log_cids.header_id as block_hash,
|
RetrieveFilteredGQLLogs = `SELECT CAST(eth.log_cids.block_number as TEXT), eth.log_cids.header_id as block_hash,
|
||||||
eth.log_cids.cid, eth.log_cids.index, eth.log_cids.rct_id, eth.log_cids.address,
|
eth.log_cids.cid, eth.log_cids.index, eth.log_cids.rct_id, eth.log_cids.address,
|
||||||
eth.log_cids.topic0, eth.log_cids.topic1, eth.log_cids.topic2, eth.log_cids.topic3,
|
eth.log_cids.topic0, eth.log_cids.topic1, eth.log_cids.topic2, eth.log_cids.topic3,
|
||||||
@ -144,7 +125,7 @@ LIMIT 1
|
|||||||
ipld.blocks.data, eth.receipt_cids.cid AS rct_cid, eth.receipt_cids.post_status, log_cids.header_id AS block_hash
|
ipld.blocks.data, eth.receipt_cids.cid AS rct_cid, eth.receipt_cids.post_status, log_cids.header_id AS block_hash
|
||||||
FROM eth.log_cids, eth.receipt_cids, eth.transaction_cids, ipld.blocks
|
FROM eth.log_cids, eth.receipt_cids, eth.transaction_cids, ipld.blocks
|
||||||
WHERE eth.log_cids.block_number >= $1 AND eth.log_cids.block_number <= $2
|
WHERE eth.log_cids.block_number >= $1 AND eth.log_cids.block_number <= $2
|
||||||
AND eth.log_cids.header_id IN (SELECT block_hash from eth.header_cids where eth.header_cids.block_number >= $1 AND eth.header_cids.block_number <= $2 and eth.header_cids.canonical)
|
AND eth.log_cids.header_id IN (SELECT canonical_header_hash(block_number) from eth.header_cids where eth.header_cids.block_number >= $1 AND header_cids.block_number <= $2)
|
||||||
AND eth.transaction_cids.block_number = eth.log_cids.block_number
|
AND eth.transaction_cids.block_number = eth.log_cids.block_number
|
||||||
AND eth.transaction_cids.header_id = eth.log_cids.header_id
|
AND eth.transaction_cids.header_id = eth.log_cids.header_id
|
||||||
AND eth.receipt_cids.block_number = eth.log_cids.block_number
|
AND eth.receipt_cids.block_number = eth.log_cids.block_number
|
||||||
@ -176,63 +157,39 @@ SELECT cid, val, storage.block_number, removed, state_leaf_removed, data
|
|||||||
storage.cid = blocks.key
|
storage.cid = blocks.key
|
||||||
AND storage.block_number = blocks.block_number
|
AND storage.block_number = blocks.block_number
|
||||||
)`
|
)`
|
||||||
RetrieveCanonicalBlockHashByNumber = `SELECT block_hash FROM eth.header_cids WHERE block_number = $1 and canonical`
|
RetrieveCanonicalBlockHashByNumber = `SELECT block_hash
|
||||||
RetrieveCanonicalHeaderByNumber = `
|
FROM canonical_header_hash($1) AS block_hash
|
||||||
SELECT header_cids.cid,
|
WHERE block_hash IS NOT NULL`
|
||||||
blocks.data
|
RetrieveCanonicalHeaderByNumber = `SELECT cid, data FROM eth.header_cids
|
||||||
FROM ipld.blocks,
|
INNER JOIN ipld.blocks ON (
|
||||||
eth.header_cids
|
header_cids.cid = blocks.key
|
||||||
WHERE header_cids.block_number = $1
|
AND header_cids.block_number = blocks.block_number
|
||||||
AND header_cids.canonical
|
)
|
||||||
AND blocks.key = header_cids.cid
|
WHERE block_hash = (SELECT canonical_header_hash($1))`
|
||||||
AND blocks.block_number = header_cids.block_number
|
RetrieveCanonicalHeaderAndHashByNumber = `SELECT data, block_hash FROM eth.header_cids
|
||||||
LIMIT 1
|
INNER JOIN ipld.blocks ON (
|
||||||
`
|
header_cids.cid = blocks.key
|
||||||
RetrieveCanonicalHeaderAndHashByNumber = `
|
AND header_cids.block_number = blocks.block_number
|
||||||
SELECT blocks.data,
|
)
|
||||||
header_cids.block_hash
|
WHERE block_hash = (SELECT canonical_header_hash($1))`
|
||||||
FROM ipld.blocks,
|
|
||||||
eth.header_cids
|
|
||||||
WHERE header_cids.block_number = $1
|
|
||||||
AND header_cids.canonical
|
|
||||||
AND blocks.key = header_cids.cid
|
|
||||||
AND blocks.block_number = header_cids.block_number
|
|
||||||
LIMIT 1
|
|
||||||
`
|
|
||||||
RetrieveTD = `SELECT CAST(td as TEXT) FROM eth.header_cids
|
RetrieveTD = `SELECT CAST(td as TEXT) FROM eth.header_cids
|
||||||
WHERE header_cids.block_hash = $1`
|
WHERE header_cids.block_hash = $1`
|
||||||
RetrieveRPCTransaction = `
|
RetrieveRPCTransaction = `SELECT blocks.data, header_id, transaction_cids.block_number, index
|
||||||
SELECT blocks.data,
|
FROM ipld.blocks, eth.transaction_cids
|
||||||
transaction_cids.header_id,
|
WHERE blocks.key = transaction_cids.cid
|
||||||
transaction_cids.block_number,
|
AND blocks.block_number = transaction_cids.block_number
|
||||||
transaction_cids.index
|
AND transaction_cids.tx_hash = $1
|
||||||
FROM eth.transaction_cids,
|
AND transaction_cids.header_id = (SELECT canonical_header_hash(transaction_cids.block_number))`
|
||||||
ipld.blocks,
|
RetrieveCodeHashByLeafKeyAndBlockHash = `SELECT code_hash FROM eth.state_cids, eth.header_cids
|
||||||
eth.header_cids
|
WHERE state_cids.header_id = header_cids.block_hash
|
||||||
WHERE transaction_cids.TX_HASH = $1
|
AND state_cids.block_number = header_cids.block_number
|
||||||
AND header_cids.block_hash = transaction_cids.header_id
|
AND state_leaf_key = $1
|
||||||
AND header_cids.block_number = transaction_cids.block_number
|
AND header_cids.block_number <= (SELECT block_number
|
||||||
AND header_cids.canonical
|
FROM eth.header_cids
|
||||||
AND blocks.key = transaction_cids.cid
|
WHERE block_hash = $2)
|
||||||
AND blocks.block_number = transaction_cids.block_number
|
AND header_cids.block_hash = (SELECT canonical_header_hash(header_cids.block_number))
|
||||||
`
|
ORDER BY header_cids.block_number DESC
|
||||||
RetrieveCodeHashByLeafKeyAndBlockHash = `
|
LIMIT 1`
|
||||||
SELECT state_cids.code_hash
|
|
||||||
FROM eth.state_cids,
|
|
||||||
eth.header_cids
|
|
||||||
WHERE
|
|
||||||
state_cids.state_leaf_key = $1
|
|
||||||
AND state_cids.block_number <=
|
|
||||||
(SELECT block_number
|
|
||||||
FROM eth.header_cids
|
|
||||||
WHERE block_hash = $2
|
|
||||||
LIMIT 1)
|
|
||||||
AND header_cids.canonical
|
|
||||||
AND state_cids.header_id = header_cids.block_hash
|
|
||||||
AND state_cids.block_number = header_cids.block_number
|
|
||||||
ORDER BY state_cids.block_number DESC
|
|
||||||
LIMIT 1
|
|
||||||
`
|
|
||||||
RetrieveCodeByKey = `SELECT data FROM ipld.blocks WHERE key = $1`
|
RetrieveCodeByKey = `SELECT data FROM ipld.blocks WHERE key = $1`
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user