metaprotocol

package
v0.0.0-...-7d4c4c8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 3, 2024 License: GPL-3.0 Imports: 25 Imported by: 0

Documentation

Overview

Package metaprotocol implements various metaprotocols and their rules for the indexer

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetBaseTokensSent

func GetBaseTokensSent(rawTransaction types.RawTransaction, receiver string, kind TokensTransferKind, ibcEnabled bool) (uint64, error)

GetBaseTokensSent returns the amount of base tokens sent in a transaction

func GetBaseTokensSentIBC

func GetBaseTokensSentIBC(rawTransaction types.RawTransaction, receiver string) (uint64, error)

GetBaseTokensSentIBC returns the amount of base tokens sent in a transaction to be IBC'd

func GetReservations

func GetReservations(fileName string) (map[string]CollectionReservation, map[string]CollectionReservation)

func QueryAddressBalance

func QueryAddressBalance(endpoints []string, headers map[string]string, address string, denom string) uint64

QueryAddressBalance queries the balance of denom for address

Types

type CFT20

type CFT20 struct {
	// contains filtered or unexported fields
}

func NewCFT20Processor

func NewCFT20Processor(chainID string, db *gorm.DB) *CFT20

func (*CFT20) Name

func (protocol *CFT20) Name() string

func (*CFT20) Process

func (protocol *CFT20) Process(transactionModel models.Transaction, protocolURN *urn.URN, rawTransaction types.RawTransaction) error

type CFT20Config

type CFT20Config struct {
	S3Endpoint string `envconfig:"S3_ENDPOINT" required:"true"`
	S3Region   string `envconfig:"S3_REGION" required:"true"`
	S3Bucket   string `envconfig:"S3_BUCKET"`
	S3ID       string `envconfig:"S3_ID" required:"true"`
	S3Secret   string `envconfig:"S3_SECRET" required:"true"`
	S3Token    string `envconfig:"S3_TOKEN"`
}

type CollectionReservation

type CollectionReservation struct {
	Name    string
	Ticker  string
	Address string
}

type Inscription

type Inscription struct {
	// contains filtered or unexported fields
}

func NewInscriptionProcessor

func NewInscriptionProcessor(chainID string, db *gorm.DB) *Inscription

func (*Inscription) GetCollection

func (protocol *Inscription) GetCollection(collectionHash string, sender string) (*models.Collection, error)

func (*Inscription) GetInscription

func (protocol *Inscription) GetInscription(inscriptionHash string, sender string) (*models.Inscription, error)

func (*Inscription) GetInscriptionFromHash

func (protocol *Inscription) GetInscriptionFromHash(inscriptionHash string) (*models.Inscription, error)

func (*Inscription) GrantMigrationPermission

func (protocol *Inscription) GrantMigrationPermission(transactionModel models.Transaction, inscriptionHash string, grantee string, granter string) error

func (*Inscription) Migrate

func (protocol *Inscription) Migrate(rawTransaction types.RawTransaction, sender string) error

func (*Inscription) Name

func (protocol *Inscription) Name() string

func (*Inscription) Process

func (protocol *Inscription) Process(transactionModel models.Transaction, protocolURN *urn.URN, rawTransaction types.RawTransaction) error

func (*Inscription) RequiresV2

func (protocol *Inscription) RequiresV2(version string) error

type InscriptionConfig

type InscriptionConfig struct {
	S3Endpoint       string `envconfig:"S3_ENDPOINT" required:"true"`
	S3Region         string `envconfig:"S3_REGION" required:"true"`
	S3Bucket         string `envconfig:"S3_BUCKET"`
	S3ID             string `envconfig:"S3_ID" required:"true"`
	S3Secret         string `envconfig:"S3_SECRET" required:"true"`
	S3Token          string `envconfig:"S3_TOKEN"`
	ReservationsFile string `envconfig:"RESERVATIONS_FILE" required:"true"`
}

type Marketplace

type Marketplace struct {
	// contains filtered or unexported fields
}

func NewMarketplaceProcessor

func NewMarketplaceProcessor(chainID string, db *gorm.DB) *Marketplace

func (*Marketplace) Name

func (protocol *Marketplace) Name() string

func (*Marketplace) Process

func (protocol *Marketplace) Process(currentTransaction models.Transaction, protocolURN *urn.URN, rawTransaction types.RawTransaction) error

type MarketplaceConfig

type MarketplaceConfig struct {
	MinimumTimeoutBlocks uint64  `envconfig:"MARKET_MIN_TIMEOUT" required:"true"`
	MinimumDeposit       float64 `envconfig:"MARKET_MIN_DEPOSIT" required:"true"`
	MinimumTradeSize     float64 `envconfig:"MARKET_MIN_TRADE" required:"true"`
	TradeFee             float64 `envconfig:"MARKET_TRADE_FEE" required:"true"`

	LCDEndpoints    []string          `envconfig:"LCD_ENDPOINTS" required:"true"`
	EndpointHeaders map[string]string `envconfig:"ENDPOINT_HEADERS" required:"true"`
	IbcEnabled      bool              `envconfig:"IBC_ENABLED" default:"true"`
	IbcReceiver     string            `envconfig:"IBC_RECEIVER" default:"neutron1unc0549k2f0d7mjjyfm94fuz2x53wrx3px0pr55va27grdgmspcqgzfr8p"`
}

type Processor

type Processor interface {
	Name() string
	Process(transactionModel models.Transaction, protocolURN *urn.URN, rawTransaction types.RawTransaction) error
}

type ProtocolURN

type ProtocolURN struct {
	ChainID       string
	Version       string
	Operation     string
	KeyValuePairs map[string]string
}

func ParseProtocolString

func ParseProtocolString(protocolURN *urn.URN) (ProtocolURN, error)

type TokensTransferKind

type TokensTransferKind int
const (
	Send TokensTransferKind = iota
	IbcTransfer
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL