db

package
v0.0.0-...-4d9bc2d Latest Latest
Warning

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

Go to latest
Published: Dec 21, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TableNameMerchant                 = "merchant"
	TableNameMerchantPftokenStatement = "merchant_pftoken_statement"
	TableNamePftokenEvents            = "pftoken_events"

	MerchantStatusActive   = "active"
	MerchantStatusInactive = "inactive"

	MerchantPftokenOperateSwap     = "swap"
	MerchantPftokenOperateTransfer = "transfer"
	MerchantPftokenOperateMint     = "mint"
	MerchantPftokenOperateBurn     = "burn"
	MerchantPftokenOperateRebase   = "rebase"
	MerchantPftokenOperateWithdraw = "withdraw"

	MerchantPftokenOperateTypeAdd    = "add"
	MerchantPftokenOperateTypeReduce = "reduce"
)
View Source
const (
	TableNamePfTokenStatistics     = "pftoken_statistics"
	TableNamePftokenWithdraw       = "pftoken_withdraw"
	TableNamePftokenWithdrawWallet = "pftoken_withdraw_wallet"

	WithdrawStatusProcessing = "processing"
	WithdrawStatusClaimable  = "claimable"
	WithdrawStatusClaimed    = "claimed"
)
View Source
const (
	TableNameRefundWallet       = "refund_wallet"
	TableNameRefundWalletEvents = "refund_wallet_events"
)
View Source
const (
	TableNameSwapRecord = "swap_record"

	SwapRecordStatusPending = "pending"
	SwapRecordStatusLack    = "lack"
	SwapRecordStatusSuccess = "success"
	SwapRecordStatusFail    = "fail"

	SwapRecordTypeSelf = "self"
)
View Source
const (
	TableNameWallet = "wallet"

	WalletStatusActive   = "active"
	WalletStatusInactive = "inactive"
	WalletStatusAssigned = "assigned"
	WalletStatusDelete   = "delete"
)
View Source
const (
	TableNameWalletAssign = "wallet_assign"

	WalletAssignStatusPaying = "paying"
	WalletAssignStatusPaid   = "paid"
	WalletAssignStatusUnpaid = "unpaid"
	WalletAssignStatusLack   = "lack"
	WalletAssignStatusMint   = "mint"
	WalletAssignStatusFail   = "fail"

	WalletAssignTypeSelf  = "self"
	WalletAssignTypeEvent = "event"

	WalletAssignLocked   = 1
	WalletAssignUnlocked = 0

	WalletAssignMaxFailCount = 20
)
View Source
const TableNameApiKeys = "api_keys"
View Source
const (
	TableNameCoin = "coin"
)
View Source
const (
	TableNameWalletAPR = "wallet_apr"
)
View Source
const (
	TableNameWalletAssignEvents = "wallet_assign_events"
)
View Source
const (
	TableNameWalletEvents = "wallet_events"
)
View Source
const TableNameWalletStatistics = "wallet_statistics"

Variables

View Source
var (
	ErrLockTryAgain = errors.New("optimistic locking failed, try again...")
)

Functions

func DoesCoinExistByCoinType

func DoesCoinExistByCoinType(coinType uint64) (exists bool, err error)

func DoesCoinExistByCoinTypeAndChainId

func DoesCoinExistByCoinTypeAndChainId(coinType, chainId uint64) (exists bool, err error)

func DoesUsingWalletExist

func DoesUsingWalletExist(address string, chainId uint64, endAt time.Time, statusArr []string) (exists bool, err error)

func DoesWalletAPRExist

func DoesWalletAPRExist(chainId, date uint64) (exists bool, err error)

func DoesWalletAssignEventsExist

func DoesWalletAssignEventsExist(chainId, eventIndex uint64, EventSign, TxHash string) (exists bool, err error)

func DoesWalletAssignExist

func DoesWalletAssignExist(chainId uint64,
	address, holderAddress, receiverAddress, payToken string, endAt time.Time) (exists bool, err error)

func DoesWalletExist

func DoesWalletExist(address string, chainId uint64) (exists bool, err error)

func GetWalletAPRCountByChainId

func GetWalletAPRCountByChainId(chainId uint64) (total int64, err error)

func IsExistApiKey

func IsExistApiKey(apikey string) (bool, error)

func LockWalletByIds

func LockWalletByIds(ids []uint64) (err error)

func RollbackTo

func RollbackTo(pointName string, options ...Options) error

func SavePoint

func SavePoint(pointName string, options ...Options) error

func SaveSwapRecord

func SaveSwapRecord(swapRecord *SwapRecord) error

func SaveSwapRecordWithOption

func SaveSwapRecordWithOption(swapRecord *SwapRecord, option ...Options) error

func SaveWalletAPRWithOption

