Class: Arc

January 17, 2020 · View on GitHub

@daostack/clientGlobalsArc

Class: Arc

The Arc class holds all configuration. Any useage of the library typically will start with instantiating a new Arc instance

returns an instance of Arc

Hierarchy

Index

Constructors

Properties

Methods

Constructors

constructor

+ new Arc(options: object): Arc

Overrides GraphNodeObserver.constructor

Defined in arc.ts:51

Parameters:

options: object

NameTypeDescription
contractInfos?IContractInfo[]Information about the contracts. Cf. setContractInfos and fetchContractInfos
graphqlHttpProvider?undefined | string-
graphqlPrefetchHook?undefined | functionthis function will be called before a query is sent to the graphql provider
graphqlSubscribeToQueries?undefined | false | truedetermines whether a query should subscribe to updates from the graphProvider. Default is true.
graphqlWsProvider?undefined | string-
ipfsProvider?IPFSProvider-
web3Provider?undefined | string-
web3ProviderRead?undefined | string-

Returns: Arc

Properties

Logger

Logger: GlobalLogger = Logger

Inherited from GraphNodeObserver.Logger

Defined in graphnode.ts:117


Optional apolloClient

apolloClient? : ApolloClient‹object›

Inherited from GraphNodeObserver.apolloClient

Defined in graphnode.ts:118


blockHeaderSubscription

blockHeaderSubscription: Subscription | undefined = undefined

Defined in arc.ts:44


contractInfos

contractInfos: IContractInfo[]

Defined in arc.ts:39

a mapping of contrct names to contract addresses


contracts

contracts: object

Defined in arc.ts:40

Type declaration:

  • [ key: string]: any

contractsR

contractsR: object

Defined in arc.ts:41

Type declaration:

  • [ key: string]: any

Optional graphqlHttpProvider

graphqlHttpProvider? : undefined | string

Inherited from GraphNodeObserver.graphqlHttpProvider

Defined in graphnode.ts:115


Optional graphqlSubscribeToQueries

graphqlSubscribeToQueries? : undefined | false | true

Inherited from GraphNodeObserver.graphqlSubscribeToQueries

Defined in graphnode.ts:119


Optional graphqlWsProvider

graphqlWsProvider? : undefined | string

Inherited from GraphNodeObserver.graphqlWsProvider

Defined in graphnode.ts:116


ipfs

ipfs: any

Defined in arc.ts:33


ipfsProvider

ipfsProvider: IPFSProvider

Defined in arc.ts:29


observedAccounts

observedAccounts: object

Defined in arc.ts:45

Type declaration:

  • [ address: string]: object

  • lastBalance? : undefined | string

  • observable? : Observable‹BN›

  • observer? : Observer‹BN›

  • subscriptionsCount: number


pendingOperations

pendingOperations: Observable‹Array‹Operation‹any››› = of()

Defined in arc.ts:31


web3

web3: any

Defined in arc.ts:34


web3Provider

web3Provider: Web3Provider = ""

Defined in arc.ts:27


web3ProviderRead

web3ProviderRead: Web3Provider = ""

Defined in arc.ts:28


web3Read

web3Read: any

Defined in arc.ts:35

Methods

GENToken

GENToken(): Token‹›

Defined in arc.ts:341

get the GEN Token

Returns: Token‹›

a Token instance


allowance

allowance(owner: Address, spender: Address): Observable‹BN›

Defined in arc.ts:402

How much GEN spender may spend on behalve of the owner

Parameters:

NameTypeDescription
ownerAddressAddress of the owner of the tokens
spenderAddressAddress of the spender

Returns: Observable‹BN›


approveForStaking

approveForStaking(spender: Address, amount: BN): IOperationObservableITransactionUpdate‹any››

Defined in arc.ts:392

Parameters:

NameType
spenderAddress
amountBN

Returns: IOperationObservableITransactionUpdate‹any››


dao

dao(address: Address): DAO

Defined in arc.ts:134

