Contracts TS
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