func SaveWalletAPRWithOption(walletAPR *WalletAPR, option ...Options) error

func SaveWalletAssignEventsWithOption

func SaveWalletAssignEventsWithOption(walletEvents *WalletEvents, option ...Options) error

func SaveWalletAssignWithOption

func SaveWalletAssignWithOption(walletAssign *WalletAssign, option ...Options) error

func SaveWalletAssignsWithOption

func SaveWalletAssignsWithOption(walletAssigns []*WalletAssign, option ...Options) error

func SaveWalletEventsWithOption

func SaveWalletEventsWithOption(walletEvents *WalletEvents, option ...Options) error

func SaveWalletWithOption

func SaveWalletWithOption(wallet *Wallet, option ...Options) error

func Set

func Set()

func UnlockWalletByIds

func UnlockWalletByIds(ids []uint64) (err error)

func UpdateWalletAssign

func UpdateWalletAssign(walletAssign *WalletAssign) error

func UpdateWalletAssignWithOption

func UpdateWalletAssignWithOption(walletAssign *WalletAssign, option ...Options) error

func UpdateWalletBalanceOf

func UpdateWalletBalanceOf(chainId uint64, address, balanceOf string) error

func UpdateWalletFieldsWithOption

func UpdateWalletFieldsWithOption(wallet *Wallet, fields []string, option ...Options) error

func UpdateWalletRecordedBalance

func UpdateWalletRecordedBalance(chainId uint64, address, recordedBalance string) error

func UpdateWalletWithOption

func UpdateWalletWithOption(wallet *Wallet, option ...Options) error

func UseOptions

func UseOptions(options ...Options) *gorm.DB

func WithSqlDebug

func WithSqlDebug(ori *gorm.DB) *gorm.DB

func WithTx

func WithTx(f func(tx Options) error, options ...Options) error

Types

type ApiKeys

type ApiKeys struct {
	Appid        string  `gorm:"column:app_id;size:64;not null;unique"`
	Apikey       string  `gorm:"column:apikey;size:64;not null;unique" json:"apikey"`
	Name         string  `gorm:"column:name;size:255;not null" json:"name"` // auth subject
	Points       uint64  `gorm:"column:points;not null" json:"points"`      // auth points
	Tag          *string `gorm:"column:tag;size:255;null" json:"tag"`       // from what plugin
	Website      *string `gorm:"column:website;size:255;null" json:"website"`
	Twitter      *string `gorm:"column:twitter;size:255;null" json:"twitter"`
	MerchantAddr *string `gorm:"column:merchant_addr;size:50;null" json:"merchant_addr"`
	ChainId      uint64  `gorm:"column:chain_id;not null;default:1" json:"chain_id"`
	CommonModel
}

func FindApiKey

func FindApiKey(apikey string) (*ApiKeys, error)

func FindApiKeyByMerchant

func FindApiKeyByMerchant(merchantAddr string) (*ApiKeys, error)

func (*ApiKeys) TableName

func (a *ApiKeys) TableName() string

type Coin

type Coin struct {
	ID       uint64 `gorm:"column:id;primaryKey;autoIncrement:true;comment:self-increment ID" json:"id"`
	ChainId  uint64 `gorm:"column:chain_id;not null;comment:blockchain id;uniqueIndex:udx_address_chain_id" json:"chain_id"`
	CoinType uint64 `gorm:"column:coin_type;not null;comment:coin type;uniqueIndex:udx_coin_type" json:"coin_type"`
	CoinCode string `gorm:"column:coin_code;comment:coin code;type:varchar(100);not null;uniqueIndex:udx_coin_code" json:"coin_code"`
	Symbol   string `gorm:"column:symbol;comment:symbol;type:varchar(100);not null" json:"symbol"`
	Address  string `gorm:"column:address;not null;comment:wallet address;type:varchar(50);uniqueIndex:udx_address_chain_id" json:"address"`
	CommonModel
}

func FindCoinByAddress

func FindCoinByAddress(address string, chainId uint64) (coin *Coin, err error)

func GetCoinByCoinType

func GetCoinByCoinType(coinType uint64) (coin *Coin, err error)

func GetCoinByCoinTypeAndChainId

func GetCoinByCoinTypeAndChainId(coinType, chainId uint64) (coin *Coin, err error)

func (*Coin) TableName

func (*Coin) TableName() string

type CommonModel

type CommonModel struct {
	ID        uint64         `gorm:"primarykey" json:"id"`
	CreatedAt time.Time      `json:"created_at"`
	UpdatedAt time.Time      `json:"updated_at"`
	DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
}

type Merchant

