vo

package
v0.0.0-...-828d3b4 Latest Latest
Warning

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

Go to latest
Published: Oct 16, 2024 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// todo common error
	ErrSystem          = _newError(10001, SetErrorMessage("system error"))
	ErrParams          = _newError(10002, SetErrorMessage("params error"))
	ErrDataNotFound    = _newError(10004, SetErrorMessage("data not found"))
	ErrNetworkNotFound = ErrDataNotFound.SetMessage("network not found")

	MonitorNotExist = _newError(20001, SetErrorMessage("The address is not in monitor list."))
	MonitorExist    = _newError(20002, SetErrorMessage("The address is already in monitor list."))
	NewUserErr      = _newError(20003, SetErrorMessage("The asset information is being synchronized."))
)

Functions

func ValidateStruct

func ValidateStruct(s interface{}) error

Types

type AAContractInteract

type AAContractInteract struct {
	ContractAddress string          `json:"contractAddress"`
	Rate            decimal.Decimal `json:"rate"`
	SingleNum       int64           `json:"singleNum"`
}

type AAContractInteractRequest

type AAContractInteractRequest struct {
	Network   string `json:"network"`
	TimeRange string `json:"timeRange"`
}

type AAContractInteractResponse

type AAContractInteractResponse struct {
	TotalNum           int64 `json:"totalNum"`
	AAContractInteract []*AAContractInteract
}

type AATxnDominanceDetail

type AATxnDominanceDetail struct {
	Time      int64           `json:"time"`
	Dominance decimal.Decimal `json:"dominance"`
}

type AATxnDominanceRequest

type AATxnDominanceRequest struct {
	Network   string `json:"network"`
	TimeRange string `json:"timeRange"`
}

type AATxnDominanceResponse

type AATxnDominanceResponse struct {
	DominanceDetails []*AATxnDominanceDetail
}

type AaAccountDataVo

type AaAccountDataVo struct {
	// ID of the ent.
	ID           string `json:"address"`
	AddressLabel string `json:"addressLabel"`
	// AaType holds the value of the "aa_type" field.
	AaType string `json:"aaType"`
	// Factory holds the value of the "factory" field.
	Factory string `json:"factory"`
	// FactoryTime holds the value of the "factory_time" field.
	FactoryTime int64 `json:"factoryTime"`
	// UserOpsNum holds the value of the "user_ops_num" field.
	UserOpsNum int64 `json:"userOpsNum"`
	// TotalBalanceUsd holds the value of the "total_balance_usd" field.
	TotalBalanceUsd decimal.Decimal `json:"totalBalanceUsd"`
	// UpdateTime holds the value of the "update_time" field.
	UpdateTime int64 `json:"updateTime"`
}

AaAccountData is the model entity for the AaAccountData schema.

type AaAccountNetworkRequestVo

type AaAccountNetworkRequestVo struct {
	Address string `json:"address" params:"address" validate:"required,min=3"`
}

type AaAccountNetworkResponseVo

type AaAccountNetworkResponseVo struct {
	Chains []string `json:"chains"`
}

type AaAccountRecord

type AaAccountRecord struct {
	Address     *string          `json:"address"`
	AaType      *string          `json:"aaType"`
	Factory     *string          `json:"factory"`
	FactoryTime int64            `json:"factoryTime"`
	TotalAmount *decimal.Decimal `json:"totalAmount"`
}

type AaAccountRequestVo

type AaAccountRequestVo struct {
	Network string `json:"network" params:"network" validate:"required,min=3"`
	Address string `json:"address" params:"address" validate:"required,min=3"`
}

type AaBlocksVo

type AaBlocksVo struct {
	// ID of the ent.
	Number int64 `json:"number,omitempty"`
	// Time holds the value of the "time" field.
	Time int64 `json:"time,omitempty"`
	// Hash holds the value of the "hash" field.
	Hash string `json:"hash,omitempty"`
	// UseropCount holds the value of the "userop_count" field.
	UseropCount int `json:"useropCount,omitempty"`
	// UseropMevCount holds the value of the "userop_mev_count" field.
	UseropMevCount int `json:"useropMevCount,omitempty"`
	// BundlerProfit holds the value of the "bundler_profit" field.
	BundlerProfit    decimal.Decimal `json:"bundlerProfit,omitempty"`
	BundlerProfitUsd decimal.Decimal `json:"bundlerProfitUsd,omitempty"`
	// CreateTime holds the value of the "create_time" field.
	CreateTime     int64           `json:"createTime,omitempty"`
	MevCount       int64           `json:"mevCount"`
	BundlerLoss    decimal.Decimal `json:"BundlerLoss"`
	BundlerLossUsd decimal.Decimal `json:"BundlerLossUsd"`
	MevProfits     decimal.Decimal `json:"MevProfits"`
	MevProfitsUsd  decimal.Decimal `json:"MevProfitsUsd"`
}

type AaTransactionListRequestVo

type AaTransactionListRequestVo struct {
	PaginationRequest
	Network string `json:"network" params:"network" validate:"required,min=3"`
	TxHash  string `json:"txHash" params:"txHash"`
	Address string `json:"address" params:"address"`
}

type AaTransactionListResponse

type AaTransactionListResponse struct {
	Pagination
	Records []*AaTransactionRecord `json:"records"`
}

type AaTransactionRecord

type AaTransactionRecord struct {
	Hash                 string           `json:"hash"`
	Time                 int64            `json:"time"`
	BlockHash            string           `json:"blockHash"`
	BlockNumber          int64            `json:"blockNumber"`
	UseropCount          int64            `json:"useropCount"`
	IsMev                bool             `json:"isMev"`
	BundlerProfit        decimal.Decimal  `json:"bundlerProfit"`
	BundlerProfitUsd     decimal.Decimal  `json:"bundlerProfitUsd"`
	Nonce                *decimal.Decimal `json:"nonce"`
	TransactionIndex     *decimal.Decimal `json:"transactionIndex"`
	FromAddr             *string          `json:"fromAddr"`
	ToAddr               *string          `json:"toAddr"`
	Value                *decimal.Decimal `json:"value"`
	GasPrice             *decimal.Decimal `json:"gasPrice"`
	Gas                  *decimal.Decimal `json:"gas"`
	Input                *string          `json:"input"`
	R                    *string          `json:"r"`
	S                    *string          `json:"s"`
	V                    *decimal.Decimal `json:"v"`
	ChainID              *int64           `json:"chainID"`
	Type                 *string          `json:"type"`
	MaxFeePerGas         *decimal.Decimal `json:"maxFeePerGas"`
	MaxPriorityFeePerGas *decimal.Decimal `json:"maxPriorityFeePerGas"`
	AccessList           *pgtype.JSONB    `json:"accessList"`
	Method               string           `json:"method"`
	ContractAddress      string           `json:"contractAddress"`
	CumulativeGasUsed    int64            `json:"cumulativeGasUsed"`
	EffectiveGasPrice    string           `json:"effective_gas_price"`
	GasUsed              decimal.Decimal  `json:"gasUsed"`
	Status               string           `json:"status"`
	TokenPriceUsd        decimal.Decimal  `json:"tokenPriceUsd"`
	GasPriceUsd          decimal.Decimal  `json:"gasPriceUsd"`
	ValueUsd             decimal.Decimal  `json:"valueUsd"`
}

