• Georgios Konstantopoulos's avatar
    Import contracts (#18) · 2ff18bb4
    Georgios Konstantopoulos authored
    * feat: add contracts
    
    * fix: configure tsconfig and replace build => dist
    
    * chore: remove CI files
    
    * chore: use monorepo tslint / prettier
    2ff18bb4
eth-time.ts 1013 Bytes
export const getEthTime = async (provider: any): Promise<number> => {
  return (await provider.getBlock('latest')).timestamp
}

export const setEthTime = async (
  provider: any,
  time: number
): Promise<void> => {
  await provider.send('evm_setNextBlockTimestamp', [time])
}

export const increaseEthTime = async (
  provider: any,
  amount: number
): Promise<void> => {
  await setEthTime(provider, (await getEthTime(provider)) + amount)
  await mineBlock(provider)
}

export const mineBlock = async (
  provider: any,
  timestamp?: number
): Promise<void> => {
  await provider.send('evm_mine', timestamp ? [timestamp] : [])
}

export const getBlockTime = async (
  provider: any,
  block?: number
): Promise<number> => {
  await mineBlock(provider)
  if (!!block) {
    block = await getNextBlockNumber(provider)
  }
  return (await provider.getBlock(block)).timestamp
}

export const getNextBlockNumber = async (provider: any): Promise<number> => {
  return (await provider.getBlock('latest')).number + 1
}