@celo/contractkit"wrappers/SortedOracles"SortedOraclesWrapper

Class: SortedOraclesWrapper

Currency price oracle contract.

Hierarchy

SortedOraclesWrapper

Index

Constructors

Properties

Accessors

Methods

Constructors

constructor

+ new SortedOraclesWrapper(kit: ContractKit, contract: SortedOracles): SortedOraclesWrapper

Inherited from BaseWrapper.constructor

Defined in packages/sdk/contractkit/src/wrappers/BaseWrapper.ts:30

Parameters:

Name Type
kit ContractKit
contract SortedOracles

Returns: SortedOraclesWrapper

Properties

eventTypes

eventTypes: EventsEnum‹T› = Object.keys(this.events).reduce>( (acc, key) => ({ ...acc, [key]: key }), {} as any )

Inherited from BaseWrapper.eventTypes

Defined in packages/sdk/contractkit/src/wrappers/BaseWrapper.ts:61


events

events: SortedOracles["events"] = this.contract.events

Inherited from BaseWrapper.events

Defined in packages/sdk/contractkit/src/wrappers/BaseWrapper.ts:59


methodIds

methodIds: Record‹keyof T["methods"], string› = Object.keys(this.contract.methods).reduce, string>>( (acc, method: Methods) => { const methodABI = this.contract.options.jsonInterface.find((item) => item.name === method)

  acc[method] =
    methodABI === undefined
      ? '0x'
      : this.kit.connection.getAbiCoder().encodeFunctionSignature(methodABI)

  return acc
},
{} as any

)

Inherited from BaseWrapper.methodIds

Defined in packages/sdk/contractkit/src/wrappers/BaseWrapper.ts:66


reportExpirySeconds

reportExpirySeconds: function = proxyCall( this.contract.methods.reportExpirySeconds, undefined, valueToBigNumber )

Defined in packages/sdk/contractkit/src/wrappers/SortedOracles.ts:107

Returns the report expiry parameter.

returns Current report expiry.

Type declaration:

▸ (...args: InputArgs): Promise‹Output›

Parameters:

Name Type
...args InputArgs

Accessors

address

get address(): string

Inherited from BaseWrapper.address

Defined in packages/sdk/contractkit/src/wrappers/BaseWrapper.ts:35

Contract address

Returns: string

Methods

getConfig

getConfig(): Promise‹SortedOraclesConfig

Defined in packages/sdk/contractkit/src/wrappers/SortedOracles.ts:198

Returns current configuration parameters.

Returns: Promise‹SortedOraclesConfig


getHumanReadableConfig

getHumanReadableConfig(): Promise‹object›

Defined in packages/sdk/contractkit/src/wrappers/SortedOracles.ts:208

dev Returns human readable configuration of the sortedoracles contract

Returns: Promise‹object›

SortedOraclesConfig object


getOracles

getOracles(target: ReportTarget): Promise‹Address[]›

Defined in packages/sdk/contractkit/src/wrappers/SortedOracles.ts:98

Returns the list of whitelisted oracles for a given target

Parameters:

Name Type Description
target ReportTarget The ReportTarget, either CeloToken or currency pair

Returns: Promise‹Address[]›

The list of whitelisted oracles for a given token.


getPastEvents

getPastEvents(event: Events‹SortedOracles›, options: PastEventOptions): Promise‹EventLog[]›

Inherited from BaseWrapper.getPastEvents

Defined in packages/sdk/contractkit/src/wrappers/BaseWrapper.ts:55

Contract getPastEvents

Parameters:

Name Type
event Events‹SortedOracles›
options PastEventOptions

Returns: Promise‹EventLog[]›


getRates

getRates(target: ReportTarget): Promise‹OracleRate[]›

Defined in packages/sdk/contractkit/src/wrappers/SortedOracles.ts:226

Gets all elements from the doubly linked list.

Parameters:

Name Type Description
target ReportTarget The ReportTarget, either CeloToken or currency pair in question

Returns: Promise‹OracleRate[]›

An unpacked list of elements from largest to smallest.


getReports

getReports(target: ReportTarget): Promise‹OracleReport[]›

Defined in packages/sdk/contractkit/src/wrappers/SortedOracles.ts:261

Parameters:

Name Type
target ReportTarget

Returns: Promise‹OracleReport[]›


getStableTokenRates

getStableTokenRates(): Promise‹OracleRate[]›

Defined in packages/sdk/contractkit/src/wrappers/SortedOracles.ts:219

