mirror of
https://github.com/alexgo-io/gaze-brc20-indexer.git
synced 2026-01-12 14:34:54 +08:00
401 lines
12 KiB
Go
401 lines
12 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.26.0
|
|
// source: data.sql
|
|
|
|
package gen
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
const createIndexedBlock = `-- name: CreateIndexedBlock :exec
|
|
INSERT INTO "brc20_indexed_blocks" ("height", "hash", "event_hash", "cumulative_event_hash") VALUES ($1, $2, $3, $4)
|
|
`
|
|
|
|
type CreateIndexedBlockParams struct {
|
|
Height int32
|
|
Hash string
|
|
EventHash string
|
|
CumulativeEventHash string
|
|
}
|
|
|
|
func (q *Queries) CreateIndexedBlock(ctx context.Context, arg CreateIndexedBlockParams) error {
|
|
_, err := q.db.Exec(ctx, createIndexedBlock,
|
|
arg.Height,
|
|
arg.Hash,
|
|
arg.EventHash,
|
|
arg.CumulativeEventHash,
|
|
)
|
|
return err
|
|
}
|
|
|
|
const createProcessorStats = `-- name: CreateProcessorStats :exec
|
|
INSERT INTO "brc20_processor_stats" ("block_height", "cursed_inscription_count", "blessed_inscription_count", "lost_sats") VALUES ($1, $2, $3, $4)
|
|
`
|
|
|
|
type CreateProcessorStatsParams struct {
|
|
BlockHeight int32
|
|
CursedInscriptionCount int32
|
|
BlessedInscriptionCount int32
|
|
LostSats int64
|
|
}
|
|
|
|
func (q *Queries) CreateProcessorStats(ctx context.Context, arg CreateProcessorStatsParams) error {
|
|
_, err := q.db.Exec(ctx, createProcessorStats,
|
|
arg.BlockHeight,
|
|
arg.CursedInscriptionCount,
|
|
arg.BlessedInscriptionCount,
|
|
arg.LostSats,
|
|
)
|
|
return err
|
|
}
|
|
|
|
const deleteBalancesSinceHeight = `-- name: DeleteBalancesSinceHeight :exec
|
|
DELETE FROM "brc20_balances" WHERE "block_height" >= $1
|
|
`
|
|
|
|
func (q *Queries) DeleteBalancesSinceHeight(ctx context.Context, blockHeight int32) error {
|
|
_, err := q.db.Exec(ctx, deleteBalancesSinceHeight, blockHeight)
|
|
return err
|
|
}
|
|
|
|
const deleteDeployEventsSinceHeight = `-- name: DeleteDeployEventsSinceHeight :exec
|
|
DELETE FROM "brc20_deploy_events" WHERE "block_height" >= $1
|
|
`
|
|
|
|
func (q *Queries) DeleteDeployEventsSinceHeight(ctx context.Context, blockHeight int32) error {
|
|
_, err := q.db.Exec(ctx, deleteDeployEventsSinceHeight, blockHeight)
|
|
return err
|
|
}
|
|
|
|
const deleteIndexedBlocksSinceHeight = `-- name: DeleteIndexedBlocksSinceHeight :exec
|
|
DELETE FROM "brc20_indexed_blocks" WHERE "height" >= $1
|
|
`
|
|
|
|
func (q *Queries) DeleteIndexedBlocksSinceHeight(ctx context.Context, height int32) error {
|
|
_, err := q.db.Exec(ctx, deleteIndexedBlocksSinceHeight, height)
|
|
return err
|
|
}
|
|
|
|
const deleteInscriptionEntriesSinceHeight = `-- name: DeleteInscriptionEntriesSinceHeight :exec
|
|
DELETE FROM "brc20_inscription_entries" WHERE "created_at_height" >= $1
|
|
`
|
|
|
|
func (q *Queries) DeleteInscriptionEntriesSinceHeight(ctx context.Context, createdAtHeight int32) error {
|
|
_, err := q.db.Exec(ctx, deleteInscriptionEntriesSinceHeight, createdAtHeight)
|
|
return err
|
|
}
|
|
|
|
const deleteInscriptionEntryStatesSinceHeight = `-- name: DeleteInscriptionEntryStatesSinceHeight :exec
|
|
DELETE FROM "brc20_inscription_entry_states" WHERE "block_height" >= $1
|
|
`
|
|
|
|
func (q *Queries) DeleteInscriptionEntryStatesSinceHeight(ctx context.Context, blockHeight int32) error {
|
|
_, err := q.db.Exec(ctx, deleteInscriptionEntryStatesSinceHeight, blockHeight)
|
|
return err
|
|
}
|
|
|
|
const deleteInscriptionTransfersSinceHeight = `-- name: DeleteInscriptionTransfersSinceHeight :exec
|
|
DELETE FROM "brc20_inscription_transfers" WHERE "block_height" >= $1
|
|
`
|
|
|
|
func (q *Queries) DeleteInscriptionTransfersSinceHeight(ctx context.Context, blockHeight int32) error {
|
|
_, err := q.db.Exec(ctx, deleteInscriptionTransfersSinceHeight, blockHeight)
|
|
return err
|
|
}
|
|
|
|
const deleteMintEventsSinceHeight = `-- name: DeleteMintEventsSinceHeight :exec
|
|
DELETE FROM "brc20_mint_events" WHERE "block_height" >= $1
|
|
`
|
|
|
|
func (q *Queries) DeleteMintEventsSinceHeight(ctx context.Context, blockHeight int32) error {
|
|
_, err := q.db.Exec(ctx, deleteMintEventsSinceHeight, blockHeight)
|
|
return err
|
|
}
|
|
|
|
const deleteProcessorStatsSinceHeight = `-- name: DeleteProcessorStatsSinceHeight :exec
|
|
DELETE FROM "brc20_processor_stats" WHERE "block_height" >= $1
|
|
`
|
|
|
|
func (q *Queries) DeleteProcessorStatsSinceHeight(ctx context.Context, blockHeight int32) error {
|
|
_, err := q.db.Exec(ctx, deleteProcessorStatsSinceHeight, blockHeight)
|
|
return err
|
|
}
|
|
|
|
const deleteTickEntriesSinceHeight = `-- name: DeleteTickEntriesSinceHeight :exec
|
|
DELETE FROM "brc20_tick_entries" WHERE "created_at_height" >= $1
|
|
`
|
|
|
|
func (q *Queries) DeleteTickEntriesSinceHeight(ctx context.Context, createdAtHeight int32) error {
|
|
_, err := q.db.Exec(ctx, deleteTickEntriesSinceHeight, createdAtHeight)
|
|
return err
|
|
}
|
|
|
|
const deleteTickEntryStatesSinceHeight = `-- name: DeleteTickEntryStatesSinceHeight :exec
|
|
DELETE FROM "brc20_tick_entry_states" WHERE "block_height" >= $1
|
|
`
|
|
|
|
func (q *Queries) DeleteTickEntryStatesSinceHeight(ctx context.Context, blockHeight int32) error {
|
|
_, err := q.db.Exec(ctx, deleteTickEntryStatesSinceHeight, blockHeight)
|
|
return err
|
|
}
|
|
|
|
const deleteTransferEventsSinceHeight = `-- name: DeleteTransferEventsSinceHeight :exec
|
|
DELETE FROM "brc20_transfer_events" WHERE "block_height" >= $1
|
|
`
|
|
|
|
func (q *Queries) DeleteTransferEventsSinceHeight(ctx context.Context, blockHeight int32) error {
|
|
_, err := q.db.Exec(ctx, deleteTransferEventsSinceHeight, blockHeight)
|
|
return err
|
|
}
|
|
|
|
const getIndexedBlockByHeight = `-- name: GetIndexedBlockByHeight :one
|
|
SELECT height, hash, event_hash, cumulative_event_hash FROM "brc20_indexed_blocks" WHERE "height" = $1
|
|
`
|
|
|
|
func (q *Queries) GetIndexedBlockByHeight(ctx context.Context, height int32) (Brc20IndexedBlock, error) {
|
|
row := q.db.QueryRow(ctx, getIndexedBlockByHeight, height)
|
|
var i Brc20IndexedBlock
|
|
err := row.Scan(
|
|
&i.Height,
|
|
&i.Hash,
|
|
&i.EventHash,
|
|
&i.CumulativeEventHash,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const getInscriptionEntriesByIds = `-- name: GetInscriptionEntriesByIds :many
|
|
WITH "states" AS (
|
|
-- select latest state
|
|
SELECT DISTINCT ON ("id") id, block_height, transfer_count FROM "brc20_inscription_entry_states" WHERE "id" = ANY($1::text[]) ORDER BY "id", "block_height" DESC
|
|
)
|
|
SELECT brc20_inscription_entries.id, number, sequence_number, delegate, metadata, metaprotocol, parents, pointer, content, content_encoding, content_type, cursed, cursed_for_brc20, created_at, created_at_height, states.id, block_height, transfer_count FROM "brc20_inscription_entries"
|
|
LEFT JOIN "states" ON "brc20_inscription_entries"."id" = "states"."id"
|
|
WHERE "brc20_inscription_entries"."id" = ANY($1::text[])
|
|
`
|
|
|
|
type GetInscriptionEntriesByIdsRow struct {
|
|
Id string
|
|
Number int64
|
|
SequenceNumber int64
|
|
Delegate pgtype.Text
|
|
Metadata []byte
|
|
Metaprotocol pgtype.Text
|
|
Parents []string
|
|
Pointer pgtype.Int8
|
|
Content []byte
|
|
ContentEncoding pgtype.Text
|
|
ContentType pgtype.Text
|
|
Cursed bool
|
|
CursedForBrc20 bool
|
|
CreatedAt pgtype.Timestamp
|
|
CreatedAtHeight int32
|
|
Id_2 pgtype.Text
|
|
BlockHeight pgtype.Int4
|
|
TransferCount pgtype.Int4
|
|
}
|
|
|
|
func (q *Queries) GetInscriptionEntriesByIds(ctx context.Context, inscriptionIds []string) ([]GetInscriptionEntriesByIdsRow, error) {
|
|
rows, err := q.db.Query(ctx, getInscriptionEntriesByIds, inscriptionIds)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []GetInscriptionEntriesByIdsRow
|
|
for rows.Next() {
|
|
var i GetInscriptionEntriesByIdsRow
|
|
if err := rows.Scan(
|
|
&i.Id,
|
|
&i.Number,
|
|
&i.SequenceNumber,
|
|
&i.Delegate,
|
|
&i.Metadata,
|
|
&i.Metaprotocol,
|
|
&i.Parents,
|
|
&i.Pointer,
|
|
&i.Content,
|
|
&i.ContentEncoding,
|
|
&i.ContentType,
|
|
&i.Cursed,
|
|
&i.CursedForBrc20,
|
|
&i.CreatedAt,
|
|
&i.CreatedAtHeight,
|
|
&i.Id_2,
|
|
&i.BlockHeight,
|
|
&i.TransferCount,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const getInscriptionTransfersInOutPoints = `-- name: GetInscriptionTransfersInOutPoints :many
|
|
SELECT it.inscription_id, it.block_height, it.tx_index, it.old_satpoint_tx_hash, it.old_satpoint_out_idx, it.old_satpoint_offset, it.new_satpoint_tx_hash, it.new_satpoint_out_idx, it.new_satpoint_offset, it.new_pkscript, it.new_output_value, it.sent_as_fee, "ie"."content" FROM (
|
|
SELECT
|
|
unnest($1::text[]) AS "tx_hash",
|
|
unnest($2::int[]) AS "tx_out_idx"
|
|
) "inputs"
|
|
INNER JOIN "brc20_inscription_transfers" it ON "inputs"."tx_hash" = "it"."new_satpoint_tx_hash" AND "inputs"."tx_out_idx" = "it"."new_satpoint_out_idx"
|
|
LEFT JOIN "brc20_inscription_entries" ie ON "it"."inscription_id" = "ie"."id"
|
|
`
|
|
|
|
type GetInscriptionTransfersInOutPointsParams struct {
|
|
TxHashArr []string
|
|
TxOutIdxArr []int32
|
|
}
|
|
|
|
type GetInscriptionTransfersInOutPointsRow struct {
|
|
InscriptionID string
|
|
BlockHeight int32
|
|
TxIndex int32
|
|
OldSatpointTxHash pgtype.Text
|
|
OldSatpointOutIdx pgtype.Int4
|
|
OldSatpointOffset pgtype.Int8
|
|
NewSatpointTxHash pgtype.Text
|
|
NewSatpointOutIdx pgtype.Int4
|
|
NewSatpointOffset pgtype.Int8
|
|
NewPkscript string
|
|
NewOutputValue int64
|
|
SentAsFee bool
|
|
Content []byte
|
|
}
|
|
|
|
func (q *Queries) GetInscriptionTransfersInOutPoints(ctx context.Context, arg GetInscriptionTransfersInOutPointsParams) ([]GetInscriptionTransfersInOutPointsRow, error) {
|
|
rows, err := q.db.Query(ctx, getInscriptionTransfersInOutPoints, arg.TxHashArr, arg.TxOutIdxArr)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []GetInscriptionTransfersInOutPointsRow
|
|
for rows.Next() {
|
|
var i GetInscriptionTransfersInOutPointsRow
|
|
if err := rows.Scan(
|
|
&i.InscriptionID,
|
|
&i.BlockHeight,
|
|
&i.TxIndex,
|
|
&i.OldSatpointTxHash,
|
|
&i.OldSatpointOutIdx,
|
|
&i.OldSatpointOffset,
|
|
&i.NewSatpointTxHash,
|
|
&i.NewSatpointOutIdx,
|
|
&i.NewSatpointOffset,
|
|
&i.NewPkscript,
|
|
&i.NewOutputValue,
|
|
&i.SentAsFee,
|
|
&i.Content,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const getLatestIndexedBlock = `-- name: GetLatestIndexedBlock :one
|
|
SELECT height, hash, event_hash, cumulative_event_hash FROM "brc20_indexed_blocks" ORDER BY "height" DESC LIMIT 1
|
|
`
|
|
|
|
func (q *Queries) GetLatestIndexedBlock(ctx context.Context) (Brc20IndexedBlock, error) {
|
|
row := q.db.QueryRow(ctx, getLatestIndexedBlock)
|
|
var i Brc20IndexedBlock
|
|
err := row.Scan(
|
|
&i.Height,
|
|
&i.Hash,
|
|
&i.EventHash,
|
|
&i.CumulativeEventHash,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const getLatestProcessorStats = `-- name: GetLatestProcessorStats :one
|
|
SELECT block_height, cursed_inscription_count, blessed_inscription_count, lost_sats FROM "brc20_processor_stats" ORDER BY "block_height" DESC LIMIT 1
|
|
`
|
|
|
|
func (q *Queries) GetLatestProcessorStats(ctx context.Context) (Brc20ProcessorStat, error) {
|
|
row := q.db.QueryRow(ctx, getLatestProcessorStats)
|
|
var i Brc20ProcessorStat
|
|
err := row.Scan(
|
|
&i.BlockHeight,
|
|
&i.CursedInscriptionCount,
|
|
&i.BlessedInscriptionCount,
|
|
&i.LostSats,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const getTickEntriesByTicks = `-- name: GetTickEntriesByTicks :many
|
|
WITH "states" AS (
|
|
-- select latest state
|
|
SELECT DISTINCT ON ("tick") tick, block_height, minted_amount, burned_amount, completed_at, completed_at_height FROM "brc20_tick_entry_states" WHERE "tick" = ANY($1::text[]) ORDER BY "tick", "block_height" DESC
|
|
)
|
|
SELECT brc20_tick_entries.tick, original_tick, total_supply, decimals, limit_per_mint, is_self_mint, deploy_inscription_id, created_at, created_at_height, states.tick, block_height, minted_amount, burned_amount, completed_at, completed_at_height FROM "brc20_tick_entries"
|
|
LEFT JOIN "states" ON "brc20_tick_entries"."tick" = "states"."tick"
|
|
WHERE "brc20_tick_entries"."tick" = ANY($1::text[])
|
|
`
|
|
|
|
type GetTickEntriesByTicksRow struct {
|
|
Tick string
|
|
OriginalTick string
|
|
TotalSupply pgtype.Numeric
|
|
Decimals int16
|
|
LimitPerMint pgtype.Numeric
|
|
IsSelfMint bool
|
|
DeployInscriptionID string
|
|
CreatedAt pgtype.Timestamp
|
|
CreatedAtHeight int32
|
|
Tick_2 pgtype.Text
|
|
BlockHeight pgtype.Int4
|
|
MintedAmount pgtype.Numeric
|
|
BurnedAmount pgtype.Numeric
|
|
CompletedAt pgtype.Timestamp
|
|
CompletedAtHeight pgtype.Int4
|
|
}
|
|
|
|
func (q *Queries) GetTickEntriesByTicks(ctx context.Context, ticks []string) ([]GetTickEntriesByTicksRow, error) {
|
|
rows, err := q.db.Query(ctx, getTickEntriesByTicks, ticks)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []GetTickEntriesByTicksRow
|
|
for rows.Next() {
|
|
var i GetTickEntriesByTicksRow
|
|
if err := rows.Scan(
|
|
&i.Tick,
|
|
&i.OriginalTick,
|
|
&i.TotalSupply,
|
|
&i.Decimals,
|
|
&i.LimitPerMint,
|
|
&i.IsSelfMint,
|
|
&i.DeployInscriptionID,
|
|
&i.CreatedAt,
|
|
&i.CreatedAtHeight,
|
|
&i.Tick_2,
|
|
&i.BlockHeight,
|
|
&i.MintedAmount,
|
|
&i.BurnedAmount,
|
|
&i.CompletedAt,
|
|
&i.CompletedAtHeight,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|