type AaTransactionRequestVo

type AaTransactionRequestVo struct {
	Network string `json:"network" params:"network" validate:"required,min=3"`
	TxHash  string `json:"txHash" params:"txHash" validate:"required,min=3"`
}

type AccountTypeRequest

type AccountTypeRequest struct {
	AccountAddress string `json:"accountAddress"`
	Network        string `json:"network"`
}

type AccountTypeResponse

type AccountTypeResponse struct {
	AccountAddress string `json:"accountAddress"`
	Type           string `json:"type"`
}

type AddMonitorRequest

type AddMonitorRequest struct {
	Network        string `json:"network"`
	MonitorAddress string `json:"monitorAddress"`
	Sign           string `json:"sign"`
	Message        string `json:"message"`
}

type AddMonitorResponse

type AddMonitorResponse struct {
}

type AssetDetail

type AssetDetail struct {
	Percent   decimal.Decimal `json:"percent"`
	Symbol    string          `json:"symbol"`
	Network   string          `json:"network"`
	Amount    decimal.Decimal `json:"amount"`
	AmountUsd decimal.Decimal `json:"amountUsd"`
	TokenUrl  string          `json:"tokenUrl"`
}

type AssetDetailRequest

type AssetDetailRequest struct {
	Network     string `json:"network"`
	UserAddress string `json:"userAddress"`
}

type AssetDetailResponse

type AssetDetailResponse struct {
	TotalAssetUsd decimal.Decimal `json:"totalAssetUsd"`
	AssetDetails  []AssetDetail   `json:"assetDetails"`
}

type AssetInfo

type AssetInfo struct {
	Percent   decimal.Decimal `json:"percent"`
	Symbol    string          `json:"symbol"`
	TokenUrl  string          `json:"tokenImage"`
	Amount    decimal.Decimal `json:"amount"`
	AmountUsd decimal.Decimal `json:"amountUsd"`
}

type BalanceDetail

type BalanceDetail struct {
	TokenAddress  string          `json:"tokenAddress"`
	TokenAmount   decimal.Decimal `json:"tokenAmount"`
	Percentage    decimal.Decimal `json:"percentage"`
	TokenValueUsd decimal.Decimal `json:"tokenValueUsd"`
}

type BlockScanNetworkBlockDoResult

type BlockScanNetworkBlockDoResult struct {
	Block    *BlockWithBlockByNumber
	Receipts []*BlockWithGetBlockReceipt
}

type BlockVo

type BlockVo struct {
	// ID of the ent.
	ID int64 `json:"number"`
	// Time holds the value of the "time" field.
	Time time.Time `json:"time"`
	// CreateTime holds the value of the "create_time" field.
	CreateTime time.Time `json:"createTime"`
	// Hash holds the value of the "hash" field.
	Hash string `json:"hash"`
	// ParentHash holds the value of the "parent_hash" field.
	ParentHash string `json:"parentHash"`
	// Nonce holds the value of the "nonce" field.
	Nonce decimal.Decimal `json:"nonce"`
	// Sha3Uncles holds the value of the "sha3_uncles" field.
	Sha3Uncles string `json:"sha3Uncles"`
	// LogsBloom holds the value of the "logs_bloom" field.
	LogsBloom string `json:"logsBloom"`
	// TransactionsRoot holds the value of the "transactions_root" field.
	TransactionsRoot string `json:"transactionsRoot"`
	// StateRoot holds the value of the "state_root" field.
	StateRoot string `json:"stateRoot"`
	// ReceiptsRoot holds the value of the "receipts_root" field.
	ReceiptsRoot string `json:"receiptsRoot"`
	// Miner holds the value of the "miner" field.
	Miner string `json:"miner"`
	// MixHash holds the value of the "mix_hash" field.
	MixHash string `json:"mixHash"`
	// Difficulty holds the value of the "difficulty" field.
	Difficulty decimal.Decimal `json:"difficulty"`
	// TotalDifficulty holds the value of the "total_difficulty" field.
	TotalDifficulty decimal.Decimal `json:"totalDifficulty"`
	// ExtraData holds the value of the "extra_data" field.
	ExtraData string `json:"extraData"`
	// Size holds the value of the "size" field.
	Size decimal.Decimal `json:"size"`
	// GasLimit holds the value of the "gas_limit" field.
	GasLimit decimal.Decimal `json:"gasLimit"`
	// GasUsed holds the value of the "gas_used" field.
	GasUsed decimal.Decimal `json:"gasUsed"`
	// Timestamp holds the value of the "timestamp" field.
	Timestamp decimal.Decimal `json:"timestamp"`
	// TransactionCount holds the value of the "transaction_count" field.
	TransactionCount decimal.Decimal `json:"transactionCount"`
	// Uncles holds the value of the "uncles" field.
	Uncles []string `json:"uncles"`
	// BaseFeePerGas holds the value of the "base_fee_per_gas" field.
	BaseFeePerGas decimal.Decimal `json:"baseFeePerGas"`
}

type BlockWithBlockByNumber

type BlockWithBlockByNumber struct {
	BaseFeePerGas         string                         `json:"baseFeePerGas"`
	BlobGasUsed           string                         `json:"blobGasUsed"`
	Difficulty            string                         `json:"difficulty"`
	ExcessBlobGas         string                         `json:"excessBlobGas"`
	ExtraData             string                         `json:"extraData"`
	GasLimit              string                         `json:"gasLimit"`
	GasUsed               string                         `json:"gasUsed"`
	Hash                  string                         `json:"hash"`
	LogsBloom             string                         `json:"logsBloom"`
	Miner                 string                         `json:"miner"`
	MixHash               string                         `json:"mixHash"`
	Nonce                 string                         `json:"nonce"`
	Number                string                         `json:"number"`
	ParentBeaconBlockRoot string                         `json:"parentBeaconBlockRoot"`
	ParentHash            string                         `json:"parentHash"`
	ReceiptsRoot          string                         `json:"receiptsRoot"`
	Sha3Uncles            string                         `json:"sha3Uncles"`
	Size                  string                         `json:"size"`
	StateRoot             string                         `json:"stateRoot"`
	Timestamp             string                         `json:"timestamp"`
	TotalDifficulty       string                         `json:"totalDifficulty"`
	Transactions          []TransactionWithBlockByNumber `json:"transactions"`
	TransactionsRoot      string                         `json:"transactionsRoot"`
	Uncles                []string                       `json:"uncles"`
	Withdrawals           []struct {
		Index          string `json:"index"`
		ValidatorIndex string `json:"validatorIndex"`
		Address        string `json:"address"`
		Amount         string `json:"amount"`
	} `json:"withdrawals"`
	WithdrawalsRoot string `json:"withdrawalsRoot"`
}

type BlockWithGetBlockReceipt

type BlockWithGetBlockReceipt struct {
	BlockHash         string `json:"blockHash"`
	BlockNumber       string `json:"blockNumber"`
	ContractAddress   string `json:"contractAddress"`
	CumulativeGasUsed string `json:"cumulativeGasUsed"`
	EffectiveGasPrice string `json:"effectiveGasPrice"`
	From              string `json:"from"`
	GasUsed           string `json:"gasUsed"`
	Logs              []struct {
		Address          string   `json:"address"`
		Topics           []string `json:"topics"`
		Data             string   `json:"data"`
		BlockNumber      string   `json:"blockNumber"`
		TransactionHash  string   `json:"transactionHash"`
		TransactionIndex string   `json:"transactionIndex"`
		BlockHash        string   `json:"blockHash"`
		LogIndex         string   `json:"logIndex"`
		Removed          bool     `json:"removed"`
	} `json:"logs"`
	LogsBloom        string `json:"logsBloom"`
	Status           string `json:"status"`
	To               string `json:"to"`
	TransactionHash  string `json:"transactionHash"`
	TransactionIndex string `json:"transactionIndex"`
	Type             string `json:"type"`
}

type BlocksVo

type BlocksVo struct {
	// ID of the ent.
	ID int64 `json:"number"`
	//// Time holds the value of the "time" field.
	//Time time.Time `json:"time"`
	// CreateTime holds the value of the "create_time" field.
	CreateTime time.Time `json:"createTime"`
}

type BundlerBalanceRequest

type BundlerBalanceRequest struct {
	Network string `json:"network"`
	Address string `json:"address"`
}

type BundlerBalanceResponse

type BundlerBalanceResponse struct {
	TotalUsd     decimal.Decimal `json:"totalUsd"`
	AssetDetails []AssetInfo     `json:"assetDetails"`
}

type BundlerDetail

type BundlerDetail struct {
	Address         string          `json:"address"`
	Bundles         int64           `json:"bundles"`
	Success24H      decimal.Decimal `json:"success24H"`
	FeeEarned24H    decimal.Decimal `json:"feeEarned24H"`
	FeeEarnedUsd24H decimal.Decimal `json:"feeEarnedUsd24H"`
}

type BundlerTransferRequest

type BundlerTransferRequest struct {
	Network string `json:"network"`
	Address string `json:"address"`
	PaginationRequest
}

type BundlerTransferResponse

type BundlerTransferResponse struct {
	Pagination
	TransferList []TransferInfo `json:"transferList"`
}

type BundlersVo

type BundlersVo struct {
	// Bundler holds the value of the "bundler" field.
	Bundler      string `json:"bundler"`
	BundlerLabel string `json:"bundlerLabel"`
	// BundlesNum holds the value of the "bundles_num" field.
	BundlesNum int64 `json:"bundlesNum"`

	// BundleRate holds the value of the "bundle_rate" field.
	BundleRate decimal.Decimal `json:"bundleRate"`

	// UserOpsNum holds the value of the "user_ops_num" field.
	UserOpsNum int64 `json:"userOpsNum"`
	// SuccessRate holds the value of the "success_rate" field.
	SuccessRate decimal.Decimal `json:"successRate"`
	// SuccessRateD1 holds the value of the "success_rate_d1" field.
	SuccessRateD1 decimal.Decimal `json:"successRateD1"`
	// BundlesNumD1 holds the value of the "bundles_num_d1" field.
	BundlesNumD1 int64 `json:"bundlesNumD1"`
	// FeeEarnedD1 holds the value of the "fee_earned_d1" field.
	FeeEarnedD1 decimal.Decimal `json:"feeEarnedD1"`
	// FeeEarnedUsdD1 holds the value of the "fee_earned_usd_d1" field.
	FeeEarnedUsdD1 decimal.Decimal `json:"feeEarnedUsdD1"`
}

type BundlesVo

type BundlesVo struct {
	// TxHash holds the value of the "tx_hash" field.
	TxHash string `json:"txHash"`
	// BlockNumber holds the value of the "block_number" field.
	BlockNumber int64 `json:"blockNumber"`
	// Network holds the value of the "network" field.
	Network string `json:"network"`
	// Bundler holds the value of the "bundler" field.
	Bundler string `json:"bundler"`
	// EntryPoint holds the value of the "entry_point" field.
	EntryPoint string `json:"entryPoint"`
	// UserOpsNum holds the value of the "user_ops_num" field.
	UserOpsNum int64 `json:"userOpsNum"`
	// TxValue holds the value of the "tx_value" field.
	TxValue decimal.Decimal `json:"txValue"`
	// Fee holds the value of the "fee" field.
	Fee decimal.Decimal `json:"fee"`
	// Status holds the value of the "status" field.
	Status int `json:"status"`
	// TxTime holds the value of the "tx_time" field.
	TxTime int64 `json:"txTime"`
}

type ByContractNum

type ByContractNum []*AAContractInteract

func (ByContractNum) Len

func (b ByContractNum) Len() int

func (ByContractNum) Less

func (b ByContractNum) Less(i, j int) bool

func (ByContractNum) Swap

func (b ByContractNum) Swap(i, j int)

type ByDailyStatisticTime

type ByDailyStatisticTime []*DailyStatisticDetail

func (ByDailyStatisticTime) Len

func (b ByDailyStatisticTime) Len() int

func (ByDailyStatisticTime) Less

func (b ByDailyStatisticTime) Less(i, j int) bool

func (ByDailyStatisticTime) Swap

func (b ByDailyStatisticTime) Swap(i, j int)

type ByDominanceTime

type ByDominanceTime []*AATxnDominanceDetail

func (ByDominanceTime) Len

func (b ByDominanceTime) Len() int

func (ByDominanceTime) Less

func (b ByDominanceTime) Less(i, j int) bool

func (ByDominanceTime) Swap

func (b ByDominanceTime) Swap(i, j int)

type ByUserOpsTypeNum

type ByUserOpsTypeNum []*UserOpsType

func (ByUserOpsTypeNum) Len

func (b ByUserOpsTypeNum) Len() int

func (ByUserOpsTypeNum) Less

func (b ByUserOpsTypeNum) Less(i, j int) bool

func (ByUserOpsTypeNum) Swap

func (b ByUserOpsTypeNum) Swap(i, j int)

type ByWhaleDailyStatisticTime

type ByWhaleDailyStatisticTime []*WhaleChartDetail

func (ByWhaleDailyStatisticTime) Len

func (ByWhaleDailyStatisticTime) Less

func (b ByWhaleDailyStatisticTime) Less(i, j int) bool

func (ByWhaleDailyStatisticTime) Swap

func (b ByWhaleDailyStatisticTime) Swap(i, j int)

type CallDataInfo

type CallDataInfo struct {
	Time        int64           `json:"time"`
	UserOpsHash string          `json:"userOpsHash"`
	TxHash      string          `json:"txHash"`
	BlockNumber int64           `json:"blockNumber"`
	Network     string          `json:"network"`
	Sender      string          `json:"sender"`
	Target      string          `json:"target"`
	TxValue     decimal.Decimal `json:"txValue"`
	Source      string          `json:"source"`
	Calldata    string          `json:"calldata"`
	TxTime      int64           `json:"txTime"`
	CreateTime  int64           `json:"createTime"`
	UpdateTime  int64           `json:"updateTime"`
	AaIndex     int             `json:"aaIndex"`
}

type DailyStatisticDetail

type DailyStatisticDetail struct {
	Time                  int64           `json:"time"`
	UserOpsNum            int64           `json:"userOpsNum"`
	ActiveAAWallet        int64           `json:"activeAAWallet"`
	AccumulativeGasFee    decimal.Decimal `json:"accumulativeGasFee"`
	AccumulativeGasFeeUsd decimal.Decimal `json:"accumulativeGasFeeUsd"`
	PaymasterGasPaid      decimal.Decimal `json:"paymasterGasPaid"`
	PaymasterGasPaidUsd   decimal.Decimal `json:"paymasterGasPaidUsd"`
	BundlerGasProfit      decimal.Decimal `json:"bundlerGasProfit"`
	BundlerGasProfitUsd   decimal.Decimal `json:"bundlerGasProfitUsd"`
}

type DailyStatisticRequest

type DailyStatisticRequest struct {
	Network   string `json:"network"`
	TimeRange string `json:"timeRange"`
}

type DailyStatisticResponse

type DailyStatisticResponse struct {
	UserOpsNum            int64           `json:"userOpsNum"`
	Ups                   decimal.Decimal `json:"ups"`
	ActiveAAWallet        int64           `json:"activeAAWallet"`
	AccumulativeGasFee    decimal.Decimal `json:"accumulativeGasFee"`
	AccumulativeGasFeeUsd decimal.Decimal `json:"accumulativeGasFeeUsd"`
	PaymasterGasPaid      decimal.Decimal `json:"paymasterGasPaid"`
	PaymasterGasPaidUsd   decimal.Decimal `json:"paymasterGasPaidUsd"`
	BundlerGasProfit      decimal.Decimal `json:"bundlerGasProfit"`
	BundlerGasProfitUsd   decimal.Decimal `json:"bundlerGasProfitUsd"`
	LastStatisticTime     int64           `json:"lastStatisticTime"`
	Details               []*DailyStatisticDetail
}

type Error

type Error struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
	Data    any    `json:"data,omitempty"`
}

func NewError

func NewError(code int, sets ...SetErrorOption) *Error

func (*Error) Error

func (e *Error) Error() string

Error makes it compatible with the `error` interface.

func (*Error) SetCode

func (e *Error) SetCode(code int) *Error

func (*Error) SetData

func (e *Error) SetData(data any) *Error

func (*Error) SetMessage

func (e *Error) SetMessage(message string) *Error

type FactoryDbVo

type FactoryDbVo struct {
	// ID of the ent.
	ID    string            `json:"factory"`
	Label *pgtype.TextArray `json:"label"`
	// AccountNum holds the value of the "account_num" field.
	AccountNum int `json:"accountNum"`
	// AccountNumD1 holds the value of the "account_num_d1" field.
	AccountNumD1 int `json:"accountNumD1"`
}

type FactoryDetail

type FactoryDetail struct {
	Address       string `json:"address"`
	ActiveAccount int64  `json:"activeAccount"`
	TotalAccount  int64  `json:"totalAccount"`
}

type FactoryVo

type FactoryVo struct {
	// ID of the ent.
	ID           string `json:"factory"`
	FactoryLabel string `json:"factoryLabel"`
	// AccountNum holds the value of the "account_num" field.
	AccountNum int `json:"accountNum"`
	// AccountNumD1 holds the value of the "account_num_d1" field.
	AccountNumD1 int `json:"accountNumD1"`
	// Dominance holds the value of the "dominance" field.
	Dominance decimal.Decimal `json:"dominance"`
	// DominanceD1 holds the value of the "dominance_d1" field.
	DominanceD1 decimal.Decimal `json:"dominanceD1"`
}

type GetAaBlocksRequest

type GetAaBlocksRequest struct {
	PaginationRequest
	Network           string `json:"network" params:"network" validate:"required,min=3"`
	LatestBlockNumber int64  `json:"latestBlockNumber" params:"latestBlockNumber" validate:"min=0"`
}

type GetAaBlocksResponse

type GetAaBlocksResponse struct {
	Pagination
	Records []*AaBlocksVo `json:"records"`
}

type GetAccountsRequest

type GetAccountsRequest struct {
	PaginationRequest
	Network string `json:"network" params:"network" validate:"required,min=3"`
	Address string `json:"address" params:"address"`
	Factory string `json:"factory" params:"factory"`
}

type GetAccountsResponse

type GetAccountsResponse struct {
	Pagination
	Records []*AaAccountDataVo `json:"records"`
}

type GetBlockRequest

type GetBlockRequest struct {
	Block   string `json:"block" params:"block" validate:"required,min=3"`
	Network string `json:"network" params:"network" validate:"required,min=3"`
}

type GetBlockResponse

type GetBlockResponse struct {
	Block *BlockVo `json:"block"`
}

type GetBlocksRequest

type GetBlocksRequest struct {
	PaginationRequest
	Network string `json:"network" params:"network" validate:"required,min=3"`
}

type GetBlocksResponse

type GetBlocksResponse struct {
	Pagination
	Records []*BlocksVo `json:"records"`
}

type GetBundlerRequest

type GetBundlerRequest struct {
	Network string `json:"network" params:"network" validate:"required,min=3"`
	Bundler string `json:"bundler" params:"bundler" validate:"required,hexAddress"`
}

type GetBundlerResponse

type GetBundlerResponse struct {
	// FeeEarnedUsdD1 holds the value of the "fee_earned_usd_d1" field.
	FeeEarnedUsdD1 decimal.Decimal `json:"feeEarnedUsdD1"`
	// FeeEarnedUsd holds the value of the "fee_earned_usd" field.
	FeeEarnedUsd decimal.Decimal `json:"feeEarnedUsd"`
	// SuccessRateD1 holds the value of the "success_rate_d1" field.
	SuccessRateD1 decimal.Decimal `json:"successRateD1"`
	// SuccessRate holds the value of the "success_rate" field.
	SuccessRate decimal.Decimal `json:"successRate"`
	// BundleRate holds the value of the "bundle_rate" field.
	BundleRate    decimal.Decimal `json:"bundleRate"`
	Rank          int64           `json:"rank"`
	TotalBundlers int64           `json:"totalBundlers"`
	Label         []string        `json:"label"`
}