Helper function to get the rates for StableToken, by passing the address of StableToken to getRates.

Returns: Promise‹OracleRate[]›


getTimestamps

getTimestamps(target: ReportTarget): Promise‹OracleTimestamp[]›

Defined in packages/sdk/contractkit/src/wrappers/SortedOracles.ts:246

Gets all elements from the doubly linked list.

Parameters:

Name Type Description
target ReportTarget The ReportTarget, either CeloToken or currency pair in question

Returns: Promise‹OracleTimestamp[]›

An unpacked list of elements from largest to smallest.


getTokenReportExpirySeconds

getTokenReportExpirySeconds(target: ReportTarget): Promise‹BigNumber›

Defined in packages/sdk/contractkit/src/wrappers/SortedOracles.ts:118

Returns the expiry for the target if exists, if not the default.

Parameters:

Name Type Description
target ReportTarget The ReportTarget, either CeloToken or currency pair

Returns: Promise‹BigNumber›

The report expiry in seconds.


isOldestReportExpired

isOldestReportExpired(target: ReportTarget): Promise‹[boolean, Address]›

Defined in packages/sdk/contractkit/src/wrappers/SortedOracles.ts:128

Checks if the oldest report for a given target is expired

Parameters:

Name Type Description
target ReportTarget The ReportTarget, either CeloToken or currency pair

Returns: Promise‹[boolean, Address]›


isOracle

isOracle(target: ReportTarget, oracle: Address): Promise‹boolean›

Defined in packages/sdk/contractkit/src/wrappers/SortedOracles.ts:88

Checks if the given address is whitelisted as an oracle for the target

Parameters:

Name Type Description
target ReportTarget The ReportTarget, either CeloToken or currency pair
oracle Address The address that we're checking the oracle status of

Returns: Promise‹boolean›

boolean describing whether this account is an oracle


medianRate

medianRate(target: ReportTarget): Promise‹MedianRate

Defined in packages/sdk/contractkit/src/wrappers/SortedOracles.ts:74

Returns the median rate for the given target

Parameters:

Name Type Description
target ReportTarget The ReportTarget, either CeloToken or currency pair

Returns: Promise‹MedianRate

The median exchange rate for token, expressed as: amount of that token / equivalent amount in CELO


numRates

numRates(target: ReportTarget): Promise‹number›

Defined in packages/sdk/contractkit/src/wrappers/SortedOracles.ts:62

Gets the number of rates that have been reported for the given target

Parameters:

Name Type Description
target ReportTarget The ReportTarget, either CeloToken or currency pair

Returns: Promise‹number›

The number of reported oracle rates for token.


removeExpiredReports

removeExpiredReports(target: ReportTarget, numReports?: undefined | number): Promise‹CeloTransactionObject‹void››

Defined in packages/sdk/contractkit/src/wrappers/SortedOracles.ts:141

Removes expired reports, if any exist

Parameters:

Name Type Description
target ReportTarget The ReportTarget, either CeloToken or currency pair
numReports? undefined | number The upper-limit of reports to remove. For example, if there are 2 expired reports, and this param is 5, it will only remove the 2 that are expired.

Returns: Promise‹CeloTransactionObject‹void››


report

report(target: ReportTarget, value: BigNumber.Value, oracleAddress: Address): Promise‹CeloTransactionObject‹void››

Defined in packages/sdk/contractkit/src/wrappers/SortedOracles.ts:160

Updates an oracle value and the median.

Parameters:

Name Type Description
target ReportTarget The ReportTarget, either CeloToken or currency pair
value BigNumber.Value The amount of token equal to one CELO.
oracleAddress Address -

Returns: Promise‹CeloTransactionObject‹void››


reportStableToken

reportStableToken(value: BigNumber.Value, oracleAddress: Address, token: StableToken): Promise‹CeloTransactionObject‹void››

Defined in packages/sdk/contractkit/src/wrappers/SortedOracles.ts:187

Updates an oracle value and the median.

Parameters:

Name Type Default Description
value BigNumber.Value - The amount of US Dollars equal to one CELO.
oracleAddress Address - The address to report as
token StableToken StableToken.cUSD The token to report for

Returns: Promise‹CeloTransactionObject‹void››


version

version(): Promise‹NonNullable‹T["methods"] extends object ? ContractVersion<> : never››

Inherited from BaseWrapper.version

Defined in packages/sdk/contractkit/src/wrappers/BaseWrapper.ts:39

Returns: Promise‹NonNullable‹T["methods"] extends object ? ContractVersion<> : never››