1
0
mirror of https://github.com/oceanprotocol/ocean.js.git synced 2024-11-26 20:39:05 +01:00

speed up previous order (#599)

This commit is contained in:
Alex Coseru 2021-02-10 19:35:23 +02:00 committed by GitHub
parent 8cc1ef3e37
commit 8021cce5cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 3 deletions

View File

@ -19,6 +19,7 @@ export class DataTokens {
public datatokensABI: AbiItem | AbiItem[]
public web3: Web3
private logger: Logger
public startBlock: number
/**
* Instantiate DataTokens (independently of Ocean).
* @param {String} factoryAddress
@ -31,13 +32,15 @@ export class DataTokens {
factoryABI: AbiItem | AbiItem[],
datatokensABI: AbiItem | AbiItem[],
web3: Web3,
logger: Logger
logger: Logger,
startBlock?: number
) {
this.factoryAddress = factoryAddress
this.factoryABI = factoryABI || (defaultFactoryABI.abi as AbiItem[])
this.datatokensABI = datatokensABI || (defaultDatatokensABI.abi as AbiItem[])
this.web3 = web3
this.logger = logger
this.startBlock = startBlock || 0
}
/**
@ -469,9 +472,17 @@ export class DataTokens {
const datatoken = new this.web3.eth.Contract(this.datatokensABI, dataTokenAddress, {
from: address
})
let fromBlock
if (timeout > 0) {
const lastBlock = await this.web3.eth.getBlockNumber()
fromBlock = lastBlock - timeout
if (fromBlock < this.startBlock) fromBlock = this.startBlock
} else {
fromBlock = this.startBlock
}
const events = await datatoken.getPastEvents('OrderStarted', {
filter: { consumer: address },
fromBlock: 0,
fromBlock,
toBlock: 'latest'
})
for (let i = 0; i < events.length; i++) {

View File

@ -51,7 +51,8 @@ export class Ocean extends Instantiable {
instanceConfig.config.factoryABI,
instanceConfig.config.datatokensABI,
instanceConfig.config.web3Provider,
instanceConfig.logger
instanceConfig.logger,
instanceConfig.config.startBlock
)
instance.pool = new OceanPool(
instanceConfig.config.web3Provider,