Finance app
This is an app connector for the Finance app (finance.aragonpm.eth
). It only supports The Graph for now.
Usage
To connect a Finance app, you need to pass it to connectFinance()
:
It extends the App
object, which means that every method and property of App
is also available on this object.
connect(app, connector)
Connects and returns a Finance
instance.
app
App
or Promise<App>
The app to extend with connected capabilities.
connector
["thegraph", Object]
or "thegraph"
Accepts either a string describing the desired connector (only "thegraph"
for now), or a tuple to also pass a configuration object to the connector.
returns
Promise<Finance>
An Finance
instance (see below).
It can throw the following errors:
Either the passed value is not a valid app object, or its name is not finance
.
Either the connector configuration format is not valid, or the connector name is not supported.
A subgraph couldn’t be found with the current network. Pass a subgraphUrl
directly, or use one of the supported networks.
Finance
An object representing the Finance app, returned by connectFinance()
. Use the following API to retrieve its data:
Finance#transactions(filters)
Get the list of transactions in the Finance app.
filters
Object
Optional object allowing to filter the votes.
filters.first
Number
Maximum number of votes. Defaults to 1000
.
filters.skip
Number
Skip a number of votes. Defaults to 0
.
returns
Promise<Transaction[]>
The list of transactions.
This method can throw one of the following errors:
The response seems incorrect.
The connection to the remote source failed.
Finance#onTransactions(filters, callback)
Subscribe to the list of transactions in the Finance app. The callback is optional, not passing it will return a partially applied function.
filters
Object
Optional object allowing to filter the votes. See Finance#transactions()
for details.
callback
(error: Error, transactions: Transaction[]) => void
A callback that will get called every time the result gets updated.
returns
{ unsubscribe: () => void }
Unsubscribe function.
The error passed to callback
can be null
(no error) or one of the following:
The data couldn’t be fetched.
The connection to the remote source failed.
Finance#balance(tokenAddress, filters)
Get the balance of a token in the Finance app.
tokenAddress
String
The address of the token.
filters
Object
Optional object allowing to filter the votes.
filters.first
Number
Maximum number of votes. Defaults to 1000
.
filters.skip
Number
Skip a number of votes. Defaults to 0
.
returns
Promise<TokenBalance>
The balance of the token.
This method can throw one of the following errors:
The response seems incorrect.
The connection to the remote source failed.
Finance#onBalance(tokenAddress, filters, callback)
Subscribe to the balance of a token in the Finance app. The callback is optional, not passing it will return a partially applied function.
tokenAddress
String
The address of the token.
filters
Object
Optional object allowing to filter the votes. See Finance#balance()
for details.
callback
(error: Error, balance: TokenBalance) => void
A callback that will get called every time the result gets updated.
returns
{ unsubscribe: () => void }
Unsubscribe function.
The error passed to callback
can be null
(no error) or one of the following:
The data couldn’t be fetched.
The connection to the remote source failed.
TokenBalance
Represents the balance in a given token. It gets returned by Finance#balance()
for example.
id
String
Unique identifier representing this token balance.
token
Address
Address of the token contract.
balance
String
The actual balance.
Transaction
id
String
Unique identifier representing this transaction.
token
Address
Address of the token contract.
entity
Address
Recipient or sender for the transfer.
isIncoming
Boolean
Whether the transaction is incoming or outgoing.
amount
String
The amount of tokens transferred.
date
String
Date of the transfer, in Unix time.
reference
String
An optional reference attached to the transaction.
Last updated