type Merchant struct {
	Address        string  `gorm:"column:address;not null;comment:wallet address;type:varchar(50);uniqueIndex:udx_address_chain_id" json:"address"`
	ChainId        uint64  `gorm:"column:chain_id;not null;comment:blockchain id;uniqueIndex:udx_address_chain_id" json:"chain_id"`
	Status         string  `gorm:"column:status;not null;comment:account status;type:enum('active','inactive');" json:"status"`
	PftokenBalance string  `gorm:"column:pftoken_balance;type:varchar(100);not null;comment:pftoken balance;default:'0'" json:"pftoken_balance"`
	Pftoken        float64 `gorm:"column:pftoken;type:decimal(58,6);not null;index:idx_pftoken;" json:"pftoken"`
	LastPftoken    float64 `gorm:"column:last_pftoken;type:decimal(58,6);not null;" json:"last_pftoken"`
	CommonModel
}

func (*Merchant) TableName

func (m *Merchant) TableName() string

type MerchantPftokenStatement

type MerchantPftokenStatement struct {
	Mid           uint64    `gorm:"column:mid;not null;comment:merchant ID;index" json:"mid"`
	TxHash        string    `gorm:"column:tx_hash;comment:tx hash;type:varchar(128);not null;index" json:"tx_hash"`
	Operate       string    `gorm:"column:operate;type:enum('swap','transfer','mint','burn','rebase','withdraw');not null;comment:operate" json:"operate"`
	Type          string    `gorm:"column:type;type:enum('add','reduce');not null;comment:operate type" json:"type"`
	PftokenAmount string    `gorm:"column:pftoken_amount;comment:pftoken amount;type:varchar(100);default:''" json:"pftoken_amount"`
	BlockTime     time.Time `gorm:"column:block_time;index:idx_block_time" json:"block_time"`
	CommonModel
}

func (*MerchantPftokenStatement) TableName

func (m *MerchantPftokenStatement) TableName() string

type Options

type Options func(*gorm.DB) *gorm.DB

func WithPreload

func WithPreload(name string) Options

func WithSelect

func WithSelect(fields []string) Options

type PfTokenStatistics

type PfTokenStatistics struct {
	ChainId        uint64 `gorm:"column:chain_id;not null;comment:blockchain id;index" json:"chain_id"`
	TotalSupply    string `gorm:"column:total_supply;type:varchar(100);not null;comment:total supply" json:"total_supply"`
	HoldersNum     uint64 `gorm:"column:holders_num;not null;comment:number of holders" json:"holders_num"`
	RebaseInterval uint64 `gorm:"column:rebase_interval;not null;comment:rebase interval seconds" json:"rebase_interval"`
	CommonModel
}

daily statistics

func (*PfTokenStatistics) GetTableName

func (*PfTokenStatistics) GetTableName() string

type PftokenEvents

type PftokenEvents struct {
	Address     string  `json:"address" gorm:"column:address;type:char(64);index:idx_addr"`                          // contract address
	EventIndex  uint64  `json:"event_index" gorm:"column:event_index;index:idx_event"`                               // event index
	EventSign   string  `json:"event_sign" gorm:"column:event_sign;type:char(66);index:idx_tx_hash_sign"`            // event signature
	EventName   string  `json:"event_name" gorm:"column:event_name;type:varchar(255)"`                               // event name
	FromAddr    string  `json:"from_addr" gorm:"column:from_addr;type:varchar(255)"`                                 // from address
	ToAddr      string  `json:"to_addr" gorm:"column:to_addr;type:varchar(255)"`                                     // to address
	Data        *string `json:"data" gorm:"null;column:data;type:longtext"`                                          // event data
	BlockNumber uint64  `json:"block_number" gorm:"column:block_number;type:bigint unsigned;index:idx_chain_height"` // block number
	TxHash      string  `json:"tx_hash" gorm:"column:tx_hash;type:char(128);index:idx_tx_hash_sign"`                 // tx hash
	BlockHash   string  `json:"block_hash" gorm:"column:block_hash;type:varchar(256)"`                               // block hash
	ChainId     uint64  `json:"chain_id" gorm:"column:chain_id;not null;index:idx_chain_height"`
	CommonModel
}

func (*PftokenEvents) TableName

func (m *PftokenEvents) TableName() string

type PftokenWithdraw

type PftokenWithdraw struct {
	Address             string    `gorm:"column:address;not null;comment:wallet address;type:varchar(50);index:idx_address_chain_id" json:"address"`
	ChainId             uint64    `gorm:"column:chain_id;not null;comment:blockchain id;index:idx_address_chain_id" json:"chain_id"`
	TxHash              string    `gorm:"column:tx_hash;comment:tx hash;type:varchar(128);not null;index" json:"tx_hash"`
	WithdrawTotalAmount string    `gorm:"column:withdraw_total_amount;comment:withdraw total amount;type:varchar(100);not null" json:"withdraw_total_amount"`
	BurnAmount          string    `gorm:"column:burn_amount;comment:burn pftoken amount;type:varchar(100);not null" json:"burn_amount"`
	BlockTime           time.Time `gorm:"column:block_time;index:idx_block_time" json:"block_time"`
	ClaimableTime       time.Time `gorm:"column:claimable_time;index:idx_claimable_time" json:"claimable_time"`
	Status              string    `gorm:"column:status;not null;comment:account status;type:enum('processing','claimable','claimed');" json:"status"`
	CommonModel
}

