Documentation ¶
Index ¶
- Constants
- Variables
- func GetOldestTimestamp(ctx context.Context, db *sql.DB, addresses []eth.Address) (timestamp int64, err error)
- func GetRecipients(ctx context.Context, db *sql.DB, offset int, limit int) (addresses []eth.Address, hasMore bool, err error)
- type Entry
- type EntryData
- type EntryDetails
- type ErrorCode
- type Filter
- type FilterDependencies
- type FilterResponse
- type GetOldestTimestampResponse
- type GetRecipientsResponse
- type PayloadType
- type Period
- type ProtocolType
- type Service
- func (s *Service) FilterActivityAsync(requestID int32, addresses []common.Address, chainIDs []w_common.ChainID, ...)
- func (s *Service) GetMultiTxDetails(ctx context.Context, multiTxID int) (*EntryDetails, error)
- func (s *Service) GetOldestTimestampAsync(requestID int32, addresses []common.Address)
- func (s *Service) GetRecipientsAsync(requestID int32, offset int, limit int) bool
- func (s *Service) GetTxDetails(ctx context.Context, id string) (*EntryDetails, error)
- func (s *Service) Stop()
- type Status
- type Token
- type TokenType
- type TransferType
- type Type
Constants ¶
View Source
const ( // FilterResponse json is sent as a message in the EventActivityFilteringDone event EventActivityFilteringDone walletevent.EventType = "wallet-activity-filtering-done" EventActivityFilteringUpdate walletevent.EventType = "wallet-activity-filtering-entries-updated" EventActivityGetRecipientsDone walletevent.EventType = "wallet-activity-get-recipients-result" EventActivityGetOldestTimestampDone walletevent.EventType = "wallet-activity-get-oldest-timestamp-result" )
View Source
const NoLimitTimestampForPeriod = 0
Variables ¶
View Source
var (
ZeroAddress = eth.Address{}
)
Functions ¶
func GetOldestTimestamp ¶ added in v0.159.6
Types ¶
type Entry ¶
type Entry struct {
// contains filtered or unexported fields
}
func (*Entry) MarshalJSON ¶
func (*Entry) PayloadType ¶ added in v0.152.2
func (e *Entry) PayloadType() PayloadType
func (*Entry) UnmarshalJSON ¶
type EntryData ¶ added in v0.166.7
type EntryData struct { PayloadType PayloadType `json:"payloadType"` Transaction *transfer.TransactionIdentity `json:"transaction,omitempty"` ID *transfer.MultiTransactionIDType `json:"id,omitempty"` Timestamp *int64 `json:"timestamp,omitempty"` ActivityType *Type `json:"activityType,omitempty"` ActivityStatus *Status `json:"activityStatus,omitempty"` AmountOut *hexutil.Big `json:"amountOut,omitempty"` AmountIn *hexutil.Big `json:"amountIn,omitempty"` TokenOut *Token `json:"tokenOut,omitempty"` TokenIn *Token `json:"tokenIn,omitempty"` SymbolOut *string `json:"symbolOut,omitempty"` SymbolIn *string `json:"symbolIn,omitempty"` Sender *eth.Address `json:"sender,omitempty"` Recipient *eth.Address `json:"recipient,omitempty"` ChainIDOut *common.ChainID `json:"chainIdOut,omitempty"` ChainIDIn *common.ChainID `json:"chainIdIn,omitempty"` TransferType *TransferType `json:"transferType,omitempty"` ContractAddress *eth.Address `json:"contractAddress,omitempty"` NftName *string `json:"nftName,omitempty"` NftURL *string `json:"nftUrl,omitempty"` }
type EntryDetails ¶ added in v0.166.1
type EntryDetails struct { ID string `json:"id"` MultiTxID int `json:"multiTxId"` Nonce uint64 `json:"nonce"` BlockNumber int64 `json:"blockNumber"` Input string `json:"input"` ProtocolType *ProtocolType `json:"protocolType,omitempty"` Hash *eth.Hash `json:"hash,omitempty"` Contract *eth.Address `json:"contractAddress,omitempty"` MaxFeePerGas *hexutil.Big `json:"maxFeePerGas"` GasLimit hexutil.Uint64 `json:"gasLimit"` TotalFees *hexutil.Big `json:"totalFees,omitempty"` }
type Filter ¶
type Filter struct { Period Period `json:"period"` Types []Type `json:"types"` Statuses []Status `json:"statuses"` CounterpartyAddresses []eth.Address `json:"counterpartyAddresses"` // Tokens Assets []Token `json:"assets"` Collectibles []Token `json:"collectibles"` FilterOutAssets bool `json:"filterOutAssets"` FilterOutCollectibles bool `json:"filterOutCollectibles"` }
type FilterDependencies ¶ added in v0.159.2
type FilterDependencies struct {
// contains filtered or unexported fields
}
type FilterResponse ¶ added in v0.158.0
type GetOldestTimestampResponse ¶ added in v0.161.2
type GetRecipientsResponse ¶ added in v0.161.2
type PayloadType ¶
type PayloadType = int
const ( MultiTransactionPT PayloadType = iota + 1 SimpleTransactionPT PendingTransactionPT )
Beware: please update multiTransactionTypeToActivityType if changing this enum
type ProtocolType ¶ added in v0.166.1
type ProtocolType = int
const ( ProtocolHop ProtocolType = iota + 1 ProtocolUniswap )
type Service ¶ added in v0.158.0
type Service struct {
// contains filtered or unexported fields
}
func NewService ¶ added in v0.158.0
func NewService(db *sql.DB, tokenManager token.ManagerInterface, collectibles collectibles.ManagerInterface, eventFeed *event.Feed, accountsDb *accounts.Database) *Service
func (*Service) FilterActivityAsync ¶ added in v0.158.0
func (s *Service) FilterActivityAsync(requestID int32, addresses []common.Address, chainIDs []w_common.ChainID, filter Filter, offset int, limit int)
FilterActivityAsync allows only one filter task to run at a time and it cancels the current one if a new one is started All calls will trigger an EventActivityFilteringDone event with the result of the filtering
func (*Service) GetMultiTxDetails ¶ added in v0.166.1
func (*Service) GetOldestTimestampAsync ¶ added in v0.161.2
func (*Service) GetRecipientsAsync ¶ added in v0.161.2
GetRecipientsAsync returns true if a task is already running or scheduled due to a previous call; meaning that this call won't receive an answer but client should rely on the answer from the previous call. If no task is already scheduled false will be returned
func (*Service) GetTxDetails ¶ added in v0.166.1
type Token ¶ added in v0.159.2
type Token struct { TokenType TokenType `json:"tokenType"` // ChainID is used for TokenType.Native only to lookup the symbol, all chains will be included in the token filter ChainID common.ChainID `json:"chainId"` Address eth.Address `json:"address,omitempty"` TokenID *hexutil.Big `json:"tokenId,omitempty"` }
Token supports all tokens. Some fields might be optional, depending on the TokenType
type TransferType ¶ added in v0.162.9
type TransferType = int
const ( TransferTypeEth TransferType = iota + 1 TransferTypeErc20 TransferTypeErc721 TransferTypeErc1155 )
Click to show internal directories.
Click to hide internal directories.