type GetBundlersRequest

type GetBundlersRequest struct {
	PaginationRequest
	Network string `json:"network" params:"network" validate:"required,min=3"`
}

type GetBundlersResponse

type GetBundlersResponse struct {
	Pagination
	Records []*BundlersVo `json:"records"`
}

type GetBundlesRequest

type GetBundlesRequest struct {
	PaginationRequest
	Network string `json:"network" params:"network" validate:"required,min=3"`
}

type GetBundlesResponse

type GetBundlesResponse struct {
	Pagination
	Records []*BundlesVo `json:"records"`
}

type GetFactoriesRequest

type GetFactoriesRequest struct {
	PaginationRequest
	Network string `json:"network" params:"network" validate:"required,min=3"`
}

type GetFactoriesResponse

type GetFactoriesResponse struct {
	Pagination
	Records []*FactoryVo `json:"records"`
}

type GetFactoryAccountsRequest

type GetFactoryAccountsRequest struct {
	PaginationRequest
	Network string `json:"network" params:"network" validate:"required,min=3"`
	Factory string `json:"factory" params:"factory" validate:"required,hexAddress"`
}

type GetFactoryRequest

type GetFactoryRequest struct {
	Network string `json:"network" params:"network" validate:"required,min=3"`
	Factory string `json:"factory" params:"factory" validate:"required,len=42"`
}

type GetFactoryResponse

type GetFactoryResponse struct {
	TotalAccountDeployNum int             `json:"accountDeployNum"`
	AccountDeployNumD1    int             `json:"accountDeployNumD1"`
	Dominance             decimal.Decimal `json:"dominance"`
	UserOpsNum            int64           `json:"userOpsNum"`
	Rank                  int64           `json:"rank"`
	TotalNumber           int64           `json:"totalNumber"`
	Label                 []string        `json:"label"`
}

type GetNetworksResponse

type GetNetworksResponse struct {
	Pagination
	Records []*NetworkVo `json:"records"`
}

type GetPaymasterOverviewRequest

type GetPaymasterOverviewRequest struct {
	Paymaster string `json:"paymaster"`
	Network   string `json:"network"`
}

type GetPaymasterOverviewResponse

type GetPaymasterOverviewResponse struct {
	SponsorGasFeeUsd24h   decimal.Decimal `json:"sponsorGasFee24h"`
	UserOpsNum24h         int64           `json:"userOpsNum24h"`
	SponsorGasFeeUsdTotal decimal.Decimal `json:"sponsorGasFeeTotal"`
	UserOpsNumTotal       int64           `json:"userOpsNumTotal"`
	Dominance             decimal.Decimal `json:"dominance"`
	Rank                  int             `json:"rank"`
	TotalNumber           int64           `json:"totalNumber"`
	AccountBalance        decimal.Decimal `json:"accountBalance"`
	EstimateTxnNum        int             `json:"estimateTxnNum"`
	Label                 []string        `json:"label"`
}

type GetPaymastersRequest

type GetPaymastersRequest struct {
	PaginationRequest
	Network string `json:"network" params:"network" validate:"required,min=3"`
}

type GetPaymastersResponse

type GetPaymastersResponse struct {
	Pagination
	Records []*PaymastersVo `json:"records"`
}

type GetReserveRequest

type GetReserveRequest struct {
	PaginationRequest
	Paymaster string `json:"paymaster"`
	Network   string `json:"network"`
}

type GetReserveResponse

type GetReserveResponse struct {
	Pagination
	Records []*ReserveDetail
}

type GetUserOpsRequest

type GetUserOpsRequest struct {
	PaginationRequest
	Network           string `json:"network" params:"network" validate:"required,min=3"`
	LatestBlockNumber int64  `json:"latestBlockNumber" params:"latestBlockNumber" validate:"min=0"`
	BlockNumber       int64  `json:"blockNumber" params:"blockNumber" validate:"min=0"`
	StartTime         int64  `json:"startTime"`
	EndTime           int64  `json:"endTime"`
	TxHash            string `json:"txHash" params:"txHash" validate:"omitempty,txHash"`
	Bundler           string `json:"bundler" params:"bundler" validate:"omitempty,hexAddress"`
	Paymaster         string `json:"paymaster" params:"paymaster" validate:"omitempty,hexAddress"`
	Factory           string `json:"factory" params:"factory" validate:"omitempty,hexAddress"`
	Account           string `json:"account" params:"account" validate:"omitempty,hexAddress"`
	HashTerm          string `json:"hashTerm" params:"hashTerm"`
}

type GetUserOpsResponse

type GetUserOpsResponse struct {
	Pagination
	Records []*UserOpVo `json:"records"`
}

type HomeMevRequest

type HomeMevRequest struct {
	Network  string `json:"network"`
	BlockNum int64  `json:"blockNum"`
	PaginationRequest
}

type HomeMevResponse

type HomeMevResponse struct {
	MevInfos []MevInfo `json:"mevInfos"`
	Pagination
}

type HotAARequest

type HotAARequest struct {
	Network string `json:"network"`
}

type HotAAResponse

type HotAAResponse struct {
	TokenDetails []TokenDetail `json:"tokenDetails"`
}

type JsonResponse

type JsonResponse struct {
	Version string `json:"jsonrpc,omitempty"`
	Id      string `json:"id,omitempty"`
	Error   *Error `json:"error,omitempty"`
	Result  any    `json:"result,omitempty"`
}

func NewErrorJsonResponse

func NewErrorJsonResponse(error *Error, sets ...SetResponseOption) *JsonResponse

func NewJsonResponse

func NewJsonResponse(sets ...SetResponseOption) *JsonResponse

func NewResultJsonResponse

func NewResultJsonResponse(result any, sets ...SetResponseOption) *JsonResponse

func (*JsonResponse) JSON

func (r *JsonResponse) JSON(ctx *fiber.Ctx) error

type LatestUserOpsRequest

type LatestUserOpsRequest struct {
	Network string `json:"network"`
}

type LatestUserOpsResponse

type LatestUserOpsResponse struct {
	AverageProcessTime24h decimal.Decimal `json:"averageProcessTime24h"`
	AverageGasCost24h     decimal.Decimal `json:"averageGasCost24h"`
	PendingTransactionNum int64           `json:"pendingTransactionNum"`
}

type ListBlockMEVBundlersRequest

type ListBlockMEVBundlersRequest struct {
	PaginationRequest
	Network     string `json:"network" params:"network" validate:"required,min=3"`
	BlockNumber int64  `json:"blockNumber" params:"blockNumber" validate:"required"`
}

type ListBundlerMEVBundlersRequest

type ListBundlerMEVBundlersRequest struct {
	PaginationRequest
	Network string `json:"network" params:"network" validate:"required,min=3"`
	Bundler string `json:"bundler" params:"bundler" validate:"required"`
}

type ListMEVBundlersRequest

