HttpMetaMaskDataAccess

@requestnetwork/request-client.jsGlobals"http-metamask-data-access"HttpMetaMaskDataAccess

Exposes a Data-Access module over HTTP

Hierarchy

Implements

  • IDataAccess

Index

Constructors

Properties

Methods

Constructors

constructor

+ new HttpMetaMaskDataAccess(__namedParameters: object): HttpMetaMaskDataAccess

Overrides HttpDataAccess.constructor

Defined in request-client.js/src/http-metamask-data-access.ts:32

Creates an instance of HttpDataAccess.

Parameters:

Default value __namedParameters: object= { nodeConnectionConfig: {}, }

NameTypeDescription
ethereumProviderUrlundefined | string-
nodeConnectionConfigundefined | AxiosRequestConfigConfiguration options to connect to the node. Follows Axios configuration format.
web3any-

Returns: HttpMetaMaskDataAccess

Properties

Protected axiosConfig

axiosConfig: AxiosRequestConfig

Inherited from HttpDataAccess.axiosConfig

Defined in request-client.js/src/http-data-access.ts:31

Configuration that will be sent to axios for each request. We can also create a AxiosInstance with axios.create() but it dramatically complicates testing.


cache

cache: object

Defined in request-client.js/src/http-metamask-data-access.ts:24

Cache block persisted directly (in case the node did not have the time to retrieve it) (public for easier testing)

Type declaration:

  • [ channelId: string]: object

  • [ ipfsHash: string]: object | null


Private networkName

networkName: string = ""

Defined in request-client.js/src/http-metamask-data-access.ts:32


Private provider

provider: JsonRpcProvider | Web3Provider

Defined in request-client.js/src/http-metamask-data-access.ts:31


Private submitterContract

submitterContract: Contract | undefined

Defined in request-client.js/src/http-metamask-data-access.ts:30

Methods

_getStatus

_getStatus(detailed?: undefined | false | true): Promise‹any›

Inherited from HttpDataAccess._getStatus

Defined in request-client.js/src/http-data-access.ts:213

Gets information from the node (version, files etc...)

Parameters:

NameTypeDescription
detailed?undefined | false | trueif true get the list of files hashes

Returns: Promise‹any›


getCachedTransactionsAndCleanCache

getCachedTransactionsAndCleanCache(channelId: string, storageLocationFromNode: string[], timestampBoundaries?: DataAccessTypes.ITimestampBoundaries): IReturnGetTransactions

Defined in request-client.js/src/http-metamask-data-access.ts:229

Gets the cached transactions and remove the ones that have been retrieved from the node (public for easier testing)

Parameters:

NameTypeDescription
channelIdstringThe channel id to search for
storageLocationFromNodestring[]location retrieved from the node
timestampBoundaries?DataAccessTypes.ITimestampBoundariesfilter timestamp boundaries

Returns: IReturnGetTransactions


getChannelsByMultipleTopics

getChannelsByMultipleTopics(topics: string[], updatedBetween?: DataAccessTypes.ITimestampBoundaries): Promise‹IReturnGetChannelsByTopic›

Inherited from HttpDataAccess.getChannelsByMultipleTopics

Defined in request-client.js/src/http-data-access.ts:187

Gets all the transactions of channel indexed by multiple topics from the node through HTTP.

Parameters:

NameTypeDescription
topicsstring[]topics to search for
updatedBetween?DataAccessTypes.ITimestampBoundariesfilter timestamp boundaries

Returns: Promise‹IReturnGetChannelsByTopic›


getChannelsByTopic

getChannelsByTopic(topic: string, updatedBetween?: DataAccessTypes.ITimestampBoundaries): Promise‹IReturnGetChannelsByTopic›

Inherited from HttpDataAccess.getChannelsByTopic

Defined in request-client.js/src/http-data-access.ts:160

Gets all the transactions of channel indexed by topic from the node through HTTP.

Parameters:

NameTypeDescription
topicstringtopic to search for
updatedBetween?DataAccessTypes.ITimestampBoundariesfilter timestamp boundaries

Returns: Promise‹IReturnGetChannelsByTopic›


getTransactionsByChannelId

getTransactionsByChannelId(channelId: string, timestampBoundaries?: DataAccessTypes.ITimestampBoundaries): Promise‹IReturnGetTransactions›

Overrides HttpDataAccess.getTransactionsByChannelId

Defined in request-client.js/src/http-metamask-data-access.ts:182

Gets the transactions for a channel from the node through HTTP.

Parameters:

NameTypeDescription
channelIdstringThe channel id to search for
timestampBoundaries?DataAccessTypes.ITimestampBoundariesfilter timestamp boundaries

Returns: Promise‹IReturnGetTransactions›


initialize

initialize(): Promise‹void›

Overrides HttpDataAccess.initialize

Defined in request-client.js/src/http-metamask-data-access.ts:66

Initialize the module. Does nothing, exists only to implement IDataAccess

Returns: Promise‹void›

nothing


persistTransaction

persistTransaction(transactionData: ITransaction, channelId: string, topics?: string[]): Promise‹IReturnPersistTransaction›

Overrides HttpDataAccess.persistTransaction

Defined in request-client.js/src/http-metamask-data-access.ts:77

Persists a new transaction using the node only for IPFS but persisting on ethereum through local provider

Parameters:

NameTypeDescription
transactionDataITransactionThe transaction data
channelIdstring-
topics?string[]The topics used to index the transaction

Returns: Promise‹IReturnPersistTransaction›