Documentation
¶
Index ¶
- type Addresses
- type AddressesDB
- type AddressesView
- type Balances
- type BalancesDB
- type BalancesView
- type Blocks
- type BlocksDB
- type BlocksView
- type DB
- type Deposits
- type DepositsDB
- type DepositsView
- type TokenBalance
- type Tokens
- type TokensDB
- type TokensView
- type Transactions
- type TransactionsDB
- type TransactionsView
- type Withdraws
- type WithdrawsDB
- type WithdrawsView
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Addresses ¶
type Addresses struct {
GUID uuid.UUID `gorm:"primaryKey" json:"guid"`
UserUid string `json:"user_uid"`
Address common.Address `json:"address" gorm:"serializer:bytes"`
AddressType uint8 `json:"address_type"` //0:用户地址;1:热钱包地址(归集地址);2:冷钱包地址
PrivateKey string `json:"private_key"`
PublicKey string `json:"public_key"`
Timestamp uint64
}
type AddressesDB ¶
type AddressesDB interface {
AddressesView
StoreAddressess([]Addresses, uint64) error
}
func NewAddressesDB ¶
func NewAddressesDB(db *gorm.DB) AddressesDB
type AddressesView ¶
type Balances ¶
type Balances struct {
GUID uuid.UUID `gorm:"primaryKey" json:"guid"`
Address common.Address `json:"address" gorm:"serializer:bytes"`
TokenAddress common.Address `json:"token_address" gorm:"serializer:bytes"`
AddressType uint8 `json:"address_type"` //0:用户地址;1:热钱包地址(归集地址);2:冷钱包地址
Balance *big.Int `gorm:"serializer:u256;column:balance" db:"balance" json:"Balance" form:"balance"`
LockBalance *big.Int `gorm:"serializer:u256;column:lock_balance" db:"lock_balance" json:"LockBalance" form:"lock_balance"`
Timestamp uint64
}
type BalancesDB ¶
type BalancesDB interface {
BalancesView
UpdateOrCreate([]TokenBalance) error
StoreBalances([]Balances, uint64) error
UpdateBalances([]Balances, bool) error
}
func NewBalancesDB ¶
func NewBalancesDB(db *gorm.DB) BalancesDB
type BalancesView ¶
type BalancesView interface {
QueryWalletBalanceByTokenAndAddress(address, tokenAddress common.Address) (*Balances, error)
UnCollectionList(amount *big.Int) ([]Balances, error)
QueryHotWalletBalances(amount *big.Int) ([]Balances, error)
QueryBalancesByToAddress(address *common.Address) (*Balances, error)
}
type Blocks ¶
type Blocks struct {
Hash common.Hash `gorm:"primaryKey;serializer:bytes"`
ParentHash common.Hash `gorm:"serializer:bytes"`
Number *big.Int `gorm:"serializer:u256"`
Timestamp uint64
RLPHeader *common2.RLPHeader `gorm:"serializer:rlp;column:rlp_bytes"`
}
func BlockHeaderFromHeader ¶
type BlocksDB ¶
type BlocksDB interface {
BlocksView
StoreBlockss([]Blocks, uint64) error
}
func NewBlocksDB ¶
type BlocksView ¶
type DB ¶
type DB struct {
Blocks BlocksDB
Addresses AddressesDB
Balances BalancesDB
Deposits DepositsDB
Withdraws WithdrawsDB
Transactions TransactionsDB
Tokens TokensDB
// contains filtered or unexported fields
}
func (*DB) ExecuteSQLMigration ¶
type Deposits ¶
type Deposits struct {
GUID uuid.UUID `gorm:"primaryKey" json:"guid"`
BlockHash common.Hash `gorm:"column:block_hash;serializer:bytes" db:"block_hash" json:"block_hash"`
BlockNumber *big.Int `gorm:"serializer:u256;column:block_number" db:"block_number" json:"BlockNumber" form:"block_number"`
Hash common.Hash `gorm:"column:hash;serializer:bytes" db:"hash" json:"hash"`
FromAddress common.Address `json:"from_address" gorm:"serializer:bytes;column:from_address"`
ToAddress common.Address `json:"to_address" gorm:"serializer:bytes;column:to_address"`
TokenAddress common.Address `json:"token_address" gorm:"serializer:bytes;column:token_address"`
Fee *big.Int `gorm:"serializer:u256;column:fee" db:"fee" json:"Fee" form:"fee"`
Amount *big.Int `gorm:"serializer:u256;column:amount" db:"amount" json:"Amount" form:"amount"`
Status uint8 `json:"status"` //0:充值确认中,1:充值钱包层已到账;2:充值已通知业务层;3:充值完成
TransactionIndex *big.Int `gorm:"serializer:u256;column:transaction_index" db:"transaction_index" json:"TransactionIndex" form:"transaction_index"`
Timestamp uint64
}
type DepositsDB ¶
type DepositsDB interface {
DepositsView
StoreDeposits([]Deposits, uint64) error
UpdateDepositsStatus(blockNumber uint64) error
}
func NewDepositsDB ¶
func NewDepositsDB(db *gorm.DB) DepositsDB
type DepositsView ¶
type TokenBalance ¶
type Tokens ¶
type Tokens struct {
GUID uuid.UUID `gorm:"primaryKey" json:"guid"`
TokenAddress common.Address `json:"token_address" gorm:"serializer:bytes"`
Uint uint8 `json:"uint"`
TokenName string `json:"tokens_name"`
CollectAmount *big.Int `gorm:"serializer:u256;column:collect_amount" db:"collect_amount" json:"CollectAmount" form:"collect_amount"`
Timestamp uint64
}
type TokensDB ¶
type TokensDB interface {
TokensView
StoreTokens([]Tokens, uint64) error
}
func NewTokensDB ¶
type TokensView ¶
type Transactions ¶
type Transactions struct {
GUID uuid.UUID `gorm:"primaryKey" json:"guid"`
BlockHash common.Hash `gorm:"column:block_hash;serializer:bytes" db:"block_hash" json:"block_hash"`
BlockNumber *big.Int `gorm:"serializer:u256;column:block_number" db:"block_number" json:"BlockNumber" form:"block_number"`
Hash common.Hash `gorm:"column:hash;serializer:bytes" db:"hash" json:"hash"`
FromAddress common.Address `json:"from_address" gorm:"serializer:bytes"`
ToAddress common.Address `json:"to_address" gorm:"serializer:bytes"`
TokenAddress common.Address `json:"token_address" gorm:"serializer:bytes"`
Fee *big.Int `gorm:"serializer:u256;column:fee" db:"fee" json:"Fee" form:"fee"`
Amount *big.Int `gorm:"serializer:u256;column:amount" db:"amount" json:"Amount" form:"amount"`
Status uint8 `json:"status"` // 0:交易确认中,1:钱包交易已到账;2:交易已通知业务层;3:交易完成
TxType uint8 `json:"tx_type"` // 0:充值;1:提现;2:归集;3:热转冷;4:冷转热
TransactionIndex *big.Int `gorm:"serializer:u256;column:transaction_index" db:"transaction_index" json:"TransactionIndex" form:"transaction_index"`
Timestamp uint64
}
type TransactionsDB ¶
type TransactionsDB interface {
TransactionsView
StoreTransactions([]Transactions, uint64) error
UpdateTransactionsStatus(blockNumber *big.Int) error
UpdateTransactionStatus(txList []Transactions) error
}
func NewTransactionsDB ¶
func NewTransactionsDB(db *gorm.DB) TransactionsDB
type TransactionsView ¶
type TransactionsView interface {
QueryTransactionByHash(hash common.Hash) (*Transactions, error)
}
type Withdraws ¶
type Withdraws struct {
GUID uuid.UUID `gorm:"primaryKey" json:"guid"`
BlockHash common.Hash `gorm:"column:block_hash;serializer:bytes" db:"block_hash" json:"block_hash"`
BlockNumber *big.Int `gorm:"serializer:u256;column:block_number" db:"block_number" json:"BlockNumber" form:"block_number"`
Hash common.Hash `gorm:"column:hash;serializer:bytes" db:"hash" json:"hash"`
FromAddress common.Address `json:"from_address" gorm:"serializer:bytes;column:from_address"`
ToAddress common.Address `json:"to_address" gorm:"serializer:bytes;column:to_address"`
TokenAddress common.Address `json:"token_address" gorm:"serializer:bytes;column:token_address"`
Fee *big.Int `gorm:"serializer:u256;column:fee" db:"fee" json:"Fee" form:"fee"`
Amount *big.Int `gorm:"serializer:u256;column:amount" db:"amount" json:"Amount" form:"amount"`
Status uint8 `json:"status"` // 0:提现未签名发送,1:提现已经发送到区块链网络;2:提现已上链;3:提现在钱包层已完成;4:提现已通知业务;5:提现成功
TransactionIndex *big.Int `gorm:"serializer:u256;column:transaction_index" db:"transaction_index" json:"TransactionIndex" form:"transaction_index"`
TxSignHex string `json:"tx_sign_hex" gorm:"column:tx_sign_hex"`
Timestamp uint64
}
type WithdrawsDB ¶
type WithdrawsDB interface {
WithdrawsView
StoreWithdraws([]Withdraws, uint64) error
UpdateTransactionStatus(withdrawsList []Withdraws) error
MarkWithdrawsToSend(withdrawsList []Withdraws) error
}
func NewWithdrawsDB ¶
func NewWithdrawsDB(db *gorm.DB) WithdrawsDB
type WithdrawsView ¶
type WithdrawsView interface {
QueryWithdrawsByHash(hash common.Hash) (*Withdraws, error)
UnSendWithdrawsList() ([]Withdraws, error)
ApiWithdrawList(string, int, int, string) ([]Withdraws, int64)
SubmitWithdrawFromBusiness(fromAddress common.Address, toAddress common.Address, TokenAddress common.Address, amount *big.Int) error
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.