ecosystem

@eth-optimism/viemDocs


@eth-optimism/viem / chains / shape

shape

const shape: object

Chain Definition for Shape

Type declaration

blockExplorers

blockExplorers: object

Collection of block explorers

blockExplorers.default

readonly default: object

blockExplorers.default.name

readonly name: "Shape Explorer" = 'Shape Explorer'

blockExplorers.default.url

readonly url: "https://shape-mainnet.explorer.alchemy.com/" = 'https://shape-mainnet.explorer.alchemy.com/'

contracts

contracts: object

Collection of contracts

contracts.disputeGameFactory

readonly disputeGameFactory: object

contracts.disputeGameFactory.1

readonly 1: object

contracts.disputeGameFactory.1.address

readonly address: "0x575Aecd84083f93877291901907698F7db0Bd8b0" = '0x575Aecd84083f93877291901907698F7db0Bd8b0'

contracts.gasPriceOracle

readonly gasPriceOracle: object

contracts.gasPriceOracle.address

readonly address: "0x420000000000000000000000000000000000000F"

contracts.l1Block

readonly l1Block: object

contracts.l1Block.address

readonly address: "0x4200000000000000000000000000000000000015"

contracts.l1CrossDomainMessenger

readonly l1CrossDomainMessenger: object

contracts.l1CrossDomainMessenger.1

readonly 1: object

contracts.l1CrossDomainMessenger.1.address

readonly address: "0x2b18602877181C3cB72C687E2A771E123A3788E3" = '0x2b18602877181C3cB72C687E2A771E123A3788E3'

contracts.l1Erc721Bridge

readonly l1Erc721Bridge: object

contracts.l1Erc721Bridge.1

readonly 1: object

contracts.l1Erc721Bridge.1.address

readonly address: "0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af" = '0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af'

contracts.l1StandardBridge

readonly l1StandardBridge: object

contracts.l1StandardBridge.1

readonly 1: object

contracts.l1StandardBridge.1.address

readonly address: "0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B" = '0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B'

contracts.l2CrossDomainMessenger

readonly l2CrossDomainMessenger: object

contracts.l2CrossDomainMessenger.address

readonly address: "0x4200000000000000000000000000000000000007"

contracts.l2Erc721Bridge

readonly l2Erc721Bridge: object

contracts.l2Erc721Bridge.address

readonly address: "0x4200000000000000000000000000000000000014"

contracts.l2OutputOracle

readonly l2OutputOracle: object

contracts.l2OutputOracle.1

readonly 1: object

contracts.l2OutputOracle.1.address

readonly address: "0x6Ef8c69CfE4635d866e3E02732068022c06e724D" = '0x6Ef8c69CfE4635d866e3E02732068022c06e724D'

contracts.l2StandardBridge

readonly l2StandardBridge: object

contracts.l2StandardBridge.address

readonly address: "0x4200000000000000000000000000000000000010"

contracts.l2ToL1MessagePasser

readonly l2ToL1MessagePasser: object

contracts.l2ToL1MessagePasser.address

readonly address: "0x4200000000000000000000000000000000000016"

contracts.portal

readonly portal: object

contracts.portal.1

readonly 1: object

contracts.portal.1.address

readonly address: "0xEB06fFa16011B5628BaB98E29776361c83741dd3" = '0xEB06fFa16011B5628BaB98E29776361c83741dd3'

contracts.systemConfig

readonly systemConfig: object

contracts.systemConfig.1

readonly 1: object

contracts.systemConfig.1.address

readonly address: "0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355" = '0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355'

custom?

optional custom: Record<string, unknown>

Custom chain data.

fees?

optional fees: ChainFees<undefined>

Modifies how fees are derived.

formatters

readonly formatters: object

Modifies how data is formatted and typed (e.g. blocks and transactions)

formatters.block

readonly block: object

formatters.block.exclude

exclude: undefined | []

formatters.block.format()

format: (args) => object

Parameters

args: OpStackRpcBlock<BlockTag, boolean>

Returns

object

baseFeePerGas

baseFeePerGas: null | bigint

blobGasUsed

blobGasUsed: bigint