type ListMEVBundlersRequest struct {
	PaginationRequest
	Network string `json:"network" params:"network" validate:"required,min=3"`
}

type ListMEVBundlersResponse

type ListMEVBundlersResponse struct {
	Pagination
	Records []*MEVBundlerAssets `json:"records"`
}

type ListWatchingAddressRequest

type ListWatchingAddressRequest struct {
	PaginationRequest
	Network     string `json:"network" params:"network" validate:"required,min=3"`
	UserAddress string `json:"userAddress" param:"userAddress" validate:"required"`
}

type ListWatchingAddressResponse

type ListWatchingAddressResponse struct {
	Pagination
	Monitors []*WatchingAddress `json:"monitors"`
}

type MEVBundlerAssets

type MEVBundlerAssets struct {
	Timestamp        int64           `json:"timestamp"`
	UserOpHash       string          `json:"userOpHash"`
	TxHash           string          `json:"txHash"`
	MevType          string          `json:"mevType"`
	Victim           string          `json:"victim"`
	VictimType       string          `json:"victimType"`
	Attacker         string          `json:"attacker"`
	BundlerLoss      decimal.Decimal `json:"bundlerLoss"`
	BundlerLossInUsd decimal.Decimal `json:"bundlerLossInUsd"`
	MevProfits       decimal.Decimal `json:"mevProfits"`
	MevProfitsInUsd  decimal.Decimal `json:"mevProfitsInUsd"`
}

type MevInfo

type MevInfo struct {
	Time         int64           `json:"time"`
	Type         string          `json:"type"`
	Victim       string          `json:"victim"`
	VictimType   string          `json:"victimType"`
	Attacker     string          `json:"attacker"`
	MevProfit    decimal.Decimal `json:"mevProfit"`
	MevProfitUsd decimal.Decimal `json:"mevProfitUsd"`
	BlockNum     int64           `json:"blockNum"`
}

type MevInfoRequest

type MevInfoRequest struct {
	Network string `json:"network"`
}

type MevInfoResponse

type MevInfoResponse struct {
	AttackerTotalProfit float64 `json:"attackerTotalProfit"`
	MevUserOpsRatio     float64 `json:"mevUserOpsRatio"`
	AttackerAccounts    int     `json:"attackerAccounts"`
}

type NetworkVo

type NetworkVo struct {
	// Name holds the value of the "name" field.
	Name string `json:"name"`
	// ChainName holds the value of the "chain_name" field.
	ChainName string `json:"chainName"`
	// Network holds the value of the "network" field.
	Network string `json:"network"`
	ChainID int64  `json:"chainId"`
	// IsTestnet holds the value of the "is_testnet" field.
	IsTestnet bool `json:"isTestnet"`
	// Scan holds the value of the "scan" field.
	Scan string `json:"scan"`
	// ScanTx holds the value of the "scan_tx" field.
	ScanTx string `json:"scanTx"`
	// ScanBlock holds the value of the "scan_block" field.
	ScanBlock string `json:"scanBlock"`
	// ScanAddress holds the value of the "scan_address" field.
	ScanAddress string `json:"scanAddress"`
	// ScanName holds the value of the "scan_name" field.
	ScanName     string `json:"scanName"`
	ChainIcon    string `json:"chainIcon"`
	CoinIcon     string `json:"coinIcon"`
	NativeSymbol string `json:"nativeSymbol"`
}

type Pagination

type Pagination struct {
	TotalCount int `json:"totalCount"`
	PerPage    int `json:"perPage"`
	Page       int `json:"page"`
}

type PaginationAny

type PaginationAny struct {
	Pagination
	Records any `json:"records"`
}

type PaginationRequest

type PaginationRequest struct {
	TotalCount int      `json:"totalCount" query:"totalCount" params:"totalCount" `
	PerPage    int      `json:"perPage" query:"perPage" params:"perPage" validate:"required,min=1"`
	Page       int      `json:"page" query:"page" params:"page" validate:"required,min=1,max=10000"` // page number
	Sort       int      `json:"sort" query:"sort" params:"sort" validate:"min=0,max=50"`             // sort field idx
	Order      int      `json:"order" query:"order" params:"order" validate:"min=-1,max=1"`          // order sort : -1 desc   1 asc
	Select     []string `json:"-" query:"-" params:"-" `
}

func NewDefaultPaginationRequest

func NewDefaultPaginationRequest() PaginationRequest

func (*PaginationRequest) GetOffset

func (r *PaginationRequest) GetOffset() int

func (*PaginationRequest) GetPage

func (r *PaginationRequest) GetPage() int

func (*PaginationRequest) GetPerPage

func (r *PaginationRequest) GetPerPage() int

type PaymasterDetail

type PaymasterDetail struct {
	Address         string          `json:"address"`
	ReserveUsd      decimal.Decimal `json:"reserveUsd"`
	GasSponsored    decimal.Decimal `json:"gasSponsored"`
	GasSponsoredUsd decimal.Decimal `json:"gasSponsoredUsd"`
}

type PaymastersVo

type PaymastersVo struct {
	// Paymaster holds the value of the "paymaster" field.
	Paymaster      string `json:"paymaster"`
	PaymasterLabel string `json:"paymasterLabel"`
	// UserOpsNum holds the value of the "user_ops_num" field.
	UserOpsNum int64 `json:"userOpsNum"`
	// UserOpsNumD1 holds the value of the "user_ops_num_d1" field.
	UserOpsNumD1 int64 `json:"userOpsNumD1"`
	// Reserve holds the value of the "reserve" field.
	Reserve decimal.Decimal `json:"reserve"`
	// GasSponsored holds the value of the "gas_sponsored" field.
	GasSponsored decimal.Decimal `json:"gasSponsored"`
	// GasSponsoredUsd holds the value of the "gas_sponsored_usd" field.
	GasSponsoredUsd decimal.Decimal `json:"gasSponsoredUsd"`
}

type RemoveMonitorRequest

type RemoveMonitorRequest struct {
	Network        string `json:"network"`
	MonitorAddress string `json:"monitorAddress"`
	Sign           string `json:"sign"`
	Message        string `json:"message"`
}

type RemoveMonitorResponse

type RemoveMonitorResponse struct {
}

type ReserveDetail

type ReserveDetail struct {
	Timestamp int64           `json:"timestamp"`
	Sender    string          `json:"sender"`
	Target    string          `json:"target"`
	Status    string          `json:"status"`
	Bundler   string          `json:"bundler"`
	Balance   decimal.Decimal `json:"balance"`
}

type SearchAllAccount

type SearchAllAccount struct {
	Address string `json:"address"`
	// AaType holds the value of the "aa_type" field.
	AaType string `json:"aaType"`
}

type SearchAllBlock

type SearchAllBlock struct {
	BlockNumber int64  `json:"blockNumber"`
	BlockHash   string `json:"blockHash"`
}

type SearchAllRequest

