@celo/contractkit › "wrappers/SortedOracles" › SortedOraclesWrapper
Class: SortedOraclesWrapper
Currency price oracle contract.
Hierarchy
- BaseWrapper‹SortedOracles›
↳ SortedOraclesWrapper
Index
Constructors
Properties
Accessors
Methods
- getConfig
- getHumanReadableConfig
- getOracles
- getPastEvents
- getRates
- getReports
- getStableTokenRates
- getTimestamps
- getTokenReportExpirySeconds
- isOldestReportExpired
- isOracle
- medianRate
- numRates
- removeExpiredReports
- report
- reportStableToken
- version
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
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
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››