func (*PftokenWithdraw) GetTableName

func (*PftokenWithdraw) GetTableName() string

type PftokenWithdrawWallet

type PftokenWithdrawWallet struct {
	Pwid           uint64 `gorm:"column:pwid;not null;comment:PftokenWithdraw id;index" json:"pwid"`
	WalletAddr     string `gorm:"column:wallet_addr;not null;comment:wallet address;type:varchar(50);index" json:"wallet_addr"`
	WithdrawAmount string `gorm:"column:withdraw_amount;comment:withdraw amount;type:varchar(100);not null" json:"withdraw_amount"`
	WithdrawToken  string `gorm:"column:withdraw_token;comment:contract addr;type:varchar(100);not null" json:"withdraw_token"`
	WithdrawSymbol string `gorm:"column:withdraw_symbol;comment:pay symbol;type:varchar(100);not null" json:"withdraw_symbol"`
	CommonModel
}

func (*PftokenWithdrawWallet) GetTableName

func (*PftokenWithdrawWallet) GetTableName() string

type RebaseFee

type RebaseFee struct {
	ChainId     uint64    `gorm:"column:chain_id;not null;comment:blockchain id;index" json:"chain_id"`
	TxHash      string    `json:"tx_hash" gorm:"column:tx_hash;type:char(128);index"` // tx hash
	Fee         float64   `gorm:"column:fee;type:decimal(46,18);not null;index:idx_fee;" json:"fee"`
	Coefficient float64   `gorm:"column:coefficient;type:decimal(46,18);not null;index" json:"coefficient"`
	FeeAmount   string    `gorm:"column:fee_amount;comment:fee amount;type:varchar(100);not null" json:"fee_amount"`
	BlockTime   time.Time `gorm:"column:block_time;index:idx_block_time" json:"block_time"`
	CommonModel
}

type RefundWallet

type RefundWallet struct {
	Address   string    `gorm:"column:address;not null;comment:wallet address;type:varchar(50);index:idx_address_chain_id" json:"address"`
	ChainId   uint64    `gorm:"column:chain_id;not null;comment:blockchain id;index:idx_address_chain_id" json:"chain_id"`
	TxHash    string    `gorm:"column:tx_hash;comment:tx hash;type:varchar(128);not null;index" json:"tx_hash"`
	Amount    string    `gorm:"column:amount;comment:payment amount;type:varchar(100);default:''" json:"amount"`
	PayToken  string    `gorm:"column:pay_token;comment:currency;type:varchar(100);default:''" json:"pay_token"`
	PaySymbol string    `gorm:"column:pay_symbol;comment:pay symbol;type:varchar(100);default:''" json:"pay_symbol"`
	BlockTime time.Time `gorm:"column:block_time;index:idx_block_time" json:"block_time"`
	CommonModel
}

func (*RefundWallet) TableName

func (r *RefundWallet) TableName() string

type RefundWalletEvents

type RefundWalletEvents struct {
	Address     string  `json:"address" gorm:"column:address;type:char(64);index:idx_addr"`                          // contract address
	EventIndex  uint64  `json:"event_index" gorm:"column:event_index;index:idx_event"`                               // event index
	EventSign   string  `json:"event_sign" gorm:"column:event_sign;type:char(66);index:idx_tx_hash_sign"`            // event signature
	EventName   string  `json:"event_name" gorm:"column:event_name;type:varchar(255)"`                               // event name
	FromAddr    string  `json:"from_addr" gorm:"column:from_addr;type:varchar(255)"`                                 // from address
	ToAddr      string  `json:"to_addr" gorm:"column:to_addr;type:varchar(255)"`                                     // to address
	Data        *string `json:"data" gorm:"null;column:data;type:longtext"`                                          // event data
	BlockNumber uint64  `json:"block_number" gorm:"column:block_number;type:bigint unsigned;index:idx_chain_height"` // block number
	TxHash      string  `json:"tx_hash" gorm:"column:tx_hash;type:char(128);index:idx_tx_hash_sign"`                 // tx hash
	BlockHash   string  `json:"block_hash" gorm:"column:block_hash;type:varchar(256)"`                               // block hash
	ChainId     uint64  `json:"chain_id" gorm:"column:chain_id;not null;index:idx_chain_height"`
	CommonModel
}