difficulty

difficulty: bigint

excessBlobGas

excessBlobGas: bigint

extraData

extraData: `0x${string}`

gasLimit

gasLimit: bigint

gasUsed

gasUsed: bigint

hash

hash: null | `0x${string}`

logsBloom

logsBloom: null | `0x${string}`

miner

miner: `0x${string}`

mixHash

mixHash: `0x${string}`

nonce

nonce: null | `0x${string}`

number

number: null | bigint

parentHash

parentHash: `0x${string}`

receiptsRoot

receiptsRoot: `0x${string}`

sealFields

sealFields: `0x${string}`[]

sha3Uncles

sha3Uncles: `0x${string}`

size

size: bigint

stateRoot

stateRoot: `0x${string}`

timestamp

timestamp: bigint

totalDifficulty

totalDifficulty: null | bigint

transactions

transactions: `0x${string}`[] | OpStackTransaction<boolean>[]

transactionsRoot

transactionsRoot: `0x${string}`

uncles

uncles: `0x${string}`[]

withdrawals?

optional withdrawals: Withdrawal[]

withdrawalsRoot?

optional withdrawalsRoot: `0x${string}`

formatters.block.type

type: "block"

formatters.transaction

readonly transaction: object

formatters.transaction.exclude

exclude: undefined | []

formatters.transaction.format()

format: (args) => object | object | object | object | object

Parameters

args: OpStackRpcTransaction<boolean>

Returns

object | object | object | object | object

formatters.transaction.type

type: "transaction"

formatters.transactionReceipt

readonly transactionReceipt: object

formatters.transactionReceipt.exclude

exclude: undefined | []

formatters.transactionReceipt.format()

format: (args) => object

Parameters

args: OpStackRpcTransactionReceipt

Returns

object

blobGasPrice?

optional blobGasPrice: bigint

blobGasUsed?

optional blobGasUsed: bigint

blockHash

blockHash: `0x${string}`

blockNumber

blockNumber: bigint

contractAddress

contractAddress: undefined | null | `0x${string}`

cumulativeGasUsed

cumulativeGasUsed: bigint

effectiveGasPrice

effectiveGasPrice: bigint

from

from: `0x${string}`

gasUsed

gasUsed: bigint

l1Fee

l1Fee: null | bigint

l1FeeScalar

l1FeeScalar: null | number

l1GasPrice

l1GasPrice: null | bigint

l1GasUsed

l1GasUsed: null | bigint

logs

logs: Log<bigint, number, false, undefined, undefined, undefined, undefined>[]

logsBloom

logsBloom: `0x${string}`

root?

optional root: `0x${string}`

status

status: "success" | "reverted"

to

to: null | `0x${string}`

transactionHash

transactionHash: `0x${string}`

transactionIndex

transactionIndex: number

type

type: TransactionType

formatters.transactionReceipt.type

type: "transactionReceipt"

id

id: 360

ID in number form

name

name: "Shape"

Human-readable name

nativeCurrency

nativeCurrency: object

Currency used by chain

nativeCurrency.decimals

readonly decimals: 18 = 18

nativeCurrency.name

readonly name: "Ether" = 'Ether'

nativeCurrency.symbol

readonly symbol: "ETH" = 'ETH'

rpcUrls

rpcUrls: object

Collection of RPC endpoints

rpcUrls.default

readonly default: object

rpcUrls.default.http

readonly http: readonly ["https://mainnet.shape.network/"]

serializers

readonly serializers: object

Modifies how data is serialized (e.g. transactions).

serializers.transaction()

readonly transaction: (transaction, signature?) => `0x02${string}` | `0x01${string}` | `0x03${string}` | TransactionSerializedLegacy | `0x7e${string}`

Parameters

transaction: OpStackTransactionSerializable

signature?: Signature

Returns

`0x02${string}` | `0x01${string}` | `0x03${string}` | TransactionSerializedLegacy | `0x7e${string}`

sourceId

sourceId: 1

Source Chain ID (ie. the L1 chain)

testnet?

optional testnet: boolean

Flag for test networks

Defined in

packages/viem/src/chains/mainnet.ts:928