get a DAO instance from an address

Parameters:

NameTypeDescription
addressAddressaddress of the dao Avatar

Returns: DAO

an instance of a DAO


daos

daos(options: IDAOQueryOptions, apolloQueryOptions: IApolloQueryOptions): Observable‹DAO[]›

Defined in arc.ts:144

return an observable of the list of DAOs

Parameters:

NameTypeDefaultDescription
optionsIDAOQueryOptions{}options to pass on to the query
apolloQueryOptionsIApolloQueryOptions{}-

Returns: Observable‹DAO[]›


ethBalance

ethBalance(owner: Address): Observable‹BN›

Defined in arc.ts:180

Parameters:

NameType
ownerAddress

Returns: Observable‹BN›


events

events(options: IEventQueryOptions, apolloQueryOptions: IApolloQueryOptions): Observable‹Event[]›

Defined in arc.ts:173

Parameters:

NameTypeDefault
optionsIEventQueryOptions{}
apolloQueryOptionsIApolloQueryOptions{}

Returns: Observable‹Event[]›


fetchContractInfos

fetchContractInfos(apolloQueryOptions: IApolloQueryOptions): Promise‹IContractInfo[]›

Defined in arc.ts:113

fetch contractInfos from the subgraph

Parameters:

NameTypeDefault
apolloQueryOptionsIApolloQueryOptions{}

Returns: Promise‹IContractInfo[]›

a list of IContractInfo instances


getABI

getABI(address?: Address, abiName?: undefined | string, version?: undefined | string): any

Defined in arc.ts:284

Parameters:

NameType
address?Address
abiName?undefined | string
version?undefined | string

Returns: any


getAccount

getAccount(): Observable‹Address

Defined in arc.ts:354

Returns: Observable‹Address


getContract

getContract(address: Address, abi?: any, mode?: undefined | "readonly"): any

Defined in arc.ts:313

return a web3 Contract instance.

Parameters:

NameTypeDescription
addressAddressaddress of the contract to look up in self.contractInfos
abi?any-
mode?undefined | "readonly"-

Returns: any

a web3 contract instance


getContractInfo

getContractInfo(address: Address): IContractInfo

Defined in arc.ts:259

return information about the contract

Parameters:

NameType
addressAddress

Returns: IContractInfo

an IContractInfo instance


getContractInfoByName

getContractInfoByName(name: string, version: string): IContractInfo

Defined in arc.ts:272

Parameters:

NameType
namestring
versionstring

Returns: IContractInfo


getObservable

getObservable(query: any, apolloQueryOptions: IApolloQueryOptions): any

Inherited from GraphNodeObserver.getObservable

Defined in graphnode.ts:145

Given a gql query, will return an observable of query results

Parameters:

NameTypeDefaultDescription
queryany-a gql query object to execute
apolloQueryOptionsIApolloQueryOptions{}options to pass on to Apollo, cf ..

Returns: any

an Observable that will first yield the current result, and yields updates every time the data changes


getObservableList

getObservableList(query: any, itemMap: function, apolloQueryOptions: IApolloQueryOptions): any

Inherited from GraphNodeObserver.getObservableList

Defined in graphnode.ts:246

Returns an observable that:

  • sends a query over http and returns the current list of results
  • subscribes over a websocket to changes, and returns the updated list.

example:

   const query = gql`
   {
     daos {
       id
       address
     }
   }`
   getObservableList(query, (r:any) => new DAO(r.address))

Parameters:

query: any

The query to be run

Default value itemMap: function= (o) => o

(optional) a function that takes elements of the list and creates new objects

▸ (o: object): object | null

Parameters:

NameType
oobject

Default value apolloQueryOptions: IApolloQueryOptions= {}

Returns: any

an Observable


getObservableListWithFilter

getObservableListWithFilter(query: any, itemMap: function, filterFunc: function, apolloQueryOptions: IApolloQueryOptions): any

Inherited from GraphNodeObserver.getObservableListWithFilter