func (*RefundWalletEvents) TableName

func (r *RefundWalletEvents) TableName() string

type SwapRecord

type SwapRecord struct {
	ID              uint64    `gorm:"column:id;primaryKey;autoIncrement:true;comment:self-increment ID" json:"id"`
	UUID            string    `gorm:"column:uuid;not null;comment:uuid;type:varchar(50);uniqueIndex:udx_uuid" json:"uuid"`
	Address         string    `gorm:"column:address;not null;comment:wallet address;type:varchar(50)" json:"address"`
	ReceiverAddress string    `gorm:"column:receiver_address;not null;comment:receiver address;type:varchar(50)" json:"receiver_address"`
	ChainId         uint64    `gorm:"column:chain_id;not null;comment:blockchain id" json:"chain_id"`
	Amount          string    `gorm:"column:amount;comment:pfToken amount;type:varchar(100);default:''" json:"amount"`
	PayToken        string    `gorm:"column:pay_token;comment:currency;type:varchar(100);default:''" json:"pay_token"`
	PaySymbol       string    `gorm:"column:pay_symbol;comment:pay symbol;type:varchar(100);default:''" json:"pay_symbol"`
	ActualAmount    string    `gorm:"column:actual_amount;comment:actual amount;type:varchar(100);default:''" json:"actual_amount"`
	Status          string    `` /* 134-byte string literal not displayed */
	Type            string    `gorm:"column:type;not null;comment:type;type:enum('self','event');index:idx_union_fields" json:"type"`
	BlockTime       time.Time `gorm:"column:block_time;index:idx_block_time" json:"block_time"`
	BlockNumber     uint64    `gorm:"column:block_number;type:bigint unsigned" json:"block_number"`
	TxHash          string    `gorm:"column:tx_hash;comment:tx hash;type:varchar(128);default:''" json:"tx_hash"`
	Fee             string    `gorm:"column:fee;comment:fee;type:varchar(100);default:''" json:"fee"`
	InvoiceNumber   string    `gorm:"column:invoice_number;comment:invoice number;type:varchar(128);default:''" json:"invoice_number"`
	NotifyUrl       string    `gorm:"column:notify_url;comment:notify url;type:varchar(256);default:''" json:"notify_url"`
	CommonModel
}

func FindSwapRecordByUUID

func FindSwapRecordByUUID(uuid string) (*SwapRecord, error)

func (*SwapRecord) TableName

func (*SwapRecord) TableName() string

type Wallet

type Wallet struct {
	ID              uint64 `gorm:"column:id;primaryKey;autoIncrement:true;comment:self-increment ID" json:"id"`
	Address         string `gorm:"column:address;not null;comment:wallet address;type:varchar(50);uniqueIndex:udx_address_chain_id" json:"address"`
	ChainId         uint64 `gorm:"column:chain_id;not null;comment:blockchain id;uniqueIndex:udx_address_chain_id" json:"chain_id"`
	Status          string `gorm:"column:status;not null;comment:account status;type:enum('active','inactive','assigned','delete');" json:"status"`
	UsedCount       uint64 `gorm:"column:used_count;not null;comment:used count;default:0" json:"used_count"`
	RecordedBalance string `gorm:"column:recorded_balance;type:varchar(100);not null;comment:recorded balance;default:''" json:"recorded_balance"`
	BalanceOf       string `gorm:"column:balance_of;comment:wallet real balance;type:varchar(100);not null" json:"balance_of"`
	PayToken        string `gorm:"column:pay_token;comment:currency;type:varchar(100);not null" json:"pay_token"`
	PaySymbol       string `gorm:"column:pay_symbol;comment:pay symbol;type:varchar(100);not null" json:"pay_symbol"`
	CommonModel
}

func GetAvailableWallet

func GetAvailableWallet(chainId uint64) (wallet *Wallet, err error)

func GetWalletByAddressAndChainId

func GetWalletByAddressAndChainId(chainId uint64, address string) (wallet *Wallet, err error)

func GetWallets

func GetWallets(offset, limit int) (wallets []*Wallet, err error)

func GetWalletsByChainId

func GetWalletsByChainId(chainId uint64, offset, limit int) (wallets []*Wallet, err error)

func (*Wallet) TableName

func (*Wallet) TableName() string

type WalletAPR

