Name
Last commit
Last update
..
src Loading commit data...
.gitignore Loading commit data...
.prettierignore Loading commit data...
.prettierrc.cjs Loading commit data...
CHANGELOG.md Loading commit data...
CODE_GEN.md Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
abis.json Loading commit data...
addresses.json Loading commit data...
example.env Loading commit data...
package.json Loading commit data...
setupVitest.ts Loading commit data...
tsconfig.json Loading commit data...
tsup.config.ts Loading commit data...
vite.config.ts Loading commit data...
wagmi.config.ts Loading commit data...

Contracts TS

codecov

ABI and Address constants + generated code from @eth-optimism/contracts-bedrock/ for use in TypeScript.

Much of this package is generated. See CODE_GEN.md for instructions on how to generate.

@eth-optimism/contracts-ts

The main entrypoint exports constants related to contracts bedrock as const. As const allows it to be used in TypeScript with stronger typing than importing JSON.

  • Exports contract abis.
  • Exports contract addresses
import {
  l2OutputOracleProxyABI,
  l2OutputOracleAddresses,
} from '@eth-optimism/contracts-ts'

console.log(l2OutputOracleAddresses[10], abi)

Addresses are also exported as an object for convenience.

import { addresses } from '@eth-optimism/contracts-ts'

console.log(addresses.l2OutputOracle[10])

@eth-optimism/contracts-ts/react

import { useAddressManagerAddress } from '@eth-optimism/contracts-ts/react'

const component = () => {
  const { data, error, loading } = useAddressManagerAddress()
  if (loading) {
    return <div>Loading</div>
  }
  if (err) {
    return <div>Error</div>
  }
  return <div>{data}</div>
}

@eth-optimism/contracts-ts/actions

import { readSystemConfig } from '@eth-optimism/contracts-ts/actions'
console.log(await readSystemConfig())

See Also