@metis.io/core-utils
TypeScript icon, indicating that this package has built-in type declarations

0.6.1 • Public • Published

codecov

@eth-optimism/core-utils

What is this?

@eth-optimism/core-utils contains the Optimistic Virtual Machine core utilities.

Getting started

Building and usage

After cloning and switching to the repository, install dependencies:

$ yarn

Use the following commands to build, use, test, and lint:

$ yarn build
$ yarn start
$ yarn test
$ yarn lint

L2 Fees

TxGasLimit can be used to encode and decode the L2 Gas Limit locally.

import { TxGasLimit } from '@eth-optimism/core-utils'
import { JsonRpcProvider } from 'ethers'

const L2Provider = new JsonRpcProvider('https://mainnet.optimism.io')
const L1Provider = new JsonRpcProvider('http://127.0.0.1:8545')

const l2GasLimit = await L2Provider.send('eth_estimateExecutionGas', [tx])
const l1GasPrice = await L1Provider.getGasPrice()

const encoded = TxGasLimit.encode({
  data: '0x',
  l1GasPrice,
  l2GasLimit,
  l2GasPrice: 10000000,
})

const decoded = TxGasLimit.decode(encoded)
assert(decoded.eq(gasLimit))

const estimate = await L2Provider.estimateGas()
assert(estimate.eq(encoded))

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.6.1
    1
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.6.1
    1

Package Sidebar

Install

npm i @metis.io/core-utils

Weekly Downloads

0

Version

0.6.1

License

MIT

Unpacked Size

70.4 kB

Total Files

54

Last publish

Collaborators

  • metisiodev
  • metisio
  • xjfhnsd