type WalletAPR struct {
	ID               uint64 `gorm:"column:id;primaryKey;autoIncrement:true;comment:self-increment ID" json:"id"`
	ChainId          uint64 `json:"chain_id" gorm:"column:chain_id;not null;uniqueIndex:idx_chain_date"`
	Date             uint64 `json:"date" gorm:"column:date;not null;uniqueIndex:idx_chain_date"`
	FundTokenReserve string `gorm:"column:fund_token_reserve;comment:fund token reserve;type:varchar(100);default:'';" json:"fund_token_reserve"`
	PfTokenReserve   string `gorm:"column:pf_token_reserve;comment:pftoken reserve;type:varchar(100);default:'';" json:"pf_token_reserve"`
	TotalSupply      string `gorm:"column:total_supply;comment:total supply;type:varchar(100);default:'';" json:"total_supply"`
	Price            string `gorm:"column:price;comment:price;type:varchar(100);default:'';" json:"price"`
	Rate             string `gorm:"column:rate;comment:rate;type:varchar(100);default:'';" json:"rate"`
	RateOrigin       string `gorm:"column:rate_origin;comment:origin rate;type:varchar(100);default:'';" json:"rate_origin"`
	PayToken         string `gorm:"column:pay_token;comment:currency;type:varchar(100);default:'';" json:"pay_token"`
	PaySymbol        string `gorm:"column:pay_symbol;comment:pay symbol;type:varchar(100);default:''" json:"pay_symbol"`
	Decimals         uint64 `json:"decimals" gorm:"column:decimals;not null;"`
	CommonModel
}

func GetWalletAPRByChainIdAndDate

func GetWalletAPRByChainIdAndDate(chainId, date uint64) (walletAPR *WalletAPR, err error)

func GetWalletAPRList

func GetWalletAPRList(offset, limit int, order string) (list []*WalletAPR, err error)

func GetWalletLastAPRByChainId

func GetWalletLastAPRByChainId(chainId uint64) (walletAPR *WalletAPR, err error)

func (*WalletAPR) TableName

func (*WalletAPR) TableName() string

type WalletAssign

type WalletAssign struct {
	ID              uint64    `gorm:"column:id;primaryKey;autoIncrement:true;comment:self-increment ID" json:"id"`
	UUID            string    `gorm:"column:uuid;not null;comment:uuid;type:varchar(50);uniqueIndex:udx_uuid" json:"uuid"`
	Address         string    `gorm:"column:address;not null;comment:wallet address;type:varchar(50);uniqueIndex:udx_union_fields" json:"address"`
	ChainId         uint64    `gorm:"column:chain_id;not null;comment:blockchain id;uniqueIndex:udx_union_fields" json:"chain_id"`
	HolderAddress   string    `` /* 128-byte string literal not displayed */
	ReceiverAddress string    `` /* 134-byte string literal not displayed */
	BlockNumber     uint64    `gorm:"column:block_number;type:bigint unsigned" json:"block_number"`
	Amount          string    `gorm:"column:amount;comment:payment amount;type:varchar(100);default:''" json:"amount"`
	PayToken        string    `gorm:"column:pay_token;comment:currency;type:varchar(100);default:'';uniqueIndex:udx_union_fields" json:"pay_token"`
	PaySymbol       string    `gorm:"column:pay_symbol;comment:pay symbol;type:varchar(100);default:''" json:"pay_symbol"`
	ActualAmount    string    `gorm:"column:actual_amount;comment:actual amount;type:varchar(100);default:''" json:"actual_amount"`
	PayRecordNum    uint64    `gorm:"column:pay_record_num;type:int unsigned" json:"pay_record_num"`
	EndAt           time.Time `gorm:"column:end_at;uniqueIndex:udx_union_fields;index:idx_union_fields" json:"end_at"`
	Status          string    `` /* 146-byte string literal not displayed */
	IsLock          uint64    `gorm:"column:is_lock;type:int unsigned;comment:db task is working;index:idx_union_fields" json:"is_lock"`
	Type            string    `gorm:"column:type;not null;comment:type;type:enum('self','event');index:idx_union_fields" json:"type"`
	StartAt         time.Time `gorm:"column:start_at;index:idx_union_fields" json:"start_at"`
	WalletHash      string    `gorm:"column:wallet_hash;comment:wallet hash;type:varchar(128);default:''" json:"wallet_hash"`
	Fee             string    `gorm:"column:fee;comment:fee;type:varchar(100);default:''" json:"fee"`
	ProtocolFee     string    `gorm:"column:protocol_fee;comment:protocol fee;type:varchar(100);default:''" json:"protocol_fee"`
	TreasuryFee     string    `gorm:"column:treasury_fee;comment:treasury fee;type:varchar(100);default:''" json:"treasury_fee"`
	LiquidityFee    string    `gorm:"column:liquidity_fee;comment:liquidity fee;type:varchar(100);default:''" json:"liquidity_fee"`
	FfTokenTotal    string    `gorm:"column:pftoken_total;comment:pftoken total;type:varchar(100);default:''" json:"pftoken_total"`
	PfTokenHash     string    `gorm:"column:pftoken_hash;comment:pftoken hash;type:varchar(128);default:''" json:"pftoken_hash"`
	FailCount       uint64    `gorm:"column:fail_count;type:int unsigned;index:idx_union_fields;default 0;" json:"fail_count"`
	Nonce           uint64    `gorm:"column:nonce;type:int unsigned" json:"nonce"`
	InvoiceNumber   string    `gorm:"column:invoice_number;comment:invoice number;type:varchar(128);default:''" json:"invoice_number"`
	NotifyUrl       string    `gorm:"column:notify_url;comment:notify url;type:varchar(256);default:''" json:"notify_url"`
	IsCallback      uint8     `gorm:"column:is_callback;type:tinyint unsigned;default:0" json:"is_callback"`
	PaymentHash     string    `gorm:"column:payment_hash;comment:payment hash;type:varchar(128);default:''" json:"payment_hash"`
	FromAddress     string    `gorm:"column:from_address;comment:from address;type:varchar(50);default:''" json:"from_address"`
	CommonModel
}