type SearchAllRequest struct {
	Network           string `json:"network" params:"network" validate:"required,min=3"`
	Term              string `json:"term" params:"term" validate:"required,min=4"`
	SearchUserOpAndTx bool   `json:"searchUserOpAndTx" params:"searchUserOpAndTx"`
}

type SearchAllResponse

type SearchAllResponse struct {
	//WalletAccounts []*SearchAllAccount     `json:"walletAccount"`
	//Paymasters     []*SearchAllAccount     `json:"paymaster"`
	//Bundlers       []*SearchAllAccount     `json:"bundler"`
	//Transactions   []*SearchAllTransaction `json:"transactions"`
	//Blocks         []*SearchAllBlock       `json:"blocks"`
	Data []*SearchAllResponseData
}

type SearchAllResponseData

type SearchAllResponseData struct {
	Type    string
	Records any
}

type SearchAllTransaction

type SearchAllTransaction struct {
	TxHash string `json:"txHash"`
	Hash   string `json:"hash"`
}

type SetErrorOption

type SetErrorOption func(*Error) *Error

func SetErrorData

func SetErrorData(data any) SetErrorOption

func SetErrorMessage

func SetErrorMessage(message string) SetErrorOption

type SetResponseOption

type SetResponseOption func(*JsonResponse) *JsonResponse

func SetResponseAutoDataError

func SetResponseAutoDataError(err error) SetResponseOption

func SetResponseError

func SetResponseError(err error) SetResponseOption

func SetResponseId

func SetResponseId(id string) SetResponseOption

func SetResponseResult

func SetResponseResult(result any) SetResponseOption

type TokenDetail

type TokenDetail struct {
	TokenSymbol string `json:"tokenSymbol"`
	Count       int64  `json:"count"`
}

type TopBundlerRequest

type TopBundlerRequest struct {
	PaginationRequest
	Network string `json:"network"`
}

type TopBundlerResponse

type TopBundlerResponse struct {
	Pagination
	BundlerDetails []*BundlerDetail
}

type TopFactoryRequest

type TopFactoryRequest struct {
	PaginationRequest
	Network string `json:"network"`
}

type TopFactoryResponse

type TopFactoryResponse struct {
	Pagination
	FactoryDetails []*FactoryDetail
}

type TopPaymasterRequest

type TopPaymasterRequest struct {
	PaginationRequest
	Network string `json:"network"`
}

type TopPaymasterResponse

type TopPaymasterResponse struct {
	Pagination
	PaymasterDetails []*PaymasterDetail
}

type TopRequest

type TopRequest struct {
	Type string
}

type TopWhaleInfo

type TopWhaleInfo struct {
	Rank       int             `json:"rank"`
	Address    string          `json:"address"`
	Balance    decimal.Decimal `json:"balance"`
	Percentage float64         `json:"percentage"`
}

type TopWhaleRequest

type TopWhaleRequest struct {
	PaginationRequest
	RankLimit int    `json:"rankLimit"`
	Network   string `json:"network"`
}

type TopWhaleResponse

type TopWhaleResponse struct {
	Pagination
	TopWhaleRankList []*TopWhaleInfo
}

type TransactionListRequestVo

type TransactionListRequestVo struct {
	PaginationRequest
	Network string `json:"network" params:"network" validate:"required,min=3"`
	TxHash  string `json:"txHash" params:"txHash"`
}

type TransactionListResponse

type TransactionListResponse struct {
	Pagination
	Records []*TransactionRecord `json:"records"`
}

type TransactionRecord

type TransactionRecord struct {
	Hash                 string           `json:"hash"`
	Time                 int64            `json:"time"`
	CreateTime           int64            `json:"createTime"`
	BlockHash            string           `json:"blockHash"`
	BlockNumber          int64            `json:"blockNumber"`
	Nonce                decimal.Decimal  `json:"nonce"`
	TransactionIndex     decimal.Decimal  `json:"transactionIndex"`
	FromAddr             string           `json:"fromAddr"`
	ToAddr               string           `json:"toAddr"`
	Value                decimal.Decimal  `json:"value"`
	GasPrice             decimal.Decimal  `json:"gasPrice"`
	Gas                  decimal.Decimal  `json:"gas"`
	Input                string           `json:"input"`
	R                    string           `json:"r"`
	S                    string           `json:"s"`
	V                    decimal.Decimal  `json:"v"`
	ChainID              int64            `json:"chainId"`
	Type                 string           `json:"type"`
	MaxFeePerGas         *decimal.Decimal `json:"maxFeePerGas"`
	MaxPriorityFeePerGas *decimal.Decimal `json:"maxPriorityFeePerGas"`
	AccessList           *pgtype.JSONB    `json:"accessList"`
}

type TransactionRequestVo

type TransactionRequestVo struct {
	Network string `json:"network" params:"network" validate:"required,min=3"`
	TxHash  string `json:"txHash" params:"txHash" validate:"required,min=3"`
}

type TransactionWithBlockByNumber

type TransactionWithBlockByNumber struct {
	BlockHash            string `json:"blockHash"`
	BlockNumber          string `json:"blockNumber"`
	From                 string `json:"from"`
	Gas                  string `json:"gas"`
	GasPrice             string `json:"gasPrice"`
	MaxPriorityFeePerGas string `json:"maxPriorityFeePerGas,omitempty"`
	MaxFeePerGas         string `json:"maxFeePerGas,omitempty"`
	Hash                 string `json:"hash"`
	Input                string `json:"input"`
	Nonce                string `json:"nonce"`
	To                   string `json:"to"`
	TransactionIndex     string `json:"transactionIndex"`
	Value                string `json:"value"`
	Type                 string `json:"type"`
	AccessList           []struct {
		Address     string   `json:"address"`
		StorageKeys []string `json:"storageKeys"`
	} `json:"accessList,omitempty"`
	ChainId string `json:"chainId,omitempty"`
	V       string `json:"v"`
	YParity string `json:"yParity,omitempty"`
	R       string `json:"r"`
	S       string `json:"s"`
}

type TransferInfo

type TransferInfo struct {
	Id          int64           `json:"id"`
	TxnHash     string          `json:"txnHash"`
	Source      string          `json:"source"`
	Timestamp   int64           `json:"timestamp"`
	From        string          `json:"from"`
	To          string          `json:"to"`
	Value       decimal.Decimal `json:"value"`
	TokenSymbol string          `json:"tokenSymbol"`
	TokenImage  string          `json:"tokenImage"`
}

type UserBalanceRequest

type UserBalanceRequest struct {
	Network        string `json:"network"`
	AccountAddress string `json:"accountAddress"`
}

type UserBalanceResponse

type UserBalanceResponse struct {
	TotalUsd       decimal.Decimal `json:"totalUsd"`
	BalanceDetails []*BalanceDetail
}

type UserOpVo