Defined in graphnode.ts:285

Returns an observable that:

  • sends a query over http and returns the current list of results
  • subscribes over a websocket to changes, and returns the updated list example: const query = gql { daos { id address } } getObservableList(query, (r:any) => new DAO(r.address), filter((r:any) => r.address === "0x1234..."))

Parameters:

query: any

The query to be run

Default value itemMap: function= (o) => o

(optional) a function that takes elements of the list and creates new objects

▸ (o: object): object | null

Parameters:

NameType
oobject

filterFunc: function

▸ (o: object): boolean

Parameters:

NameType
oobject

Default value apolloQueryOptions: IApolloQueryOptions= {}

Returns: any


getObservableObject

getObservableObject(query: any, itemMap: function, apolloQueryOptions: IApolloQueryOptions): any

Inherited from GraphNodeObserver.getObservableObject

Defined in graphnode.ts:302

Parameters:

query: any

Default value itemMap: function= (o) => o

▸ (o: object): object | null

Parameters:

NameType
oobject

Default value apolloQueryOptions: IApolloQueryOptions= {}

Returns: any


proposal

proposal(id: string): Proposal

Defined in arc.ts:163

Parameters:

NameType
idstring

Returns: Proposal


proposals

proposals(options: IProposalQueryOptions, apolloQueryOptions: IApolloQueryOptions): Observable‹Proposal[]›

Defined in arc.ts:167

Parameters:

NameTypeDefault
optionsIProposalQueryOptions{}
apolloQueryOptionsIApolloQueryOptions{}

Returns: Observable‹Proposal[]›


saveIPFSData

saveIPFSData(options: object): Promise‹string›

Defined in arc.ts:427

save data of a proposal to IPFS, return the IPFS hash

Parameters:

options: object

an Object to save. This object must have title, url and desction defined

NameType
description?undefined | string
tags?string[]
title?undefined | string
url?undefined | string

Returns: Promise‹string›

a Promise that resolves in the IPFS Hash where the file is saved


scheme

scheme(id: string): Scheme

Defined in arc.ts:152

Parameters:

NameType
idstring

Returns: Scheme


schemes

schemes(options: ISchemeQueryOptions, apolloQueryOptions: IApolloQueryOptions): Observable‹Scheme[]›

Defined in arc.ts:156

Parameters:

NameTypeDefault
optionsISchemeQueryOptions{}
apolloQueryOptionsIApolloQueryOptions{}

Returns: Observable‹Scheme[]›


sendQuery

sendQuery(query: any, apolloQueryOptions: IApolloQueryOptions): Promise‹object›

Inherited from GraphNodeObserver.sendQuery

Defined in graphnode.ts:322

Parameters:

NameTypeDefault
queryany-
apolloQueryOptionsIApolloQueryOptions{}

Returns: Promise‹object›


sendTransaction

sendTransaction<T>(transaction: any, mapToObject: function, errorHandler?: undefined | function): Operation‹T›

Defined in arc.ts:413

send an Ethereum transaction

Type parameters:

T

Parameters:

transaction: any

mapToObject: function

▸ (receipt: web3receipt): T

Parameters:

NameType
receiptweb3receipt

Optional errorHandler: undefined | function

Returns: Operation‹T›

An observable of


setAccount

setAccount(address: Address): void

Defined in arc.ts:388

Parameters:

NameType
addressAddress

Returns: void


setContractInfos

setContractInfos(contractInfos: IContractInfo[]): Promise‹void›

Defined in arc.ts:102

set the contract addresses

Parameters:

NameTypeDescription
contractInfosIContractInfo[]a list of IContractInfo objects

Returns: Promise‹void›


tags

tags(options: ITagQueryOptions, apolloQueryOptions: IApolloQueryOptions): Observable‹Tag[]›

Defined in arc.ts:148

Parameters:

NameTypeDefault
optionsITagQueryOptions{}
apolloQueryOptionsIApolloQueryOptions{}

Returns: Observable‹Tag[]›