func FindWalletAssignByUUID

func FindWalletAssignByUUID(uuid string) (walletAssign *WalletAssign, err error)

func FindWalletAssignNeedCallback

func FindWalletAssignNeedCallback(offset, limit int) ([]*WalletAssign, error)

func GetPayingWalletList

func GetPayingWalletList(currentTime time.Time, assignTypes []string, size, offset int) (list []*WalletAssign, err error)

func GetWalletAssignByUUID

func GetWalletAssignByUUID(uuid string) (walletAssign *WalletAssign, err error)

func (*WalletAssign) TableName

func (*WalletAssign) TableName() string

type WalletAssignEvents

type WalletAssignEvents struct {
	ID            uint64 `gorm:"column:id;primaryKey;autoIncrement:true;comment:self-increment ID" json:"id"`
	ChainId       uint64 `json:"chain_id" gorm:"column:chain_id;not null;index:idx_chain_height"`                                             // chain id
	Address       string `gorm:"column:address;not null;comment:wallet address;type:varchar(50);uniqueIndex:udx_union_fields" json:"address"` // wallet address
	HolderAddress string ``                                                                                                                   // wallet holder address
	/* 128-byte string literal not displayed */
	ReceiverAddress string `` // receiver address
	/* 134-byte string literal not displayed */
	Amount          string    `gorm:"column:amount;comment:payment amount;type:varchar(100);default:''" json:"amount"`                                    // payableAmount
	EndAt           time.Time `gorm:"column:end_at;uniqueIndex:udx_union_fields;index:idx_union_fields" json:"end_at"`                                    // expireTime
	Data            *string   `json:"data" gorm:"null;column:data;type:longtext"`                                                                         // event data
	ContractAddress string    `json:"contract_address" gorm:"column:contract_address;type:char(64);index:idx_addr"`                                       // contract address
	EventIndex      uint64    `json:"event_index" gorm:"column:event_index;index:idx_event"`                                                              // event index
	EventName       string    `json:"event_name" gorm:"column:event_name;type:varchar(255)"`                                                              // event name
	EventSign       string    `json:"event_sign" gorm:"column:event_sign;type:char(66);index:idx_tx_hash_sign"`                                           // event signature
	BlockNumber     uint64    `json:"block_number" gorm:"column:block_number;type:bigint unsigned;index:idx_chain_height"`                                // block number
	BlockHash       string    `json:"block_hash" gorm:"column:block_hash;type:varchar(256)"`                                                              // block hash
	BlockTime       time.Time `gorm:"column:block_time;index:idx_union_fields" json:"block_time"`                                                         // event block time
	TxHash          string    `json:"tx_hash" gorm:"column:tx_hash;type:char(128);index:idx_tx_hash_sign"`                                                // tx hash
	AssetAddress    string    `gorm:"column:asset_address;not null;comment:from addr;type:varchar(50);uniqueIndex:udx_union_fields" json:"asset_address"` // asset address for solana
	PayToken        string    `gorm:"column:pay_token;comment:currency;type:varchar(100);default:'';uniqueIndex:udx_union_fields" json:"pay_token"`       // pay token address
	PaySymbol       string    `gorm:"column:pay_symbol;comment:pay symbol;type:varchar(100);default:''" json:"pay_symbol"`                                // pay token symbol
	Nonce           uint64    `gorm:"column:nonce;type:int unsigned" json:"nonce"`
	CommonModel
}

func (*WalletAssignEvents) TableName

func (*WalletAssignEvents) TableName() string

type WalletEvents