type UserOpVo struct {
	// Time holds the value of the "time" field.
	Time int64 `json:"time"`
	// UserOperationHash holds the value of the "user_operation_hash" field.
	UserOperationHash string `json:"userOperationHash"`
	// TxHash holds the value of the "tx_hash" field.
	TxHash string `json:"txHash"`
	// BlockNumber holds the value of the "block_number" field.
	BlockNumber int64 `json:"blockNumber"`
	// Network holds the value of the "network" field.
	Network string `json:"network"`
	// Sender holds the value of the "sender" field.
	Sender      string `json:"sender"`
	SenderLabel string `json:"senderLabel"`
	// Target holds the value of the "target" field.
	Target      string `json:"target"`
	TargetLabel string `json:"targetLabel"`
	// TxValue holds the value of the "tx_value" field.
	TxValue decimal.Decimal `json:"txValue"`
	// Fee holds the value of the "fee" field.
	Fee decimal.Decimal `json:"fee"`
	// Status holds the value of the "status" field.
	Status int32 `json:"status"`
	// Source holds the value of the "source" field.
	Source string `json:"source"`
	// Targets holds the value of the "targets" field.
	Targets []string `json:"targets"`
	// TargetsCount holds the value of the "targets_count" field.
	TargetsCount int `json:"targetsCount"`
	// Bundler holds the value of the "bundler" field.
	Bundler      string `json:"bundler"`
	BundlerLabel string `json:"bundlerLabel"`
	// Paymaster holds the value of the "paymaster" field.
	Paymaster      string `json:"paymaster"`
	PaymasterLabel string `json:"paymasterLabel"`
}

type UserOpsAnalysisListRequestVo

type UserOpsAnalysisListRequestVo struct {
	PaginationRequest
	Network string `json:"network" params:"network" validate:"required,min=3"`
	TxHash  string `json:"txHash" params:"txHash"`
}

type UserOpsAnalysisListResponse

type UserOpsAnalysisListResponse struct {
	Pagination
	Records []*UserOpsAnalysisRecord `json:"records"`
}

type UserOpsAnalysisRecord

type UserOpsAnalysisRecord struct {
	UserOperationHash    string           `json:"userOperationHash"`
	Time                 int64            `json:"time"`
	TxHash               string           `json:"txHash"`
	BlockNumber          int64            `json:"blockNumber"`
	Network              string           `json:"network"`
	Sender               string           `json:"sender"`
	Target               string           `json:"target"`
	Targets              []string         `json:"targets"`
	TargetsCount         int              `json:"targetsCount"`
	TxValue              decimal.Decimal  `json:"txValue"`
	Fee                  decimal.Decimal  `json:"fee"`
	Bundler              string           `json:"bundler"`
	BundlerLabel         []string         `json:"bundlerLabel"`
	EntryPoint           string           `json:"entryPoint"`
	Factory              string           `json:"factory"`
	Paymaster            string           `json:"paymaster"`
	PaymasterLabel       []string         `json:"paymasterLabel"`
	PaymasterAndData     string           `json:"paymasterAndData"`
	Signature            string           `json:"signature"`
	Calldata             string           `json:"calldata"`
	CalldataContract     string           `json:"calldataContract"`
	Nonce                int64            `json:"nonce"`
	CallGasLimit         int64            `json:"callGasLimit"`
	PreVerificationGas   int64            `json:"preVerificationGas"`
	VerificationGasLimit int64            `json:"verificationGasLimit"`
	MaxFeePerGas         int64            `json:"maxFeePerGas"`
	MaxPriorityFeePerGas int64            `json:"maxPriorityFeePerGas"`
	TxTime               int64            `json:"txTime"`
	InitCode             string           `json:"initCode"`
	Status               int32            `json:"status"`
	Source               string           `json:"source"`
	ActualGasCost        int64            `json:"actualGasCost"`
	ActualGasUsed        int64            `json:"actualGasUsed"`
	CreateTime           int64            `json:"createTime"`
	UpdateTime           int64            `json:"updateTime"`
	UsdAmount            *decimal.Decimal `json:"usdAmount"`
	ConfirmBlock         int64            `json:"confirmBlock"`
	AaIndex              int              `json:"aaIndex"`
	FeeUsd               decimal.Decimal  `json:"feeUsd"`
	TxValueUsd           decimal.Decimal  `json:"txValueUsd"`
	BundlerProfit        decimal.Decimal  `json:"bundlerProfit"`
	BundlerProfitUsd     decimal.Decimal  `json:"bundlerProfitUsd"`
	CallData             []CallDataInfo   `json:"callData"`
}

type UserOpsAnalysisRequestVo

type UserOpsAnalysisRequestVo struct {
	Network           string `json:"network" params:"network" validate:"required,min=3"`
	UserOperationHash string `json:"userOperationHash" params:"userOperationHash" validate:"required,txHash"`
	TxHash            string `json:"txHash" params:"txHash"`
}

type UserOpsType

type UserOpsType struct {
	UserOpType string          `json:"userOpType"`
	Rate       decimal.Decimal `json:"rate"`
}

type UserOpsTypeRequest

type UserOpsTypeRequest struct {
	Network   string `json:"network"`
	TimeRange string `json:"timeRange"`
}

type UserOpsTypeResponse

type UserOpsTypeResponse struct {
	UserOpTypes []*UserOpsType
}

type ValidateError

type ValidateError struct {
	Field   string `json:"field"`
	Tag     string `json:"tag"`
	Value   string `json:"value"`
	Message string `json:"message"`
}

type ValidateErrors

type ValidateErrors struct {
	Validates []*ValidateError `json:"validates"`
}

func (*ValidateErrors) Error

func (v *ValidateErrors) Error() string

type WatchingAddress

type WatchingAddress struct {
	Network         string          `json:"network"`
	AddressType     string          `json:"addressType"`
	MonitorAddress  string          `json:"monitorAddress"`
	Balance         decimal.Decimal `json:"balance"`
	Profits24H      decimal.Decimal `json:"profits24H"`
	SponsoredGas24H decimal.Decimal `json:"sponsoredGas24H"`
	TotalUserOps    int64           `json:"totalUserOps"`
}

type WhaleChartDetail

type WhaleChartDetail struct {
	Time  int64           `json:"time"`
	Value decimal.Decimal `json:"value"`
}

type WhaleChartRequest

type WhaleChartRequest struct {
	Network   string `json:"network"`
	TimeRange string `json:"timeRange"`
}

type WhaleChartResponse

type WhaleChartResponse struct {
	Details []*WhaleChartDetail `json:"details"`
}

type WhaleOverviewRequest

type WhaleOverviewRequest struct {
	Network string `json:"network"`
}

type WhaleOverviewResponse

type WhaleOverviewResponse struct {
	TxDominance   decimal.Decimal `json:"txDominance"`
	Ratio         decimal.Decimal `json:"ratio"`
	TotalAssetUsd decimal.Decimal `json:"totalAssetUsd"`
	TotalEthUsd   decimal.Decimal `json:"totalEthUsd"`
}

Jump to

Keyboard shortcuts

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