ecosystem

@eth-optimism/viemDocs


@eth-optimism/viem / chains / swan

swan

const swan: object

Chain Definition for Swan Chain Mainnet

Type declaration

blockExplorers

blockExplorers: object

Collection of block explorers

blockExplorers.default

readonly default: object

blockExplorers.default.name

readonly name: "Swan Chain Mainnet Explorer" = 'Swan Chain Mainnet Explorer'

blockExplorers.default.url

readonly url: "https://swanscan.io" = 'https://swanscan.io'

contracts

contracts: object

Collection of contracts

contracts.disputeGameFactory

readonly disputeGameFactory: object

contracts.disputeGameFactory.1

readonly 1: object

contracts.disputeGameFactory.1.address

readonly address: "0x2069FC7097b7784FCA21aa459e57E95C0046EeCD" = '0x2069FC7097b7784FCA21aa459e57E95C0046EeCD'

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: "0x15567C4FfD9109795dFf1D9A5233D10aef0738D2" = '0x15567C4FfD9109795dFf1D9A5233D10aef0738D2'

contracts.l1Erc721Bridge

readonly l1Erc721Bridge: object

contracts.l1Erc721Bridge.1

readonly 1: object

contracts.l1Erc721Bridge.1.address

readonly address: "0x1Ccf7e62889E6A93413DEAFC4e390Bd4047bDC32" = '0x1Ccf7e62889E6A93413DEAFC4e390Bd4047bDC32'

contracts.l1StandardBridge

readonly l1StandardBridge: object

contracts.l1StandardBridge.1

readonly 1: object

contracts.l1StandardBridge.1.address

readonly address: "0xed7525946A09056C6AaE29941b8323017382050e" = '0xed7525946A09056C6AaE29941b8323017382050e'

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: "0x1c22740A0B4511E11D76434A424487862b593901" = '0x1c22740A0B4511E11D76434A424487862b593901'

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: "0xBa50434BC5fCC07406b1baD9AC72a4CDf776db15" = '0xBa50434BC5fCC07406b1baD9AC72a4CDf776db15'

contracts.systemConfig

readonly systemConfig: object

contracts.systemConfig.1

readonly 1: object

contracts.systemConfig.1.address

readonly address: "0x504D56cf68f791B45E3A2e895B0e1562f3431328" = '0x504D56cf68f791B45E3A2e895B0e1562f3431328'

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: 254

ID in number form

name

name: "Swan Chain Mainnet"

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-rpc.swanchain.org"]

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:1056