type WalletEvents struct {
	ID              uint64    `gorm:"column:id;primaryKey;autoIncrement:true;comment:self-increment ID" json:"id"`
	ChainId         uint64    `gorm:"column:chain_id;not null;comment:blockchain id;uniqueIndex:udx_union_fields" json:"chain_id"`                // chain id
	FromAddr        string    `gorm:"column:from_addr;not null;comment:from addr;type:varchar(50);" json:"from_addr"`                             // from address
	ToAddr          string    `gorm:"column:to_addr;not null;comment:to addr;type:varchar(50);" json:"to_addr"`                                   // to address
	Amount          string    `gorm:"column:amount;comment:payment amount;type:varchar(100);default:''" json:"amount"`                            // payable amount
	Data            *string   `json:"data" gorm:"null;column:data;type:longtext"`                                                                 // event data
	ContractAddress string    `json:"contract_address" gorm:"column:contract_address;type:char(64);index:idx_addr"`                               // contract address
	EventIndex      uint64    `json:"event_index" gorm:"column:event_index;index:idx_event;uniqueIndex:udx_union_fields"`                         // event index
	EventName       string    `gorm:"column:event_name;comment:event name;type:varchar(128);default:''" json:"event_name"`                        // event name
	EventSign       string    `json:"event_sign" gorm:"column:event_sign;type:char(66);index:idx_tx_hash_sign;uniqueIndex:udx_union_fields"`      // event signature
	BlockNumber     uint64    `gorm:"column:block_number;type:bigint unsigned" json:"block_number"`                                               // event block number
	BlockHash       string    `gorm:"column:block_hash;comment:block hash;type:varchar(128);default:''" json:"block_hash"`                        // event block hash
	BlockTime       time.Time `gorm:"column:block_time;index:idx_union_fields" json:"block_time"`                                                 // event block time
	TxHash          string    `gorm:"column:tx_hash;comment:block hash;type:varchar(128);default:'';uniqueIndex:udx_union_fields" json:"tx_hash"` // event tx hash
	AssetAddress    string    `gorm:"column:asset_address;not null;comment:from addr;type:varchar(50);" json:"asset_address"`                     // asset address for solana
	PayToken        string    `gorm:"column:pay_token;comment:currency;type:varchar(100);default:'';" json:"pay_token"`                           // pay token address
	PaySymbol       string    `gorm:"column:pay_symbol;comment:pay symbol;type:varchar(100);default:''" json:"pay_symbol"`                        // pay token symbol
	CommonModel
}

func (*WalletEvents) TableName

func (*WalletEvents) TableName() string

type WalletStatistics

type WalletStatistics struct {
	Wid             uint64 `gorm:"column:wid;not null;comment:wallet ID;index" json:"wid"`
	ChainId         uint64 `gorm:"column:chain_id;not null;comment:blockchain id;index" json:"chain_id"`
	UsedCount       uint64 `gorm:"column:used_count;not null;comment:used count;default:0" json:"used_count"`
	RecordedBalance string `gorm:"column:recorded_balance;type:varchar(100);not null;comment:recorded balance;default:''" json:"recorded_balance"`
	BalanceOf       string `gorm:"column:balance_of;comment:wallet real balance;type:varchar(100);not null" json:"balance_of"`
	PayToken        string `gorm:"column:pay_token;comment:currency;type:varchar(100);not null" json:"pay_token"`
	PaySymbol       string `gorm:"column:pay_symbol;comment:pay symbol;type:varchar(100);not null" json:"pay_symbol"`
	CommonModel
}

daily statistics

func (*WalletStatistics) TableName

func (*WalletStatistics) TableName() string

type WithdrawEvents

type WithdrawEvents struct {
	Address     string  `json:"address" gorm:"column:address;type:char(64);index:idx_addr"`                          // contract address
	EventIndex  uint64  `json:"event_index" gorm:"column:event_index;index:idx_event"`                               // event index
	EventSign   string  `json:"event_sign" gorm:"column:event_sign;type:char(66);index:idx_tx_hash_sign"`            // event signature
	EventName   string  `json:"event_name" gorm:"column:event_name;type:varchar(255)"`                               // event name
	FromAddr    string  `json:"from_addr" gorm:"column:from_addr;type:varchar(255)"`                                 // from address
	ToAddr      string  `json:"to_addr" gorm:"column:to_addr;type:varchar(255)"`                                     // to address
	Data        *string `json:"data" gorm:"null;column:data;type:longtext"`                                          // event data
	BlockNumber uint64  `json:"block_number" gorm:"column:block_number;type:bigint unsigned;index:idx_chain_height"` // block number
	TxHash      string  `json:"tx_hash" gorm:"column:tx_hash;type:char(128);index:idx_tx_hash_sign"`                 // tx hash
	BlockHash   string  `json:"block_hash" gorm:"column:block_hash;type:varchar(256)"`                               // block hash
	ChainId     uint64  `json:"chain_id" gorm:"column:chain_id;not null;index:idx_chain_height"`
	CommonModel
}

Jump to

Keyboard shortcuts

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