{"version":3,"file":"index.cjs","sources":["../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/chain/defineChain.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/errors/version.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/errors/base.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/errors/encoding.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/data/isHex.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/data/size.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/data/trim.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/errors/data.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/data/pad.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/encoding/toHex.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/encoding/toBytes.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/encoding/fromHex.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/formatters/formatter.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/formatters/transaction.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/formatters/block.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/formatters/log.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/formatters/transactionReceipt.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/formatters/transactionRequest.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/constants/number.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/data/concat.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/errors/cursor.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/cursor.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/encoding/toRlp.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/constants/unit.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/unit/formatUnits.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/unit/formatGwei.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/errors/transaction.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/authorization/serializeAuthorizationList.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/blob/blobsToCommitments.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/blob/blobsToProofs.js","../../../node_modules/.pnpm/@noble+hashes@1.7.2/node_modules/@noble/hashes/esm/_assert.js","../../../node_modules/.pnpm/@noble+hashes@1.7.2/node_modules/@noble/hashes/esm/utils.js","../../../node_modules/.pnpm/@noble+hashes@1.7.2/node_modules/@noble/hashes/esm/_md.js","../../../node_modules/.pnpm/@noble+hashes@1.7.2/node_modules/@noble/hashes/esm/sha256.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/hash/sha256.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/blob/commitmentToVersionedHash.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/blob/commitmentsToVersionedHashes.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/constants/blob.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/constants/kzg.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/errors/blob.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/blob/toBlobs.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/blob/toBlobSidecars.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/errors/address.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/errors/chain.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/errors/node.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/lru.js","../../../node_modules/.pnpm/@noble+hashes@1.7.2/node_modules/@noble/hashes/esm/_u64.js","../../../node_modules/.pnpm/@noble+hashes@1.7.2/node_modules/@noble/hashes/esm/sha3.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/hash/keccak256.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/address/getAddress.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/address/isAddress.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/data/slice.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/transaction/assertTransaction.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/transaction/getTransactionType.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/transaction/serializeAccessList.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/utils/transaction/serializeTransaction.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/op-stack/contracts.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/op-stack/formatters.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/op-stack/serializers.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/op-stack/chainConfig.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/ancient8.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/ancient8Sepolia.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/base.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/baseGoerli.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/baseSepolia.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/birdlayer.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/blast.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/bob.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/bobSepolia.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/celo/fees.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/celo/utils.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/celo/formatters.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/celo/serializers.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/celo/chainConfig.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/celoAlfajores.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/crab.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/creatorTestnet.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/dchain.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/dchainTestnet.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/dodochainTestnet.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/form.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/formTestnet.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/fraxtal.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/fraxtalTestnet.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/funkiMainnet.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/funkiSepolia.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/garnet.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/ink.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/inkSepolia.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/koi.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/lisk.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/liskSepolia.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/metalL2.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/mode.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/modeTestnet.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/opBNB.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/opBNBTestnet.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/optimism.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/optimismGoerli.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/optimismSepolia.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/pyrope.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/redstone.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/rss3.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/rss3Sepolia.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/shape.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/shapeSepolia.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/snax.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/snaxTestnet.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/soneium.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/soneiumMinato.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/superseed.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/superseedSepolia.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/swellchain.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/swellchainTestnet.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/unichain.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/unichainSepolia.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/worldchain.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/worldchainSepolia.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/zora.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/zoraSepolia.js","../../../node_modules/.pnpm/viem@2.29.2_typescript@5.8.3_zod@3.22.4/node_modules/viem/_esm/chains/definitions/zoraTestnet.js","../../../src/addresses.ts"],"sourcesContent":["export function defineChain(chain) {\n    return {\n        formatters: undefined,\n        fees: undefined,\n        serializers: undefined,\n        ...chain,\n    };\n}\n//# sourceMappingURL=defineChain.js.map","export const version = '2.29.2';\n//# sourceMappingURL=version.js.map","import { version } from './version.js';\nlet errorConfig = {\n    getDocsUrl: ({ docsBaseUrl, docsPath = '', docsSlug, }) => docsPath\n        ? `${docsBaseUrl ?? 'https://viem.sh'}${docsPath}${docsSlug ? `#${docsSlug}` : ''}`\n        : undefined,\n    version: `viem@${version}`,\n};\nexport function setErrorConfig(config) {\n    errorConfig = config;\n}\nexport class BaseError extends Error {\n    constructor(shortMessage, args = {}) {\n        const details = (() => {\n            if (args.cause instanceof BaseError)\n                return args.cause.details;\n            if (args.cause?.message)\n                return args.cause.message;\n            return args.details;\n        })();\n        const docsPath = (() => {\n            if (args.cause instanceof BaseError)\n                return args.cause.docsPath || args.docsPath;\n            return args.docsPath;\n        })();\n        const docsUrl = errorConfig.getDocsUrl?.({ ...args, docsPath });\n        const message = [\n            shortMessage || 'An error occurred.',\n            '',\n            ...(args.metaMessages ? [...args.metaMessages, ''] : []),\n            ...(docsUrl ? [`Docs: ${docsUrl}`] : []),\n            ...(details ? [`Details: ${details}`] : []),\n            ...(errorConfig.version ? [`Version: ${errorConfig.version}`] : []),\n        ].join('\\n');\n        super(message, args.cause ? { cause: args.cause } : undefined);\n        Object.defineProperty(this, \"details\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: void 0\n        });\n        Object.defineProperty(this, \"docsPath\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: void 0\n        });\n        Object.defineProperty(this, \"metaMessages\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: void 0\n        });\n        Object.defineProperty(this, \"shortMessage\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: void 0\n        });\n        Object.defineProperty(this, \"version\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: void 0\n        });\n        Object.defineProperty(this, \"name\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: 'BaseError'\n        });\n        this.details = details;\n        this.docsPath = docsPath;\n        this.metaMessages = args.metaMessages;\n        this.name = args.name ?? this.name;\n        this.shortMessage = shortMessage;\n        this.version = version;\n    }\n    walk(fn) {\n        return walk(this, fn);\n    }\n}\nfunction walk(err, fn) {\n    if (fn?.(err))\n        return err;\n    if (err &&\n        typeof err === 'object' &&\n        'cause' in err &&\n        err.cause !== undefined)\n        return walk(err.cause, fn);\n    return fn ? null : err;\n}\n//# sourceMappingURL=base.js.map","import { BaseError } from './base.js';\nexport class IntegerOutOfRangeError extends BaseError {\n    constructor({ max, min, signed, size, value, }) {\n        super(`Number \"${value}\" is not in safe ${size ? `${size * 8}-bit ${signed ? 'signed' : 'unsigned'} ` : ''}integer range ${max ? `(${min} to ${max})` : `(above ${min})`}`, { name: 'IntegerOutOfRangeError' });\n    }\n}\nexport class InvalidBytesBooleanError extends BaseError {\n    constructor(bytes) {\n        super(`Bytes value \"${bytes}\" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`, {\n            name: 'InvalidBytesBooleanError',\n        });\n    }\n}\nexport class InvalidHexBooleanError extends BaseError {\n    constructor(hex) {\n        super(`Hex value \"${hex}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`, { name: 'InvalidHexBooleanError' });\n    }\n}\nexport class InvalidHexValueError extends BaseError {\n    constructor(value) {\n        super(`Hex value \"${value}\" is an odd length (${value.length}). It must be an even length.`, { name: 'InvalidHexValueError' });\n    }\n}\nexport class SizeOverflowError extends BaseError {\n    constructor({ givenSize, maxSize }) {\n        super(`Size cannot exceed ${maxSize} bytes. Given size: ${givenSize} bytes.`, { name: 'SizeOverflowError' });\n    }\n}\n//# sourceMappingURL=encoding.js.map","export function isHex(value, { strict = true } = {}) {\n    if (!value)\n        return false;\n    if (typeof value !== 'string')\n        return false;\n    return strict ? /^0x[0-9a-fA-F]*$/.test(value) : value.startsWith('0x');\n}\n//# sourceMappingURL=isHex.js.map","import { isHex } from './isHex.js';\n/**\n * @description Retrieves the size of the value (in bytes).\n *\n * @param value The value (hex or byte array) to retrieve the size of.\n * @returns The size of the value (in bytes).\n */\nexport function size(value) {\n    if (isHex(value, { strict: false }))\n        return Math.ceil((value.length - 2) / 2);\n    return value.length;\n}\n//# sourceMappingURL=size.js.map","export function trim(hexOrBytes, { dir = 'left' } = {}) {\n    let data = typeof hexOrBytes === 'string' ? hexOrBytes.replace('0x', '') : hexOrBytes;\n    let sliceLength = 0;\n    for (let i = 0; i < data.length - 1; i++) {\n        if (data[dir === 'left' ? i : data.length - i - 1].toString() === '0')\n            sliceLength++;\n        else\n            break;\n    }\n    data =\n        dir === 'left'\n            ? data.slice(sliceLength)\n            : data.slice(0, data.length - sliceLength);\n    if (typeof hexOrBytes === 'string') {\n        if (data.length === 1 && dir === 'right')\n            data = `${data}0`;\n        return `0x${data.length % 2 === 1 ? `0${data}` : data}`;\n    }\n    return data;\n}\n//# sourceMappingURL=trim.js.map","import { BaseError } from './base.js';\nexport class SliceOffsetOutOfBoundsError extends BaseError {\n    constructor({ offset, position, size, }) {\n        super(`Slice ${position === 'start' ? 'starting' : 'ending'} at offset \"${offset}\" is out-of-bounds (size: ${size}).`, { name: 'SliceOffsetOutOfBoundsError' });\n    }\n}\nexport class SizeExceedsPaddingSizeError extends BaseError {\n    constructor({ size, targetSize, type, }) {\n        super(`${type.charAt(0).toUpperCase()}${type\n            .slice(1)\n            .toLowerCase()} size (${size}) exceeds padding size (${targetSize}).`, { name: 'SizeExceedsPaddingSizeError' });\n    }\n}\nexport class InvalidBytesLengthError extends BaseError {\n    constructor({ size, targetSize, type, }) {\n        super(`${type.charAt(0).toUpperCase()}${type\n            .slice(1)\n            .toLowerCase()} is expected to be ${targetSize} ${type} long, but is ${size} ${type} long.`, { name: 'InvalidBytesLengthError' });\n    }\n}\n//# sourceMappingURL=data.js.map","import { SizeExceedsPaddingSizeError, } from '../../errors/data.js';\nexport function pad(hexOrBytes, { dir, size = 32 } = {}) {\n    if (typeof hexOrBytes === 'string')\n        return padHex(hexOrBytes, { dir, size });\n    return padBytes(hexOrBytes, { dir, size });\n}\nexport function padHex(hex_, { dir, size = 32 } = {}) {\n    if (size === null)\n        return hex_;\n    const hex = hex_.replace('0x', '');\n    if (hex.length > size * 2)\n        throw new SizeExceedsPaddingSizeError({\n            size: Math.ceil(hex.length / 2),\n            targetSize: size,\n            type: 'hex',\n        });\n    return `0x${hex[dir === 'right' ? 'padEnd' : 'padStart'](size * 2, '0')}`;\n}\nexport function padBytes(bytes, { dir, size = 32 } = {}) {\n    if (size === null)\n        return bytes;\n    if (bytes.length > size)\n        throw new SizeExceedsPaddingSizeError({\n            size: bytes.length,\n            targetSize: size,\n            type: 'bytes',\n        });\n    const paddedBytes = new Uint8Array(size);\n    for (let i = 0; i < size; i++) {\n        const padEnd = dir === 'right';\n        paddedBytes[padEnd ? i : size - i - 1] =\n            bytes[padEnd ? i : bytes.length - i - 1];\n    }\n    return paddedBytes;\n}\n//# sourceMappingURL=pad.js.map","import { IntegerOutOfRangeError, } from '../../errors/encoding.js';\nimport { pad } from '../data/pad.js';\nimport { assertSize } from './fromHex.js';\nconst hexes = /*#__PURE__*/ Array.from({ length: 256 }, (_v, i) => i.toString(16).padStart(2, '0'));\n/**\n * Encodes a string, number, bigint, or ByteArray into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex\n * - Example: https://viem.sh/docs/utilities/toHex#usage\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex('Hello world')\n * // '0x48656c6c6f20776f726c6421'\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex(420)\n * // '0x1a4'\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex('Hello world', { size: 32 })\n * // '0x48656c6c6f20776f726c64210000000000000000000000000000000000000000'\n */\nexport function toHex(value, opts = {}) {\n    if (typeof value === 'number' || typeof value === 'bigint')\n        return numberToHex(value, opts);\n    if (typeof value === 'string') {\n        return stringToHex(value, opts);\n    }\n    if (typeof value === 'boolean')\n        return boolToHex(value, opts);\n    return bytesToHex(value, opts);\n}\n/**\n * Encodes a boolean into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex#booltohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(true)\n * // '0x1'\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(false)\n * // '0x0'\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(true, { size: 32 })\n * // '0x0000000000000000000000000000000000000000000000000000000000000001'\n */\nexport function boolToHex(value, opts = {}) {\n    const hex = `0x${Number(value)}`;\n    if (typeof opts.size === 'number') {\n        assertSize(hex, { size: opts.size });\n        return pad(hex, { size: opts.size });\n    }\n    return hex;\n}\n/**\n * Encodes a bytes array into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex#bytestohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { bytesToHex } from 'viem'\n * const data = bytesToHex(Uint8Array.from([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n * // '0x48656c6c6f20576f726c6421'\n *\n * @example\n * import { bytesToHex } from 'viem'\n * const data = bytesToHex(Uint8Array.from([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]), { size: 32 })\n * // '0x48656c6c6f20576f726c64210000000000000000000000000000000000000000'\n */\nexport function bytesToHex(value, opts = {}) {\n    let string = '';\n    for (let i = 0; i < value.length; i++) {\n        string += hexes[value[i]];\n    }\n    const hex = `0x${string}`;\n    if (typeof opts.size === 'number') {\n        assertSize(hex, { size: opts.size });\n        return pad(hex, { dir: 'right', size: opts.size });\n    }\n    return hex;\n}\n/**\n * Encodes a number or bigint into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex#numbertohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { numberToHex } from 'viem'\n * const data = numberToHex(420)\n * // '0x1a4'\n *\n * @example\n * import { numberToHex } from 'viem'\n * const data = numberToHex(420, { size: 32 })\n * // '0x00000000000000000000000000000000000000000000000000000000000001a4'\n */\nexport function numberToHex(value_, opts = {}) {\n    const { signed, size } = opts;\n    const value = BigInt(value_);\n    let maxValue;\n    if (size) {\n        if (signed)\n            maxValue = (1n << (BigInt(size) * 8n - 1n)) - 1n;\n        else\n            maxValue = 2n ** (BigInt(size) * 8n) - 1n;\n    }\n    else if (typeof value_ === 'number') {\n        maxValue = BigInt(Number.MAX_SAFE_INTEGER);\n    }\n    const minValue = typeof maxValue === 'bigint' && signed ? -maxValue - 1n : 0;\n    if ((maxValue && value > maxValue) || value < minValue) {\n        const suffix = typeof value_ === 'bigint' ? 'n' : '';\n        throw new IntegerOutOfRangeError({\n            max: maxValue ? `${maxValue}${suffix}` : undefined,\n            min: `${minValue}${suffix}`,\n            signed,\n            size,\n            value: `${value_}${suffix}`,\n        });\n    }\n    const hex = `0x${(signed && value < 0 ? (1n << BigInt(size * 8)) + BigInt(value) : value).toString(16)}`;\n    if (size)\n        return pad(hex, { size });\n    return hex;\n}\nconst encoder = /*#__PURE__*/ new TextEncoder();\n/**\n * Encodes a UTF-8 string into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex#stringtohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { stringToHex } from 'viem'\n * const data = stringToHex('Hello World!')\n * // '0x48656c6c6f20576f726c6421'\n *\n * @example\n * import { stringToHex } from 'viem'\n * const data = stringToHex('Hello World!', { size: 32 })\n * // '0x48656c6c6f20576f726c64210000000000000000000000000000000000000000'\n */\nexport function stringToHex(value_, opts = {}) {\n    const value = encoder.encode(value_);\n    return bytesToHex(value, opts);\n}\n//# sourceMappingURL=toHex.js.map","import { BaseError } from '../../errors/base.js';\nimport { isHex } from '../data/isHex.js';\nimport { pad } from '../data/pad.js';\nimport { assertSize } from './fromHex.js';\nimport { numberToHex, } from './toHex.js';\nconst encoder = /*#__PURE__*/ new TextEncoder();\n/**\n * Encodes a UTF-8 string, hex value, bigint, number or boolean to a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes\n * - Example: https://viem.sh/docs/utilities/toBytes#usage\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes('Hello world')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes(420)\n * // Uint8Array([1, 164])\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes(420, { size: 4 })\n * // Uint8Array([0, 0, 1, 164])\n */\nexport function toBytes(value, opts = {}) {\n    if (typeof value === 'number' || typeof value === 'bigint')\n        return numberToBytes(value, opts);\n    if (typeof value === 'boolean')\n        return boolToBytes(value, opts);\n    if (isHex(value))\n        return hexToBytes(value, opts);\n    return stringToBytes(value, opts);\n}\n/**\n * Encodes a boolean into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes#booltobytes\n *\n * @param value Boolean value to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { boolToBytes } from 'viem'\n * const data = boolToBytes(true)\n * // Uint8Array([1])\n *\n * @example\n * import { boolToBytes } from 'viem'\n * const data = boolToBytes(true, { size: 32 })\n * // Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1])\n */\nexport function boolToBytes(value, opts = {}) {\n    const bytes = new Uint8Array(1);\n    bytes[0] = Number(value);\n    if (typeof opts.size === 'number') {\n        assertSize(bytes, { size: opts.size });\n        return pad(bytes, { size: opts.size });\n    }\n    return bytes;\n}\n// We use very optimized technique to convert hex string to byte array\nconst charCodeMap = {\n    zero: 48,\n    nine: 57,\n    A: 65,\n    F: 70,\n    a: 97,\n    f: 102,\n};\nfunction charCodeToBase16(char) {\n    if (char >= charCodeMap.zero && char <= charCodeMap.nine)\n        return char - charCodeMap.zero;\n    if (char >= charCodeMap.A && char <= charCodeMap.F)\n        return char - (charCodeMap.A - 10);\n    if (char >= charCodeMap.a && char <= charCodeMap.f)\n        return char - (charCodeMap.a - 10);\n    return undefined;\n}\n/**\n * Encodes a hex string into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes#hextobytes\n *\n * @param hex Hex string to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { hexToBytes } from 'viem'\n * const data = hexToBytes('0x48656c6c6f20776f726c6421')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n *\n * @example\n * import { hexToBytes } from 'viem'\n * const data = hexToBytes('0x48656c6c6f20776f726c6421', { size: 32 })\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n */\nexport function hexToBytes(hex_, opts = {}) {\n    let hex = hex_;\n    if (opts.size) {\n        assertSize(hex, { size: opts.size });\n        hex = pad(hex, { dir: 'right', size: opts.size });\n    }\n    let hexString = hex.slice(2);\n    if (hexString.length % 2)\n        hexString = `0${hexString}`;\n    const length = hexString.length / 2;\n    const bytes = new Uint8Array(length);\n    for (let index = 0, j = 0; index < length; index++) {\n        const nibbleLeft = charCodeToBase16(hexString.charCodeAt(j++));\n        const nibbleRight = charCodeToBase16(hexString.charCodeAt(j++));\n        if (nibbleLeft === undefined || nibbleRight === undefined) {\n            throw new BaseError(`Invalid byte sequence (\"${hexString[j - 2]}${hexString[j - 1]}\" in \"${hexString}\").`);\n        }\n        bytes[index] = nibbleLeft * 16 + nibbleRight;\n    }\n    return bytes;\n}\n/**\n * Encodes a number into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes#numbertobytes\n *\n * @param value Number to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { numberToBytes } from 'viem'\n * const data = numberToBytes(420)\n * // Uint8Array([1, 164])\n *\n * @example\n * import { numberToBytes } from 'viem'\n * const data = numberToBytes(420, { size: 4 })\n * // Uint8Array([0, 0, 1, 164])\n */\nexport function numberToBytes(value, opts) {\n    const hex = numberToHex(value, opts);\n    return hexToBytes(hex);\n}\n/**\n * Encodes a UTF-8 string into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes#stringtobytes\n *\n * @param value String to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { stringToBytes } from 'viem'\n * const data = stringToBytes('Hello world!')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 33])\n *\n * @example\n * import { stringToBytes } from 'viem'\n * const data = stringToBytes('Hello world!', { size: 32 })\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n */\nexport function stringToBytes(value, opts = {}) {\n    const bytes = encoder.encode(value);\n    if (typeof opts.size === 'number') {\n        assertSize(bytes, { size: opts.size });\n        return pad(bytes, { dir: 'right', size: opts.size });\n    }\n    return bytes;\n}\n//# sourceMappingURL=toBytes.js.map","import { InvalidHexBooleanError, SizeOverflowError, } from '../../errors/encoding.js';\nimport { size as size_ } from '../data/size.js';\nimport { trim } from '../data/trim.js';\nimport { hexToBytes } from './toBytes.js';\nexport function assertSize(hexOrBytes, { size }) {\n    if (size_(hexOrBytes) > size)\n        throw new SizeOverflowError({\n            givenSize: size_(hexOrBytes),\n            maxSize: size,\n        });\n}\n/**\n * Decodes a hex string into a string, number, bigint, boolean, or byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex\n * - Example: https://viem.sh/docs/utilities/fromHex#usage\n *\n * @param hex Hex string to decode.\n * @param toOrOpts Type to convert to or options.\n * @returns Decoded value.\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x1a4', 'number')\n * // 420\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x48656c6c6f20576f726c6421', 'string')\n * // 'Hello world'\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x48656c6c6f20576f726c64210000000000000000000000000000000000000000', {\n *   size: 32,\n *   to: 'string'\n * })\n * // 'Hello world'\n */\nexport function fromHex(hex, toOrOpts) {\n    const opts = typeof toOrOpts === 'string' ? { to: toOrOpts } : toOrOpts;\n    const to = opts.to;\n    if (to === 'number')\n        return hexToNumber(hex, opts);\n    if (to === 'bigint')\n        return hexToBigInt(hex, opts);\n    if (to === 'string')\n        return hexToString(hex, opts);\n    if (to === 'boolean')\n        return hexToBool(hex, opts);\n    return hexToBytes(hex, opts);\n}\n/**\n * Decodes a hex value into a bigint.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex#hextobigint\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns BigInt value.\n *\n * @example\n * import { hexToBigInt } from 'viem'\n * const data = hexToBigInt('0x1a4', { signed: true })\n * // 420n\n *\n * @example\n * import { hexToBigInt } from 'viem'\n * const data = hexToBigInt('0x00000000000000000000000000000000000000000000000000000000000001a4', { size: 32 })\n * // 420n\n */\nexport function hexToBigInt(hex, opts = {}) {\n    const { signed } = opts;\n    if (opts.size)\n        assertSize(hex, { size: opts.size });\n    const value = BigInt(hex);\n    if (!signed)\n        return value;\n    const size = (hex.length - 2) / 2;\n    const max = (1n << (BigInt(size) * 8n - 1n)) - 1n;\n    if (value <= max)\n        return value;\n    return value - BigInt(`0x${'f'.padStart(size * 2, 'f')}`) - 1n;\n}\n/**\n * Decodes a hex value into a boolean.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex#hextobool\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns Boolean value.\n *\n * @example\n * import { hexToBool } from 'viem'\n * const data = hexToBool('0x01')\n * // true\n *\n * @example\n * import { hexToBool } from 'viem'\n * const data = hexToBool('0x0000000000000000000000000000000000000000000000000000000000000001', { size: 32 })\n * // true\n */\nexport function hexToBool(hex_, opts = {}) {\n    let hex = hex_;\n    if (opts.size) {\n        assertSize(hex, { size: opts.size });\n        hex = trim(hex);\n    }\n    if (trim(hex) === '0x00')\n        return false;\n    if (trim(hex) === '0x01')\n        return true;\n    throw new InvalidHexBooleanError(hex);\n}\n/**\n * Decodes a hex string into a number.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex#hextonumber\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns Number value.\n *\n * @example\n * import { hexToNumber } from 'viem'\n * const data = hexToNumber('0x1a4')\n * // 420\n *\n * @example\n * import { hexToNumber } from 'viem'\n * const data = hexToBigInt('0x00000000000000000000000000000000000000000000000000000000000001a4', { size: 32 })\n * // 420\n */\nexport function hexToNumber(hex, opts = {}) {\n    return Number(hexToBigInt(hex, opts));\n}\n/**\n * Decodes a hex value into a UTF-8 string.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex#hextostring\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns String value.\n *\n * @example\n * import { hexToString } from 'viem'\n * const data = hexToString('0x48656c6c6f20576f726c6421')\n * // 'Hello world!'\n *\n * @example\n * import { hexToString } from 'viem'\n * const data = hexToString('0x48656c6c6f20576f726c64210000000000000000000000000000000000000000', {\n *  size: 32,\n * })\n * // 'Hello world'\n */\nexport function hexToString(hex, opts = {}) {\n    let bytes = hexToBytes(hex);\n    if (opts.size) {\n        assertSize(bytes, { size: opts.size });\n        bytes = trim(bytes, { dir: 'right' });\n    }\n    return new TextDecoder().decode(bytes);\n}\n//# sourceMappingURL=fromHex.js.map","export function defineFormatter(type, format) {\n    return ({ exclude, format: overrides, }) => {\n        return {\n            exclude,\n            format: (args) => {\n                const formatted = format(args);\n                if (exclude) {\n                    for (const key of exclude) {\n                        delete formatted[key];\n                    }\n                }\n                return {\n                    ...formatted,\n                    ...overrides(args),\n                };\n            },\n            type,\n        };\n    };\n}\n//# sourceMappingURL=formatter.js.map","import { hexToNumber } from '../encoding/fromHex.js';\nimport { defineFormatter } from './formatter.js';\nexport const transactionType = {\n    '0x0': 'legacy',\n    '0x1': 'eip2930',\n    '0x2': 'eip1559',\n    '0x3': 'eip4844',\n    '0x4': 'eip7702',\n};\nexport function formatTransaction(transaction) {\n    const transaction_ = {\n        ...transaction,\n        blockHash: transaction.blockHash ? transaction.blockHash : null,\n        blockNumber: transaction.blockNumber\n            ? BigInt(transaction.blockNumber)\n            : null,\n        chainId: transaction.chainId ? hexToNumber(transaction.chainId) : undefined,\n        gas: transaction.gas ? BigInt(transaction.gas) : undefined,\n        gasPrice: transaction.gasPrice ? BigInt(transaction.gasPrice) : undefined,\n        maxFeePerBlobGas: transaction.maxFeePerBlobGas\n            ? BigInt(transaction.maxFeePerBlobGas)\n            : undefined,\n        maxFeePerGas: transaction.maxFeePerGas\n            ? BigInt(transaction.maxFeePerGas)\n            : undefined,\n        maxPriorityFeePerGas: transaction.maxPriorityFeePerGas\n            ? BigInt(transaction.maxPriorityFeePerGas)\n            : undefined,\n        nonce: transaction.nonce ? hexToNumber(transaction.nonce) : undefined,\n        to: transaction.to ? transaction.to : null,\n        transactionIndex: transaction.transactionIndex\n            ? Number(transaction.transactionIndex)\n            : null,\n        type: transaction.type\n            ? transactionType[transaction.type]\n            : undefined,\n        typeHex: transaction.type ? transaction.type : undefined,\n        value: transaction.value ? BigInt(transaction.value) : undefined,\n        v: transaction.v ? BigInt(transaction.v) : undefined,\n    };\n    if (transaction.authorizationList)\n        transaction_.authorizationList = formatAuthorizationList(transaction.authorizationList);\n    transaction_.yParity = (() => {\n        // If `yParity` is provided, we will use it.\n        if (transaction.yParity)\n            return Number(transaction.yParity);\n        // If no `yParity` provided, try derive from `v`.\n        if (typeof transaction_.v === 'bigint') {\n            if (transaction_.v === 0n || transaction_.v === 27n)\n                return 0;\n            if (transaction_.v === 1n || transaction_.v === 28n)\n                return 1;\n            if (transaction_.v >= 35n)\n                return transaction_.v % 2n === 0n ? 1 : 0;\n        }\n        return undefined;\n    })();\n    if (transaction_.type === 'legacy') {\n        delete transaction_.accessList;\n        delete transaction_.maxFeePerBlobGas;\n        delete transaction_.maxFeePerGas;\n        delete transaction_.maxPriorityFeePerGas;\n        delete transaction_.yParity;\n    }\n    if (transaction_.type === 'eip2930') {\n        delete transaction_.maxFeePerBlobGas;\n        delete transaction_.maxFeePerGas;\n        delete transaction_.maxPriorityFeePerGas;\n    }\n    if (transaction_.type === 'eip1559') {\n        delete transaction_.maxFeePerBlobGas;\n    }\n    return transaction_;\n}\nexport const defineTransaction = /*#__PURE__*/ defineFormatter('transaction', formatTransaction);\n//////////////////////////////////////////////////////////////////////////////\nfunction formatAuthorizationList(authorizationList) {\n    return authorizationList.map((authorization) => ({\n        address: authorization.address,\n        chainId: Number(authorization.chainId),\n        nonce: Number(authorization.nonce),\n        r: authorization.r,\n        s: authorization.s,\n        yParity: Number(authorization.yParity),\n    }));\n}\n//# sourceMappingURL=transaction.js.map","import { defineFormatter } from './formatter.js';\nimport { formatTransaction } from './transaction.js';\nexport function formatBlock(block) {\n    const transactions = (block.transactions ?? []).map((transaction) => {\n        if (typeof transaction === 'string')\n            return transaction;\n        return formatTransaction(transaction);\n    });\n    return {\n        ...block,\n        baseFeePerGas: block.baseFeePerGas ? BigInt(block.baseFeePerGas) : null,\n        blobGasUsed: block.blobGasUsed ? BigInt(block.blobGasUsed) : undefined,\n        difficulty: block.difficulty ? BigInt(block.difficulty) : undefined,\n        excessBlobGas: block.excessBlobGas\n            ? BigInt(block.excessBlobGas)\n            : undefined,\n        gasLimit: block.gasLimit ? BigInt(block.gasLimit) : undefined,\n        gasUsed: block.gasUsed ? BigInt(block.gasUsed) : undefined,\n        hash: block.hash ? block.hash : null,\n        logsBloom: block.logsBloom ? block.logsBloom : null,\n        nonce: block.nonce ? block.nonce : null,\n        number: block.number ? BigInt(block.number) : null,\n        size: block.size ? BigInt(block.size) : undefined,\n        timestamp: block.timestamp ? BigInt(block.timestamp) : undefined,\n        transactions,\n        totalDifficulty: block.totalDifficulty\n            ? BigInt(block.totalDifficulty)\n            : null,\n    };\n}\nexport const defineBlock = /*#__PURE__*/ defineFormatter('block', formatBlock);\n//# sourceMappingURL=block.js.map","export function formatLog(log, { args, eventName, } = {}) {\n    return {\n        ...log,\n        blockHash: log.blockHash ? log.blockHash : null,\n        blockNumber: log.blockNumber ? BigInt(log.blockNumber) : null,\n        logIndex: log.logIndex ? Number(log.logIndex) : null,\n        transactionHash: log.transactionHash ? log.transactionHash : null,\n        transactionIndex: log.transactionIndex\n            ? Number(log.transactionIndex)\n            : null,\n        ...(eventName ? { args, eventName } : {}),\n    };\n}\n//# sourceMappingURL=log.js.map","import { hexToNumber } from '../encoding/fromHex.js';\nimport { defineFormatter } from './formatter.js';\nimport { formatLog } from './log.js';\nimport { transactionType } from './transaction.js';\nexport const receiptStatuses = {\n    '0x0': 'reverted',\n    '0x1': 'success',\n};\nexport function formatTransactionReceipt(transactionReceipt) {\n    const receipt = {\n        ...transactionReceipt,\n        blockNumber: transactionReceipt.blockNumber\n            ? BigInt(transactionReceipt.blockNumber)\n            : null,\n        contractAddress: transactionReceipt.contractAddress\n            ? transactionReceipt.contractAddress\n            : null,\n        cumulativeGasUsed: transactionReceipt.cumulativeGasUsed\n            ? BigInt(transactionReceipt.cumulativeGasUsed)\n            : null,\n        effectiveGasPrice: transactionReceipt.effectiveGasPrice\n            ? BigInt(transactionReceipt.effectiveGasPrice)\n            : null,\n        gasUsed: transactionReceipt.gasUsed\n            ? BigInt(transactionReceipt.gasUsed)\n            : null,\n        logs: transactionReceipt.logs\n            ? transactionReceipt.logs.map((log) => formatLog(log))\n            : null,\n        to: transactionReceipt.to ? transactionReceipt.to : null,\n        transactionIndex: transactionReceipt.transactionIndex\n            ? hexToNumber(transactionReceipt.transactionIndex)\n            : null,\n        status: transactionReceipt.status\n            ? receiptStatuses[transactionReceipt.status]\n            : null,\n        type: transactionReceipt.type\n            ? transactionType[transactionReceipt.type] || transactionReceipt.type\n            : null,\n    };\n    if (transactionReceipt.blobGasPrice)\n        receipt.blobGasPrice = BigInt(transactionReceipt.blobGasPrice);\n    if (transactionReceipt.blobGasUsed)\n        receipt.blobGasUsed = BigInt(transactionReceipt.blobGasUsed);\n    return receipt;\n}\nexport const defineTransactionReceipt = /*#__PURE__*/ defineFormatter('transactionReceipt', formatTransactionReceipt);\n//# sourceMappingURL=transactionReceipt.js.map","import { bytesToHex, numberToHex } from '../encoding/toHex.js';\nimport { defineFormatter } from './formatter.js';\nexport const rpcTransactionType = {\n    legacy: '0x0',\n    eip2930: '0x1',\n    eip1559: '0x2',\n    eip4844: '0x3',\n    eip7702: '0x4',\n};\nexport function formatTransactionRequest(request) {\n    const rpcRequest = {};\n    if (typeof request.authorizationList !== 'undefined')\n        rpcRequest.authorizationList = formatAuthorizationList(request.authorizationList);\n    if (typeof request.accessList !== 'undefined')\n        rpcRequest.accessList = request.accessList;\n    if (typeof request.blobVersionedHashes !== 'undefined')\n        rpcRequest.blobVersionedHashes = request.blobVersionedHashes;\n    if (typeof request.blobs !== 'undefined') {\n        if (typeof request.blobs[0] !== 'string')\n            rpcRequest.blobs = request.blobs.map((x) => bytesToHex(x));\n        else\n            rpcRequest.blobs = request.blobs;\n    }\n    if (typeof request.data !== 'undefined')\n        rpcRequest.data = request.data;\n    if (typeof request.from !== 'undefined')\n        rpcRequest.from = request.from;\n    if (typeof request.gas !== 'undefined')\n        rpcRequest.gas = numberToHex(request.gas);\n    if (typeof request.gasPrice !== 'undefined')\n        rpcRequest.gasPrice = numberToHex(request.gasPrice);\n    if (typeof request.maxFeePerBlobGas !== 'undefined')\n        rpcRequest.maxFeePerBlobGas = numberToHex(request.maxFeePerBlobGas);\n    if (typeof request.maxFeePerGas !== 'undefined')\n        rpcRequest.maxFeePerGas = numberToHex(request.maxFeePerGas);\n    if (typeof request.maxPriorityFeePerGas !== 'undefined')\n        rpcRequest.maxPriorityFeePerGas = numberToHex(request.maxPriorityFeePerGas);\n    if (typeof request.nonce !== 'undefined')\n        rpcRequest.nonce = numberToHex(request.nonce);\n    if (typeof request.to !== 'undefined')\n        rpcRequest.to = request.to;\n    if (typeof request.type !== 'undefined')\n        rpcRequest.type = rpcTransactionType[request.type];\n    if (typeof request.value !== 'undefined')\n        rpcRequest.value = numberToHex(request.value);\n    return rpcRequest;\n}\nexport const defineTransactionRequest = /*#__PURE__*/ defineFormatter('transactionRequest', formatTransactionRequest);\n//////////////////////////////////////////////////////////////////////////////\nfunction formatAuthorizationList(authorizationList) {\n    return authorizationList.map((authorization) => ({\n        address: authorization.address,\n        r: authorization.r\n            ? numberToHex(BigInt(authorization.r))\n            : authorization.r,\n        s: authorization.s\n            ? numberToHex(BigInt(authorization.s))\n            : authorization.s,\n        chainId: numberToHex(authorization.chainId),\n        nonce: numberToHex(authorization.nonce),\n        ...(typeof authorization.yParity !== 'undefined'\n            ? { yParity: numberToHex(authorization.yParity) }\n            : {}),\n        ...(typeof authorization.v !== 'undefined' &&\n            typeof authorization.yParity === 'undefined'\n            ? { v: numberToHex(authorization.v) }\n            : {}),\n    }));\n}\n//# sourceMappingURL=transactionRequest.js.map","export const maxInt8 = 2n ** (8n - 1n) - 1n;\nexport const maxInt16 = 2n ** (16n - 1n) - 1n;\nexport const maxInt24 = 2n ** (24n - 1n) - 1n;\nexport const maxInt32 = 2n ** (32n - 1n) - 1n;\nexport const maxInt40 = 2n ** (40n - 1n) - 1n;\nexport const maxInt48 = 2n ** (48n - 1n) - 1n;\nexport const maxInt56 = 2n ** (56n - 1n) - 1n;\nexport const maxInt64 = 2n ** (64n - 1n) - 1n;\nexport const maxInt72 = 2n ** (72n - 1n) - 1n;\nexport const maxInt80 = 2n ** (80n - 1n) - 1n;\nexport const maxInt88 = 2n ** (88n - 1n) - 1n;\nexport const maxInt96 = 2n ** (96n - 1n) - 1n;\nexport const maxInt104 = 2n ** (104n - 1n) - 1n;\nexport const maxInt112 = 2n ** (112n - 1n) - 1n;\nexport const maxInt120 = 2n ** (120n - 1n) - 1n;\nexport const maxInt128 = 2n ** (128n - 1n) - 1n;\nexport const maxInt136 = 2n ** (136n - 1n) - 1n;\nexport const maxInt144 = 2n ** (144n - 1n) - 1n;\nexport const maxInt152 = 2n ** (152n - 1n) - 1n;\nexport const maxInt160 = 2n ** (160n - 1n) - 1n;\nexport const maxInt168 = 2n ** (168n - 1n) - 1n;\nexport const maxInt176 = 2n ** (176n - 1n) - 1n;\nexport const maxInt184 = 2n ** (184n - 1n) - 1n;\nexport const maxInt192 = 2n ** (192n - 1n) - 1n;\nexport const maxInt200 = 2n ** (200n - 1n) - 1n;\nexport const maxInt208 = 2n ** (208n - 1n) - 1n;\nexport const maxInt216 = 2n ** (216n - 1n) - 1n;\nexport const maxInt224 = 2n ** (224n - 1n) - 1n;\nexport const maxInt232 = 2n ** (232n - 1n) - 1n;\nexport const maxInt240 = 2n ** (240n - 1n) - 1n;\nexport const maxInt248 = 2n ** (248n - 1n) - 1n;\nexport const maxInt256 = 2n ** (256n - 1n) - 1n;\nexport const minInt8 = -(2n ** (8n - 1n));\nexport const minInt16 = -(2n ** (16n - 1n));\nexport const minInt24 = -(2n ** (24n - 1n));\nexport const minInt32 = -(2n ** (32n - 1n));\nexport const minInt40 = -(2n ** (40n - 1n));\nexport const minInt48 = -(2n ** (48n - 1n));\nexport const minInt56 = -(2n ** (56n - 1n));\nexport const minInt64 = -(2n ** (64n - 1n));\nexport const minInt72 = -(2n ** (72n - 1n));\nexport const minInt80 = -(2n ** (80n - 1n));\nexport const minInt88 = -(2n ** (88n - 1n));\nexport const minInt96 = -(2n ** (96n - 1n));\nexport const minInt104 = -(2n ** (104n - 1n));\nexport const minInt112 = -(2n ** (112n - 1n));\nexport const minInt120 = -(2n ** (120n - 1n));\nexport const minInt128 = -(2n ** (128n - 1n));\nexport const minInt136 = -(2n ** (136n - 1n));\nexport const minInt144 = -(2n ** (144n - 1n));\nexport const minInt152 = -(2n ** (152n - 1n));\nexport const minInt160 = -(2n ** (160n - 1n));\nexport const minInt168 = -(2n ** (168n - 1n));\nexport const minInt176 = -(2n ** (176n - 1n));\nexport const minInt184 = -(2n ** (184n - 1n));\nexport const minInt192 = -(2n ** (192n - 1n));\nexport const minInt200 = -(2n ** (200n - 1n));\nexport const minInt208 = -(2n ** (208n - 1n));\nexport const minInt216 = -(2n ** (216n - 1n));\nexport const minInt224 = -(2n ** (224n - 1n));\nexport const minInt232 = -(2n ** (232n - 1n));\nexport const minInt240 = -(2n ** (240n - 1n));\nexport const minInt248 = -(2n ** (248n - 1n));\nexport const minInt256 = -(2n ** (256n - 1n));\nexport const maxUint8 = 2n ** 8n - 1n;\nexport const maxUint16 = 2n ** 16n - 1n;\nexport const maxUint24 = 2n ** 24n - 1n;\nexport const maxUint32 = 2n ** 32n - 1n;\nexport const maxUint40 = 2n ** 40n - 1n;\nexport const maxUint48 = 2n ** 48n - 1n;\nexport const maxUint56 = 2n ** 56n - 1n;\nexport const maxUint64 = 2n ** 64n - 1n;\nexport const maxUint72 = 2n ** 72n - 1n;\nexport const maxUint80 = 2n ** 80n - 1n;\nexport const maxUint88 = 2n ** 88n - 1n;\nexport const maxUint96 = 2n ** 96n - 1n;\nexport const maxUint104 = 2n ** 104n - 1n;\nexport const maxUint112 = 2n ** 112n - 1n;\nexport const maxUint120 = 2n ** 120n - 1n;\nexport const maxUint128 = 2n ** 128n - 1n;\nexport const maxUint136 = 2n ** 136n - 1n;\nexport const maxUint144 = 2n ** 144n - 1n;\nexport const maxUint152 = 2n ** 152n - 1n;\nexport const maxUint160 = 2n ** 160n - 1n;\nexport const maxUint168 = 2n ** 168n - 1n;\nexport const maxUint176 = 2n ** 176n - 1n;\nexport const maxUint184 = 2n ** 184n - 1n;\nexport const maxUint192 = 2n ** 192n - 1n;\nexport const maxUint200 = 2n ** 200n - 1n;\nexport const maxUint208 = 2n ** 208n - 1n;\nexport const maxUint216 = 2n ** 216n - 1n;\nexport const maxUint224 = 2n ** 224n - 1n;\nexport const maxUint232 = 2n ** 232n - 1n;\nexport const maxUint240 = 2n ** 240n - 1n;\nexport const maxUint248 = 2n ** 248n - 1n;\nexport const maxUint256 = 2n ** 256n - 1n;\n//# sourceMappingURL=number.js.map","export function concat(values) {\n    if (typeof values[0] === 'string')\n        return concatHex(values);\n    return concatBytes(values);\n}\nexport function concatBytes(values) {\n    let length = 0;\n    for (const arr of values) {\n        length += arr.length;\n    }\n    const result = new Uint8Array(length);\n    let offset = 0;\n    for (const arr of values) {\n        result.set(arr, offset);\n        offset += arr.length;\n    }\n    return result;\n}\nexport function concatHex(values) {\n    return `0x${values.reduce((acc, x) => acc + x.replace('0x', ''), '')}`;\n}\n//# sourceMappingURL=concat.js.map","import { BaseError } from './base.js';\nexport class NegativeOffsetError extends BaseError {\n    constructor({ offset }) {\n        super(`Offset \\`${offset}\\` cannot be negative.`, {\n            name: 'NegativeOffsetError',\n        });\n    }\n}\nexport class PositionOutOfBoundsError extends BaseError {\n    constructor({ length, position }) {\n        super(`Position \\`${position}\\` is out of bounds (\\`0 < position < ${length}\\`).`, { name: 'PositionOutOfBoundsError' });\n    }\n}\nexport class RecursiveReadLimitExceededError extends BaseError {\n    constructor({ count, limit }) {\n        super(`Recursive read limit of \\`${limit}\\` exceeded (recursive read count: \\`${count}\\`).`, { name: 'RecursiveReadLimitExceededError' });\n    }\n}\n//# sourceMappingURL=cursor.js.map","import { NegativeOffsetError, PositionOutOfBoundsError, RecursiveReadLimitExceededError, } from '../errors/cursor.js';\nconst staticCursor = {\n    bytes: new Uint8Array(),\n    dataView: new DataView(new ArrayBuffer(0)),\n    position: 0,\n    positionReadCount: new Map(),\n    recursiveReadCount: 0,\n    recursiveReadLimit: Number.POSITIVE_INFINITY,\n    assertReadLimit() {\n        if (this.recursiveReadCount >= this.recursiveReadLimit)\n            throw new RecursiveReadLimitExceededError({\n                count: this.recursiveReadCount + 1,\n                limit: this.recursiveReadLimit,\n            });\n    },\n    assertPosition(position) {\n        if (position < 0 || position > this.bytes.length - 1)\n            throw new PositionOutOfBoundsError({\n                length: this.bytes.length,\n                position,\n            });\n    },\n    decrementPosition(offset) {\n        if (offset < 0)\n            throw new NegativeOffsetError({ offset });\n        const position = this.position - offset;\n        this.assertPosition(position);\n        this.position = position;\n    },\n    getReadCount(position) {\n        return this.positionReadCount.get(position || this.position) || 0;\n    },\n    incrementPosition(offset) {\n        if (offset < 0)\n            throw new NegativeOffsetError({ offset });\n        const position = this.position + offset;\n        this.assertPosition(position);\n        this.position = position;\n    },\n    inspectByte(position_) {\n        const position = position_ ?? this.position;\n        this.assertPosition(position);\n        return this.bytes[position];\n    },\n    inspectBytes(length, position_) {\n        const position = position_ ?? this.position;\n        this.assertPosition(position + length - 1);\n        return this.bytes.subarray(position, position + length);\n    },\n    inspectUint8(position_) {\n        const position = position_ ?? this.position;\n        this.assertPosition(position);\n        return this.bytes[position];\n    },\n    inspectUint16(position_) {\n        const position = position_ ?? this.position;\n        this.assertPosition(position + 1);\n        return this.dataView.getUint16(position);\n    },\n    inspectUint24(position_) {\n        const position = position_ ?? this.position;\n        this.assertPosition(position + 2);\n        return ((this.dataView.getUint16(position) << 8) +\n            this.dataView.getUint8(position + 2));\n    },\n    inspectUint32(position_) {\n        const position = position_ ?? this.position;\n        this.assertPosition(position + 3);\n        return this.dataView.getUint32(position);\n    },\n    pushByte(byte) {\n        this.assertPosition(this.position);\n        this.bytes[this.position] = byte;\n        this.position++;\n    },\n    pushBytes(bytes) {\n        this.assertPosition(this.position + bytes.length - 1);\n        this.bytes.set(bytes, this.position);\n        this.position += bytes.length;\n    },\n    pushUint8(value) {\n        this.assertPosition(this.position);\n        this.bytes[this.position] = value;\n        this.position++;\n    },\n    pushUint16(value) {\n        this.assertPosition(this.position + 1);\n        this.dataView.setUint16(this.position, value);\n        this.position += 2;\n    },\n    pushUint24(value) {\n        this.assertPosition(this.position + 2);\n        this.dataView.setUint16(this.position, value >> 8);\n        this.dataView.setUint8(this.position + 2, value & ~4294967040);\n        this.position += 3;\n    },\n    pushUint32(value) {\n        this.assertPosition(this.position + 3);\n        this.dataView.setUint32(this.position, value);\n        this.position += 4;\n    },\n    readByte() {\n        this.assertReadLimit();\n        this._touch();\n        const value = this.inspectByte();\n        this.position++;\n        return value;\n    },\n    readBytes(length, size) {\n        this.assertReadLimit();\n        this._touch();\n        const value = this.inspectBytes(length);\n        this.position += size ?? length;\n        return value;\n    },\n    readUint8() {\n        this.assertReadLimit();\n        this._touch();\n        const value = this.inspectUint8();\n        this.position += 1;\n        return value;\n    },\n    readUint16() {\n        this.assertReadLimit();\n        this._touch();\n        const value = this.inspectUint16();\n        this.position += 2;\n        return value;\n    },\n    readUint24() {\n        this.assertReadLimit();\n        this._touch();\n        const value = this.inspectUint24();\n        this.position += 3;\n        return value;\n    },\n    readUint32() {\n        this.assertReadLimit();\n        this._touch();\n        const value = this.inspectUint32();\n        this.position += 4;\n        return value;\n    },\n    get remaining() {\n        return this.bytes.length - this.position;\n    },\n    setPosition(position) {\n        const oldPosition = this.position;\n        this.assertPosition(position);\n        this.position = position;\n        return () => (this.position = oldPosition);\n    },\n    _touch() {\n        if (this.recursiveReadLimit === Number.POSITIVE_INFINITY)\n            return;\n        const count = this.getReadCount();\n        this.positionReadCount.set(this.position, count + 1);\n        if (count > 0)\n            this.recursiveReadCount++;\n    },\n};\nexport function createCursor(bytes, { recursiveReadLimit = 8_192 } = {}) {\n    const cursor = Object.create(staticCursor);\n    cursor.bytes = bytes;\n    cursor.dataView = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n    cursor.positionReadCount = new Map();\n    cursor.recursiveReadLimit = recursiveReadLimit;\n    return cursor;\n}\n//# sourceMappingURL=cursor.js.map","import { BaseError } from '../../errors/base.js';\nimport { createCursor, } from '../cursor.js';\nimport { hexToBytes } from './toBytes.js';\nimport { bytesToHex } from './toHex.js';\nexport function toRlp(bytes, to = 'hex') {\n    const encodable = getEncodable(bytes);\n    const cursor = createCursor(new Uint8Array(encodable.length));\n    encodable.encode(cursor);\n    if (to === 'hex')\n        return bytesToHex(cursor.bytes);\n    return cursor.bytes;\n}\nexport function bytesToRlp(bytes, to = 'bytes') {\n    return toRlp(bytes, to);\n}\nexport function hexToRlp(hex, to = 'hex') {\n    return toRlp(hex, to);\n}\nfunction getEncodable(bytes) {\n    if (Array.isArray(bytes))\n        return getEncodableList(bytes.map((x) => getEncodable(x)));\n    return getEncodableBytes(bytes);\n}\nfunction getEncodableList(list) {\n    const bodyLength = list.reduce((acc, x) => acc + x.length, 0);\n    const sizeOfBodyLength = getSizeOfLength(bodyLength);\n    const length = (() => {\n        if (bodyLength <= 55)\n            return 1 + bodyLength;\n        return 1 + sizeOfBodyLength + bodyLength;\n    })();\n    return {\n        length,\n        encode(cursor) {\n            if (bodyLength <= 55) {\n                cursor.pushByte(0xc0 + bodyLength);\n            }\n            else {\n                cursor.pushByte(0xc0 + 55 + sizeOfBodyLength);\n                if (sizeOfBodyLength === 1)\n                    cursor.pushUint8(bodyLength);\n                else if (sizeOfBodyLength === 2)\n                    cursor.pushUint16(bodyLength);\n                else if (sizeOfBodyLength === 3)\n                    cursor.pushUint24(bodyLength);\n                else\n                    cursor.pushUint32(bodyLength);\n            }\n            for (const { encode } of list) {\n                encode(cursor);\n            }\n        },\n    };\n}\nfunction getEncodableBytes(bytesOrHex) {\n    const bytes = typeof bytesOrHex === 'string' ? hexToBytes(bytesOrHex) : bytesOrHex;\n    const sizeOfBytesLength = getSizeOfLength(bytes.length);\n    const length = (() => {\n        if (bytes.length === 1 && bytes[0] < 0x80)\n            return 1;\n        if (bytes.length <= 55)\n            return 1 + bytes.length;\n        return 1 + sizeOfBytesLength + bytes.length;\n    })();\n    return {\n        length,\n        encode(cursor) {\n            if (bytes.length === 1 && bytes[0] < 0x80) {\n                cursor.pushBytes(bytes);\n            }\n            else if (bytes.length <= 55) {\n                cursor.pushByte(0x80 + bytes.length);\n                cursor.pushBytes(bytes);\n            }\n            else {\n                cursor.pushByte(0x80 + 55 + sizeOfBytesLength);\n                if (sizeOfBytesLength === 1)\n                    cursor.pushUint8(bytes.length);\n                else if (sizeOfBytesLength === 2)\n                    cursor.pushUint16(bytes.length);\n                else if (sizeOfBytesLength === 3)\n                    cursor.pushUint24(bytes.length);\n                else\n                    cursor.pushUint32(bytes.length);\n                cursor.pushBytes(bytes);\n            }\n        },\n    };\n}\nfunction getSizeOfLength(length) {\n    if (length < 2 ** 8)\n        return 1;\n    if (length < 2 ** 16)\n        return 2;\n    if (length < 2 ** 24)\n        return 3;\n    if (length < 2 ** 32)\n        return 4;\n    throw new BaseError('Length is too large.');\n}\n//# sourceMappingURL=toRlp.js.map","export const etherUnits = {\n    gwei: 9,\n    wei: 18,\n};\nexport const gweiUnits = {\n    ether: -9,\n    wei: 9,\n};\nexport const weiUnits = {\n    ether: -18,\n    gwei: -9,\n};\n//# sourceMappingURL=unit.js.map","/**\n *  Divides a number by a given exponent of base 10 (10exponent), and formats it into a string representation of the number..\n *\n * - Docs: https://viem.sh/docs/utilities/formatUnits\n *\n * @example\n * import { formatUnits } from 'viem'\n *\n * formatUnits(420000000000n, 9)\n * // '420'\n */\nexport function formatUnits(value, decimals) {\n    let display = value.toString();\n    const negative = display.startsWith('-');\n    if (negative)\n        display = display.slice(1);\n    display = display.padStart(decimals, '0');\n    let [integer, fraction] = [\n        display.slice(0, display.length - decimals),\n        display.slice(display.length - decimals),\n    ];\n    fraction = fraction.replace(/(0+)$/, '');\n    return `${negative ? '-' : ''}${integer || '0'}${fraction ? `.${fraction}` : ''}`;\n}\n//# sourceMappingURL=formatUnits.js.map","import { gweiUnits } from '../../constants/unit.js';\nimport { formatUnits } from './formatUnits.js';\n/**\n * Converts numerical wei to a string representation of gwei.\n *\n * - Docs: https://viem.sh/docs/utilities/formatGwei\n *\n * @example\n * import { formatGwei } from 'viem'\n *\n * formatGwei(1000000000n)\n * // '1'\n */\nexport function formatGwei(wei, unit = 'wei') {\n    return formatUnits(wei, gweiUnits[unit]);\n}\n//# sourceMappingURL=formatGwei.js.map","import { formatEther } from '../utils/unit/formatEther.js';\nimport { formatGwei } from '../utils/unit/formatGwei.js';\nimport { BaseError } from './base.js';\nexport function prettyPrint(args) {\n    const entries = Object.entries(args)\n        .map(([key, value]) => {\n        if (value === undefined || value === false)\n            return null;\n        return [key, value];\n    })\n        .filter(Boolean);\n    const maxLength = entries.reduce((acc, [key]) => Math.max(acc, key.length), 0);\n    return entries\n        .map(([key, value]) => `  ${`${key}:`.padEnd(maxLength + 1)}  ${value}`)\n        .join('\\n');\n}\nexport class FeeConflictError extends BaseError {\n    constructor() {\n        super([\n            'Cannot specify both a `gasPrice` and a `maxFeePerGas`/`maxPriorityFeePerGas`.',\n            'Use `maxFeePerGas`/`maxPriorityFeePerGas` for EIP-1559 compatible networks, and `gasPrice` for others.',\n        ].join('\\n'), { name: 'FeeConflictError' });\n    }\n}\nexport class InvalidLegacyVError extends BaseError {\n    constructor({ v }) {\n        super(`Invalid \\`v\\` value \"${v}\". Expected 27 or 28.`, {\n            name: 'InvalidLegacyVError',\n        });\n    }\n}\nexport class InvalidSerializableTransactionError extends BaseError {\n    constructor({ transaction }) {\n        super('Cannot infer a transaction type from provided transaction.', {\n            metaMessages: [\n                'Provided Transaction:',\n                '{',\n                prettyPrint(transaction),\n                '}',\n                '',\n                'To infer the type, either provide:',\n                '- a `type` to the Transaction, or',\n                '- an EIP-1559 Transaction with `maxFeePerGas`, or',\n                '- an EIP-2930 Transaction with `gasPrice` & `accessList`, or',\n                '- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or',\n                '- an EIP-7702 Transaction with `authorizationList`, or',\n                '- a Legacy Transaction with `gasPrice`',\n            ],\n            name: 'InvalidSerializableTransactionError',\n        });\n    }\n}\nexport class InvalidSerializedTransactionTypeError extends BaseError {\n    constructor({ serializedType }) {\n        super(`Serialized transaction type \"${serializedType}\" is invalid.`, {\n            name: 'InvalidSerializedTransactionType',\n        });\n        Object.defineProperty(this, \"serializedType\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: void 0\n        });\n        this.serializedType = serializedType;\n    }\n}\nexport class InvalidSerializedTransactionError extends BaseError {\n    constructor({ attributes, serializedTransaction, type, }) {\n        const missing = Object.entries(attributes)\n            .map(([key, value]) => (typeof value === 'undefined' ? key : undefined))\n            .filter(Boolean);\n        super(`Invalid serialized transaction of type \"${type}\" was provided.`, {\n            metaMessages: [\n                `Serialized Transaction: \"${serializedTransaction}\"`,\n                missing.length > 0 ? `Missing Attributes: ${missing.join(', ')}` : '',\n            ].filter(Boolean),\n            name: 'InvalidSerializedTransactionError',\n        });\n        Object.defineProperty(this, \"serializedTransaction\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: void 0\n        });\n        Object.defineProperty(this, \"type\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: void 0\n        });\n        this.serializedTransaction = serializedTransaction;\n        this.type = type;\n    }\n}\nexport class InvalidStorageKeySizeError extends BaseError {\n    constructor({ storageKey }) {\n        super(`Size for storage key \"${storageKey}\" is invalid. Expected 32 bytes. Got ${Math.floor((storageKey.length - 2) / 2)} bytes.`, { name: 'InvalidStorageKeySizeError' });\n    }\n}\nexport class TransactionExecutionError extends BaseError {\n    constructor(cause, { account, docsPath, chain, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, }) {\n        const prettyArgs = prettyPrint({\n            chain: chain && `${chain?.name} (id: ${chain?.id})`,\n            from: account?.address,\n            to,\n            value: typeof value !== 'undefined' &&\n                `${formatEther(value)} ${chain?.nativeCurrency?.symbol || 'ETH'}`,\n            data,\n            gas,\n            gasPrice: typeof gasPrice !== 'undefined' && `${formatGwei(gasPrice)} gwei`,\n            maxFeePerGas: typeof maxFeePerGas !== 'undefined' &&\n                `${formatGwei(maxFeePerGas)} gwei`,\n            maxPriorityFeePerGas: typeof maxPriorityFeePerGas !== 'undefined' &&\n                `${formatGwei(maxPriorityFeePerGas)} gwei`,\n            nonce,\n        });\n        super(cause.shortMessage, {\n            cause,\n            docsPath,\n            metaMessages: [\n                ...(cause.metaMessages ? [...cause.metaMessages, ' '] : []),\n                'Request Arguments:',\n                prettyArgs,\n            ].filter(Boolean),\n            name: 'TransactionExecutionError',\n        });\n        Object.defineProperty(this, \"cause\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: void 0\n        });\n        this.cause = cause;\n    }\n}\nexport class TransactionNotFoundError extends BaseError {\n    constructor({ blockHash, blockNumber, blockTag, hash, index, }) {\n        let identifier = 'Transaction';\n        if (blockTag && index !== undefined)\n            identifier = `Transaction at block time \"${blockTag}\" at index \"${index}\"`;\n        if (blockHash && index !== undefined)\n            identifier = `Transaction at block hash \"${blockHash}\" at index \"${index}\"`;\n        if (blockNumber && index !== undefined)\n            identifier = `Transaction at block number \"${blockNumber}\" at index \"${index}\"`;\n        if (hash)\n            identifier = `Transaction with hash \"${hash}\"`;\n        super(`${identifier} could not be found.`, {\n            name: 'TransactionNotFoundError',\n        });\n    }\n}\nexport class TransactionReceiptNotFoundError extends BaseError {\n    constructor({ hash }) {\n        super(`Transaction receipt with hash \"${hash}\" could not be found. The Transaction may not be processed on a block yet.`, {\n            name: 'TransactionReceiptNotFoundError',\n        });\n    }\n}\nexport class WaitForTransactionReceiptTimeoutError extends BaseError {\n    constructor({ hash }) {\n        super(`Timed out while waiting for transaction with hash \"${hash}\" to be confirmed.`, { name: 'WaitForTransactionReceiptTimeoutError' });\n    }\n}\n//# sourceMappingURL=transaction.js.map","import { toHex } from '../encoding/toHex.js';\nimport { toYParitySignatureArray } from '../transaction/serializeTransaction.js';\n/*\n * Serializes an EIP-7702 authorization list.\n */\nexport function serializeAuthorizationList(authorizationList) {\n    if (!authorizationList || authorizationList.length === 0)\n        return [];\n    const serializedAuthorizationList = [];\n    for (const authorization of authorizationList) {\n        const { chainId, nonce, ...signature } = authorization;\n        const contractAddress = authorization.address;\n        serializedAuthorizationList.push([\n            chainId ? toHex(chainId) : '0x',\n            contractAddress,\n            nonce ? toHex(nonce) : '0x',\n            ...toYParitySignatureArray({}, signature),\n        ]);\n    }\n    return serializedAuthorizationList;\n}\n//# sourceMappingURL=serializeAuthorizationList.js.map","import { hexToBytes } from '../encoding/toBytes.js';\nimport { bytesToHex } from '../encoding/toHex.js';\n/**\n * Compute commitments from a list of blobs.\n *\n * @example\n * ```ts\n * import { blobsToCommitments, toBlobs } from 'viem'\n * import { kzg } from './kzg'\n *\n * const blobs = toBlobs({ data: '0x1234' })\n * const commitments = blobsToCommitments({ blobs, kzg })\n * ```\n */\nexport function blobsToCommitments(parameters) {\n    const { kzg } = parameters;\n    const to = parameters.to ?? (typeof parameters.blobs[0] === 'string' ? 'hex' : 'bytes');\n    const blobs = (typeof parameters.blobs[0] === 'string'\n        ? parameters.blobs.map((x) => hexToBytes(x))\n        : parameters.blobs);\n    const commitments = [];\n    for (const blob of blobs)\n        commitments.push(Uint8Array.from(kzg.blobToKzgCommitment(blob)));\n    return (to === 'bytes'\n        ? commitments\n        : commitments.map((x) => bytesToHex(x)));\n}\n//# sourceMappingURL=blobsToCommitments.js.map","import { hexToBytes } from '../encoding/toBytes.js';\nimport { bytesToHex } from '../encoding/toHex.js';\n/**\n * Compute the proofs for a list of blobs and their commitments.\n *\n * @example\n * ```ts\n * import {\n *   blobsToCommitments,\n *   toBlobs\n * } from 'viem'\n * import { kzg } from './kzg'\n *\n * const blobs = toBlobs({ data: '0x1234' })\n * const commitments = blobsToCommitments({ blobs, kzg })\n * const proofs = blobsToProofs({ blobs, commitments, kzg })\n * ```\n */\nexport function blobsToProofs(parameters) {\n    const { kzg } = parameters;\n    const to = parameters.to ?? (typeof parameters.blobs[0] === 'string' ? 'hex' : 'bytes');\n    const blobs = (typeof parameters.blobs[0] === 'string'\n        ? parameters.blobs.map((x) => hexToBytes(x))\n        : parameters.blobs);\n    const commitments = (typeof parameters.commitments[0] === 'string'\n        ? parameters.commitments.map((x) => hexToBytes(x))\n        : parameters.commitments);\n    const proofs = [];\n    for (let i = 0; i < blobs.length; i++) {\n        const blob = blobs[i];\n        const commitment = commitments[i];\n        proofs.push(Uint8Array.from(kzg.computeBlobKzgProof(blob, commitment)));\n    }\n    return (to === 'bytes'\n        ? proofs\n        : proofs.map((x) => bytesToHex(x)));\n}\n//# sourceMappingURL=blobsToProofs.js.map","/**\n * Internal assertion helpers.\n * @module\n */\n/** Asserts something is positive integer. */\nfunction anumber(n) {\n    if (!Number.isSafeInteger(n) || n < 0)\n        throw new Error('positive integer expected, got ' + n);\n}\n/** Is number an Uint8Array? Copied from utils for perf. */\nfunction isBytes(a) {\n    return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array');\n}\n/** Asserts something is Uint8Array. */\nfunction abytes(b, ...lengths) {\n    if (!isBytes(b))\n        throw new Error('Uint8Array expected');\n    if (lengths.length > 0 && !lengths.includes(b.length))\n        throw new Error('Uint8Array expected of length ' + lengths + ', got length=' + b.length);\n}\n/** Asserts something is hash */\nfunction ahash(h) {\n    if (typeof h !== 'function' || typeof h.create !== 'function')\n        throw new Error('Hash should be wrapped by utils.wrapConstructor');\n    anumber(h.outputLen);\n    anumber(h.blockLen);\n}\n/** Asserts a hash instance has not been destroyed / finished */\nfunction aexists(instance, checkFinished = true) {\n    if (instance.destroyed)\n        throw new Error('Hash instance has been destroyed');\n    if (checkFinished && instance.finished)\n        throw new Error('Hash#digest() has already been called');\n}\n/** Asserts output is properly-sized byte array */\nfunction aoutput(out, instance) {\n    abytes(out);\n    const min = instance.outputLen;\n    if (out.length < min) {\n        throw new Error('digestInto() expects output buffer of length at least ' + min);\n    }\n}\nexport { anumber, abytes, ahash, aexists, aoutput };\n//# sourceMappingURL=_assert.js.map","/**\n * Utilities for hex, bytes, CSPRNG.\n * @module\n */\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+.\n// node.js versions earlier than v19 don't declare it in global scope.\n// For node.js, package.json#exports field mapping rewrites import\n// from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated (2025-04-30), we can just drop the import.\nimport { crypto } from '@noble/hashes/crypto';\nimport { abytes } from \"./_assert.js\";\n// export { isBytes } from './_assert.ts';\n// We can't reuse isBytes from _assert, because somehow this causes huge perf issues\nexport function isBytes(a) {\n    return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array');\n}\n// Cast array to different type\nexport function u8(arr) {\n    return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\n}\nexport function u32(arr) {\n    return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n}\n// Cast array to view\nexport function createView(arr) {\n    return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n}\n/** The rotate right (circular right shift) operation for uint32 */\nexport function rotr(word, shift) {\n    return (word << (32 - shift)) | (word >>> shift);\n}\n/** The rotate left (circular left shift) operation for uint32 */\nexport function rotl(word, shift) {\n    return (word << shift) | ((word >>> (32 - shift)) >>> 0);\n}\n/** Is current platform little-endian? Most are. Big-Endian platform: IBM */\nexport const isLE = /* @__PURE__ */ (() => new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44)();\n// The byte swap operation for uint32\nexport function byteSwap(word) {\n    return (((word << 24) & 0xff000000) |\n        ((word << 8) & 0xff0000) |\n        ((word >>> 8) & 0xff00) |\n        ((word >>> 24) & 0xff));\n}\n/** Conditionally byte swap if on a big-endian platform */\nexport const byteSwapIfBE = isLE\n    ? (n) => n\n    : (n) => byteSwap(n);\n/** In place byte swap for Uint32Array */\nexport function byteSwap32(arr) {\n    for (let i = 0; i < arr.length; i++) {\n        arr[i] = byteSwap(arr[i]);\n    }\n}\n// Built-in hex conversion https://caniuse.com/mdn-javascript_builtins_uint8array_fromhex\nconst hasHexBuiltin = \n// @ts-ignore\ntypeof Uint8Array.from([]).toHex === 'function' && typeof Uint8Array.fromHex === 'function';\n// Array where index 0xf0 (240) is mapped to string 'f0'\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * Convert byte array to hex string. Uses built-in function, when available.\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes) {\n    abytes(bytes);\n    // @ts-ignore\n    if (hasHexBuiltin)\n        return bytes.toHex();\n    // pre-caching improves the speed 6x\n    let hex = '';\n    for (let i = 0; i < bytes.length; i++) {\n        hex += hexes[bytes[i]];\n    }\n    return hex;\n}\n// We use optimized technique to convert hex string to byte array\nconst asciis = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 };\nfunction asciiToBase16(ch) {\n    if (ch >= asciis._0 && ch <= asciis._9)\n        return ch - asciis._0; // '2' => 50-48\n    if (ch >= asciis.A && ch <= asciis.F)\n        return ch - (asciis.A - 10); // 'B' => 66-(65-10)\n    if (ch >= asciis.a && ch <= asciis.f)\n        return ch - (asciis.a - 10); // 'b' => 98-(97-10)\n    return;\n}\n/**\n * Convert hex string to byte array. Uses built-in function, when available.\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex) {\n    if (typeof hex !== 'string')\n        throw new Error('hex string expected, got ' + typeof hex);\n    // @ts-ignore\n    if (hasHexBuiltin)\n        return Uint8Array.fromHex(hex);\n    const hl = hex.length;\n    const al = hl / 2;\n    if (hl % 2)\n        throw new Error('hex string expected, got unpadded hex of length ' + hl);\n    const array = new Uint8Array(al);\n    for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n        const n1 = asciiToBase16(hex.charCodeAt(hi));\n        const n2 = asciiToBase16(hex.charCodeAt(hi + 1));\n        if (n1 === undefined || n2 === undefined) {\n            const char = hex[hi] + hex[hi + 1];\n            throw new Error('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n        }\n        array[ai] = n1 * 16 + n2; // multiply first octet, e.g. 'a3' => 10*16+3 => 160 + 3 => 163\n    }\n    return array;\n}\n/**\n * There is no setImmediate in browser and setTimeout is slow.\n * Call of async fn will return Promise, which will be fullfiled only on\n * next scheduler queue processing step and this is exactly what we need.\n */\nexport const nextTick = async () => { };\n/** Returns control to thread each 'tick' ms to avoid blocking. */\nexport async function asyncLoop(iters, tick, cb) {\n    let ts = Date.now();\n    for (let i = 0; i < iters; i++) {\n        cb(i);\n        // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n        const diff = Date.now() - ts;\n        if (diff >= 0 && diff < tick)\n            continue;\n        await nextTick();\n        ts += diff;\n    }\n}\n/**\n * Convert JS string to byte array.\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str) {\n    if (typeof str !== 'string')\n        throw new Error('utf8ToBytes expected string, got ' + typeof str);\n    return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n/**\n * Normalizes (non-hex) string or Uint8Array to Uint8Array.\n * Warning: when Uint8Array is passed, it would NOT get copied.\n * Keep in mind for future mutable operations.\n */\nexport function toBytes(data) {\n    if (typeof data === 'string')\n        data = utf8ToBytes(data);\n    abytes(data);\n    return data;\n}\n/**\n * Copies several Uint8Arrays into one.\n */\nexport function concatBytes(...arrays) {\n    let sum = 0;\n    for (let i = 0; i < arrays.length; i++) {\n        const a = arrays[i];\n        abytes(a);\n        sum += a.length;\n    }\n    const res = new Uint8Array(sum);\n    for (let i = 0, pad = 0; i < arrays.length; i++) {\n        const a = arrays[i];\n        res.set(a, pad);\n        pad += a.length;\n    }\n    return res;\n}\n/** For runtime check if class implements interface */\nexport class Hash {\n    // Safe version that clones internal state\n    clone() {\n        return this._cloneInto();\n    }\n}\nexport function checkOpts(defaults, opts) {\n    if (opts !== undefined && {}.toString.call(opts) !== '[object Object]')\n        throw new Error('Options should be object or undefined');\n    const merged = Object.assign(defaults, opts);\n    return merged;\n}\n/** Wraps hash function, creating an interface on top of it */\nexport function wrapConstructor(hashCons) {\n    const hashC = (msg) => hashCons().update(toBytes(msg)).digest();\n    const tmp = hashCons();\n    hashC.outputLen = tmp.outputLen;\n    hashC.blockLen = tmp.blockLen;\n    hashC.create = () => hashCons();\n    return hashC;\n}\nexport function wrapConstructorWithOpts(hashCons) {\n    const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n    const tmp = hashCons({});\n    hashC.outputLen = tmp.outputLen;\n    hashC.blockLen = tmp.blockLen;\n    hashC.create = (opts) => hashCons(opts);\n    return hashC;\n}\nexport function wrapXOFConstructorWithOpts(hashCons) {\n    const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n    const tmp = hashCons({});\n    hashC.outputLen = tmp.outputLen;\n    hashC.blockLen = tmp.blockLen;\n    hashC.create = (opts) => hashCons(opts);\n    return hashC;\n}\n/** Cryptographically secure PRNG. Uses internal OS-level `crypto.getRandomValues`. */\nexport function randomBytes(bytesLength = 32) {\n    if (crypto && typeof crypto.getRandomValues === 'function') {\n        return crypto.getRandomValues(new Uint8Array(bytesLength));\n    }\n    // Legacy Node.js compatibility\n    if (crypto && typeof crypto.randomBytes === 'function') {\n        return Uint8Array.from(crypto.randomBytes(bytesLength));\n    }\n    throw new Error('crypto.getRandomValues must be defined');\n}\n//# sourceMappingURL=utils.js.map","/**\n * Internal Merkle-Damgard hash utils.\n * @module\n */\nimport { aexists, aoutput } from \"./_assert.js\";\nimport { Hash, createView, toBytes } from \"./utils.js\";\n/** Polyfill for Safari 14. https://caniuse.com/mdn-javascript_builtins_dataview_setbiguint64 */\nexport function setBigUint64(view, byteOffset, value, isLE) {\n    if (typeof view.setBigUint64 === 'function')\n        return view.setBigUint64(byteOffset, value, isLE);\n    const _32n = BigInt(32);\n    const _u32_max = BigInt(0xffffffff);\n    const wh = Number((value >> _32n) & _u32_max);\n    const wl = Number(value & _u32_max);\n    const h = isLE ? 4 : 0;\n    const l = isLE ? 0 : 4;\n    view.setUint32(byteOffset + h, wh, isLE);\n    view.setUint32(byteOffset + l, wl, isLE);\n}\n/** Choice: a ? b : c */\nexport function Chi(a, b, c) {\n    return (a & b) ^ (~a & c);\n}\n/** Majority function, true if any two inputs is true. */\nexport function Maj(a, b, c) {\n    return (a & b) ^ (a & c) ^ (b & c);\n}\n/**\n * Merkle-Damgard hash construction base class.\n * Could be used to create MD5, RIPEMD, SHA1, SHA2.\n */\nexport class HashMD extends Hash {\n    constructor(blockLen, outputLen, padOffset, isLE) {\n        super();\n        this.finished = false;\n        this.length = 0;\n        this.pos = 0;\n        this.destroyed = false;\n        this.blockLen = blockLen;\n        this.outputLen = outputLen;\n        this.padOffset = padOffset;\n        this.isLE = isLE;\n        this.buffer = new Uint8Array(blockLen);\n        this.view = createView(this.buffer);\n    }\n    update(data) {\n        aexists(this);\n        const { view, buffer, blockLen } = this;\n        data = toBytes(data);\n        const len = data.length;\n        for (let pos = 0; pos < len;) {\n            const take = Math.min(blockLen - this.pos, len - pos);\n            // Fast path: we have at least one block in input, cast it to view and process\n            if (take === blockLen) {\n                const dataView = createView(data);\n                for (; blockLen <= len - pos; pos += blockLen)\n                    this.process(dataView, pos);\n                continue;\n            }\n            buffer.set(data.subarray(pos, pos + take), this.pos);\n            this.pos += take;\n            pos += take;\n            if (this.pos === blockLen) {\n                this.process(view, 0);\n                this.pos = 0;\n            }\n        }\n        this.length += data.length;\n        this.roundClean();\n        return this;\n    }\n    digestInto(out) {\n        aexists(this);\n        aoutput(out, this);\n        this.finished = true;\n        // Padding\n        // We can avoid allocation of buffer for padding completely if it\n        // was previously not allocated here. But it won't change performance.\n        const { buffer, view, blockLen, isLE } = this;\n        let { pos } = this;\n        // append the bit '1' to the message\n        buffer[pos++] = 0b10000000;\n        this.buffer.subarray(pos).fill(0);\n        // we have less than padOffset left in buffer, so we cannot put length in\n        // current block, need process it and pad again\n        if (this.padOffset > blockLen - pos) {\n            this.process(view, 0);\n            pos = 0;\n        }\n        // Pad until full block byte with zeros\n        for (let i = pos; i < blockLen; i++)\n            buffer[i] = 0;\n        // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that\n        // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.\n        // So we just write lowest 64 bits of that value.\n        setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);\n        this.process(view, 0);\n        const oview = createView(out);\n        const len = this.outputLen;\n        // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT\n        if (len % 4)\n            throw new Error('_sha2: outputLen should be aligned to 32bit');\n        const outLen = len / 4;\n        const state = this.get();\n        if (outLen > state.length)\n            throw new Error('_sha2: outputLen bigger than state');\n        for (let i = 0; i < outLen; i++)\n            oview.setUint32(4 * i, state[i], isLE);\n    }\n    digest() {\n        const { buffer, outputLen } = this;\n        this.digestInto(buffer);\n        const res = buffer.slice(0, outputLen);\n        this.destroy();\n        return res;\n    }\n    _cloneInto(to) {\n        to || (to = new this.constructor());\n        to.set(...this.get());\n        const { blockLen, buffer, length, finished, destroyed, pos } = this;\n        to.length = length;\n        to.pos = pos;\n        to.finished = finished;\n        to.destroyed = destroyed;\n        if (length % blockLen)\n            to.buffer.set(buffer);\n        return to;\n    }\n}\n//# sourceMappingURL=_md.js.map","/**\n * SHA2-256 a.k.a. sha256. In JS, it is the fastest hash, even faster than Blake3.\n *\n * To break sha256 using birthday attack, attackers need to try 2^128 hashes.\n * BTC network is doing 2^70 hashes/sec (2^95 hashes/year) as per 2025.\n *\n * Check out [FIPS 180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf).\n * @module\n */\nimport { Chi, HashMD, Maj } from \"./_md.js\";\nimport { rotr, wrapConstructor } from \"./utils.js\";\n/** Round constants: first 32 bits of fractional parts of the cube roots of the first 64 primes 2..311). */\n// prettier-ignore\nconst SHA256_K = /* @__PURE__ */ new Uint32Array([\n    0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n    0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n    0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n    0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n    0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n    0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n    0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n    0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n/** Initial state: first 32 bits of fractional parts of the square roots of the first 8 primes 2..19. */\n// prettier-ignore\nconst SHA256_IV = /* @__PURE__ */ new Uint32Array([\n    0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n]);\n/**\n * Temporary buffer, not used to store anything between runs.\n * Named this way because it matches specification.\n */\nconst SHA256_W = /* @__PURE__ */ new Uint32Array(64);\nexport class SHA256 extends HashMD {\n    constructor(outputLen = 32) {\n        super(64, outputLen, 8, false);\n        // We cannot use array here since array allows indexing by variable\n        // which means optimizer/compiler cannot use registers.\n        this.A = SHA256_IV[0] | 0;\n        this.B = SHA256_IV[1] | 0;\n        this.C = SHA256_IV[2] | 0;\n        this.D = SHA256_IV[3] | 0;\n        this.E = SHA256_IV[4] | 0;\n        this.F = SHA256_IV[5] | 0;\n        this.G = SHA256_IV[6] | 0;\n        this.H = SHA256_IV[7] | 0;\n    }\n    get() {\n        const { A, B, C, D, E, F, G, H } = this;\n        return [A, B, C, D, E, F, G, H];\n    }\n    // prettier-ignore\n    set(A, B, C, D, E, F, G, H) {\n        this.A = A | 0;\n        this.B = B | 0;\n        this.C = C | 0;\n        this.D = D | 0;\n        this.E = E | 0;\n        this.F = F | 0;\n        this.G = G | 0;\n        this.H = H | 0;\n    }\n    process(view, offset) {\n        // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array\n        for (let i = 0; i < 16; i++, offset += 4)\n            SHA256_W[i] = view.getUint32(offset, false);\n        for (let i = 16; i < 64; i++) {\n            const W15 = SHA256_W[i - 15];\n            const W2 = SHA256_W[i - 2];\n            const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3);\n            const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10);\n            SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;\n        }\n        // Compression function main loop, 64 rounds\n        let { A, B, C, D, E, F, G, H } = this;\n        for (let i = 0; i < 64; i++) {\n            const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);\n            const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n            const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22);\n            const T2 = (sigma0 + Maj(A, B, C)) | 0;\n            H = G;\n            G = F;\n            F = E;\n            E = (D + T1) | 0;\n            D = C;\n            C = B;\n            B = A;\n            A = (T1 + T2) | 0;\n        }\n        // Add the compressed chunk to the current hash value\n        A = (A + this.A) | 0;\n        B = (B + this.B) | 0;\n        C = (C + this.C) | 0;\n        D = (D + this.D) | 0;\n        E = (E + this.E) | 0;\n        F = (F + this.F) | 0;\n        G = (G + this.G) | 0;\n        H = (H + this.H) | 0;\n        this.set(A, B, C, D, E, F, G, H);\n    }\n    roundClean() {\n        SHA256_W.fill(0);\n    }\n    destroy() {\n        this.set(0, 0, 0, 0, 0, 0, 0, 0);\n        this.buffer.fill(0);\n    }\n}\n/**\n * Constants taken from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf.\n */\nclass SHA224 extends SHA256 {\n    constructor() {\n        super(28);\n        this.A = 0xc1059ed8 | 0;\n        this.B = 0x367cd507 | 0;\n        this.C = 0x3070dd17 | 0;\n        this.D = 0xf70e5939 | 0;\n        this.E = 0xffc00b31 | 0;\n        this.F = 0x68581511 | 0;\n        this.G = 0x64f98fa7 | 0;\n        this.H = 0xbefa4fa4 | 0;\n    }\n}\n/** SHA2-256 hash function */\nexport const sha256 = /* @__PURE__ */ wrapConstructor(() => new SHA256());\n/** SHA2-224 hash function */\nexport const sha224 = /* @__PURE__ */ wrapConstructor(() => new SHA224());\n//# sourceMappingURL=sha256.js.map","import { sha256 as noble_sha256 } from '@noble/hashes/sha256';\nimport { isHex } from '../data/isHex.js';\nimport { toBytes } from '../encoding/toBytes.js';\nimport { toHex } from '../encoding/toHex.js';\nexport function sha256(value, to_) {\n    const to = to_ || 'hex';\n    const bytes = noble_sha256(isHex(value, { strict: false }) ? toBytes(value) : value);\n    if (to === 'bytes')\n        return bytes;\n    return toHex(bytes);\n}\n//# sourceMappingURL=sha256.js.map","import { bytesToHex } from '../encoding/toHex.js';\nimport { sha256 } from '../hash/sha256.js';\n/**\n * Transform a commitment to it's versioned hash.\n *\n * @example\n * ```ts\n * import {\n *   blobsToCommitments,\n *   commitmentToVersionedHash,\n *   toBlobs\n * } from 'viem'\n * import { kzg } from './kzg'\n *\n * const blobs = toBlobs({ data: '0x1234' })\n * const [commitment] = blobsToCommitments({ blobs, kzg })\n * const versionedHash = commitmentToVersionedHash({ commitment })\n * ```\n */\nexport function commitmentToVersionedHash(parameters) {\n    const { commitment, version = 1 } = parameters;\n    const to = parameters.to ?? (typeof commitment === 'string' ? 'hex' : 'bytes');\n    const versionedHash = sha256(commitment, 'bytes');\n    versionedHash.set([version], 0);\n    return (to === 'bytes' ? versionedHash : bytesToHex(versionedHash));\n}\n//# sourceMappingURL=commitmentToVersionedHash.js.map","import { commitmentToVersionedHash, } from './commitmentToVersionedHash.js';\n/**\n * Transform a list of commitments to their versioned hashes.\n *\n * @example\n * ```ts\n * import {\n *   blobsToCommitments,\n *   commitmentsToVersionedHashes,\n *   toBlobs\n * } from 'viem'\n * import { kzg } from './kzg'\n *\n * const blobs = toBlobs({ data: '0x1234' })\n * const commitments = blobsToCommitments({ blobs, kzg })\n * const versionedHashes = commitmentsToVersionedHashes({ commitments })\n * ```\n */\nexport function commitmentsToVersionedHashes(parameters) {\n    const { commitments, version } = parameters;\n    const to = parameters.to ?? (typeof commitments[0] === 'string' ? 'hex' : 'bytes');\n    const hashes = [];\n    for (const commitment of commitments) {\n        hashes.push(commitmentToVersionedHash({\n            commitment,\n            to,\n            version,\n        }));\n    }\n    return hashes;\n}\n//# sourceMappingURL=commitmentsToVersionedHashes.js.map","// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md#parameters\n/** Blob limit per transaction. */\nconst blobsPerTransaction = 6;\n/** The number of bytes in a BLS scalar field element. */\nexport const bytesPerFieldElement = 32;\n/** The number of field elements in a blob. */\nexport const fieldElementsPerBlob = 4096;\n/** The number of bytes in a blob. */\nexport const bytesPerBlob = bytesPerFieldElement * fieldElementsPerBlob;\n/** Blob bytes limit per transaction. */\nexport const maxBytesPerTransaction = bytesPerBlob * blobsPerTransaction -\n    // terminator byte (0x80).\n    1 -\n    // zero byte (0x00) appended to each field element.\n    1 * fieldElementsPerBlob * blobsPerTransaction;\n//# sourceMappingURL=blob.js.map","// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md#parameters\nexport const versionedHashVersionKzg = 1;\n//# sourceMappingURL=kzg.js.map","import { versionedHashVersionKzg } from '../constants/kzg.js';\nimport { BaseError } from './base.js';\nexport class BlobSizeTooLargeError extends BaseError {\n    constructor({ maxSize, size }) {\n        super('Blob size is too large.', {\n            metaMessages: [`Max: ${maxSize} bytes`, `Given: ${size} bytes`],\n            name: 'BlobSizeTooLargeError',\n        });\n    }\n}\nexport class EmptyBlobError extends BaseError {\n    constructor() {\n        super('Blob data must not be empty.', { name: 'EmptyBlobError' });\n    }\n}\nexport class InvalidVersionedHashSizeError extends BaseError {\n    constructor({ hash, size, }) {\n        super(`Versioned hash \"${hash}\" size is invalid.`, {\n            metaMessages: ['Expected: 32', `Received: ${size}`],\n            name: 'InvalidVersionedHashSizeError',\n        });\n    }\n}\nexport class InvalidVersionedHashVersionError extends BaseError {\n    constructor({ hash, version, }) {\n        super(`Versioned hash \"${hash}\" version is invalid.`, {\n            metaMessages: [\n                `Expected: ${versionedHashVersionKzg}`,\n                `Received: ${version}`,\n            ],\n            name: 'InvalidVersionedHashVersionError',\n        });\n    }\n}\n//# sourceMappingURL=blob.js.map","import { bytesPerBlob, bytesPerFieldElement, fieldElementsPerBlob, maxBytesPerTransaction, } from '../../constants/blob.js';\nimport { BlobSizeTooLargeError, EmptyBlobError, } from '../../errors/blob.js';\nimport { createCursor } from '../cursor.js';\nimport { size } from '../data/size.js';\nimport { hexToBytes } from '../encoding/toBytes.js';\nimport { bytesToHex } from '../encoding/toHex.js';\n/**\n * Transforms arbitrary data to blobs.\n *\n * @example\n * ```ts\n * import { toBlobs, stringToHex } from 'viem'\n *\n * const blobs = toBlobs({ data: stringToHex('hello world') })\n * ```\n */\nexport function toBlobs(parameters) {\n    const to = parameters.to ?? (typeof parameters.data === 'string' ? 'hex' : 'bytes');\n    const data = (typeof parameters.data === 'string'\n        ? hexToBytes(parameters.data)\n        : parameters.data);\n    const size_ = size(data);\n    if (!size_)\n        throw new EmptyBlobError();\n    if (size_ > maxBytesPerTransaction)\n        throw new BlobSizeTooLargeError({\n            maxSize: maxBytesPerTransaction,\n            size: size_,\n        });\n    const blobs = [];\n    let active = true;\n    let position = 0;\n    while (active) {\n        const blob = createCursor(new Uint8Array(bytesPerBlob));\n        let size = 0;\n        while (size < fieldElementsPerBlob) {\n            const bytes = data.slice(position, position + (bytesPerFieldElement - 1));\n            // Push a zero byte so the field element doesn't overflow the BLS modulus.\n            blob.pushByte(0x00);\n            // Push the current segment of data bytes.\n            blob.pushBytes(bytes);\n            // If we detect that the current segment of data bytes is less than 31 bytes,\n            // we can stop processing and push a terminator byte to indicate the end of the blob.\n            if (bytes.length < 31) {\n                blob.pushByte(0x80);\n                active = false;\n                break;\n            }\n            size++;\n            position += 31;\n        }\n        blobs.push(blob);\n    }\n    return (to === 'bytes'\n        ? blobs.map((x) => x.bytes)\n        : blobs.map((x) => bytesToHex(x.bytes)));\n}\n//# sourceMappingURL=toBlobs.js.map","import { blobsToCommitments, } from './blobsToCommitments.js';\nimport { blobsToProofs } from './blobsToProofs.js';\nimport { toBlobs } from './toBlobs.js';\n/**\n * Transforms arbitrary data (or blobs, commitments, & proofs) into a sidecar array.\n *\n * @example\n * ```ts\n * import { toBlobSidecars, stringToHex } from 'viem'\n *\n * const sidecars = toBlobSidecars({ data: stringToHex('hello world') })\n * ```\n *\n * @example\n * ```ts\n * import {\n *   blobsToCommitments,\n *   toBlobs,\n *   blobsToProofs,\n *   toBlobSidecars,\n *   stringToHex\n * } from 'viem'\n *\n * const blobs = toBlobs({ data: stringToHex('hello world') })\n * const commitments = blobsToCommitments({ blobs, kzg })\n * const proofs = blobsToProofs({ blobs, commitments, kzg })\n *\n * const sidecars = toBlobSidecars({ blobs, commitments, proofs })\n * ```\n */\nexport function toBlobSidecars(parameters) {\n    const { data, kzg, to } = parameters;\n    const blobs = parameters.blobs ?? toBlobs({ data: data, to });\n    const commitments = parameters.commitments ?? blobsToCommitments({ blobs, kzg: kzg, to });\n    const proofs = parameters.proofs ?? blobsToProofs({ blobs, commitments, kzg: kzg, to });\n    const sidecars = [];\n    for (let i = 0; i < blobs.length; i++)\n        sidecars.push({\n            blob: blobs[i],\n            commitment: commitments[i],\n            proof: proofs[i],\n        });\n    return sidecars;\n}\n//# sourceMappingURL=toBlobSidecars.js.map","import { BaseError } from './base.js';\nexport class InvalidAddressError extends BaseError {\n    constructor({ address }) {\n        super(`Address \"${address}\" is invalid.`, {\n            metaMessages: [\n                '- Address must be a hex value of 20 bytes (40 hex characters).',\n                '- Address must match its checksum counterpart.',\n            ],\n            name: 'InvalidAddressError',\n        });\n    }\n}\n//# sourceMappingURL=address.js.map","import { BaseError } from './base.js';\nexport class ChainDoesNotSupportContract extends BaseError {\n    constructor({ blockNumber, chain, contract, }) {\n        super(`Chain \"${chain.name}\" does not support contract \"${contract.name}\".`, {\n            metaMessages: [\n                'This could be due to any of the following:',\n                ...(blockNumber &&\n                    contract.blockCreated &&\n                    contract.blockCreated > blockNumber\n                    ? [\n                        `- The contract \"${contract.name}\" was not deployed until block ${contract.blockCreated} (current block ${blockNumber}).`,\n                    ]\n                    : [\n                        `- The chain does not have the contract \"${contract.name}\" configured.`,\n                    ]),\n            ],\n            name: 'ChainDoesNotSupportContract',\n        });\n    }\n}\nexport class ChainMismatchError extends BaseError {\n    constructor({ chain, currentChainId, }) {\n        super(`The current chain of the wallet (id: ${currentChainId}) does not match the target chain for the transaction (id: ${chain.id} – ${chain.name}).`, {\n            metaMessages: [\n                `Current Chain ID:  ${currentChainId}`,\n                `Expected Chain ID: ${chain.id} – ${chain.name}`,\n            ],\n            name: 'ChainMismatchError',\n        });\n    }\n}\nexport class ChainNotFoundError extends BaseError {\n    constructor() {\n        super([\n            'No chain was provided to the request.',\n            'Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient.',\n        ].join('\\n'), {\n            name: 'ChainNotFoundError',\n        });\n    }\n}\nexport class ClientChainNotConfiguredError extends BaseError {\n    constructor() {\n        super('No chain was provided to the Client.', {\n            name: 'ClientChainNotConfiguredError',\n        });\n    }\n}\nexport class InvalidChainIdError extends BaseError {\n    constructor({ chainId }) {\n        super(typeof chainId === 'number'\n            ? `Chain ID \"${chainId}\" is invalid.`\n            : 'Chain ID is invalid.', { name: 'InvalidChainIdError' });\n    }\n}\n//# sourceMappingURL=chain.js.map","import { formatGwei } from '../utils/unit/formatGwei.js';\nimport { BaseError } from './base.js';\nexport class ExecutionRevertedError extends BaseError {\n    constructor({ cause, message, } = {}) {\n        const reason = message\n            ?.replace('execution reverted: ', '')\n            ?.replace('execution reverted', '');\n        super(`Execution reverted ${reason ? `with reason: ${reason}` : 'for an unknown reason'}.`, {\n            cause,\n            name: 'ExecutionRevertedError',\n        });\n    }\n}\nObject.defineProperty(ExecutionRevertedError, \"code\", {\n    enumerable: true,\n    configurable: true,\n    writable: true,\n    value: 3\n});\nObject.defineProperty(ExecutionRevertedError, \"nodeMessage\", {\n    enumerable: true,\n    configurable: true,\n    writable: true,\n    value: /execution reverted/\n});\nexport class FeeCapTooHighError extends BaseError {\n    constructor({ cause, maxFeePerGas, } = {}) {\n        super(`The fee cap (\\`maxFeePerGas\\`${maxFeePerGas ? ` = ${formatGwei(maxFeePerGas)} gwei` : ''}) cannot be higher than the maximum allowed value (2^256-1).`, {\n            cause,\n            name: 'FeeCapTooHighError',\n        });\n    }\n}\nObject.defineProperty(FeeCapTooHighError, \"nodeMessage\", {\n    enumerable: true,\n    configurable: true,\n    writable: true,\n    value: /max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/\n});\nexport class FeeCapTooLowError extends BaseError {\n    constructor({ cause, maxFeePerGas, } = {}) {\n        super(`The fee cap (\\`maxFeePerGas\\`${maxFeePerGas ? ` = ${formatGwei(maxFeePerGas)}` : ''} gwei) cannot be lower than the block base fee.`, {\n            cause,\n            name: 'FeeCapTooLowError',\n        });\n    }\n}\nObject.defineProperty(FeeCapTooLowError, \"nodeMessage\", {\n    enumerable: true,\n    configurable: true,\n    writable: true,\n    value: /max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/\n});\nexport class NonceTooHighError extends BaseError {\n    constructor({ cause, nonce, } = {}) {\n        super(`Nonce provided for the transaction ${nonce ? `(${nonce}) ` : ''}is higher than the next one expected.`, { cause, name: 'NonceTooHighError' });\n    }\n}\nObject.defineProperty(NonceTooHighError, \"nodeMessage\", {\n    enumerable: true,\n    configurable: true,\n    writable: true,\n    value: /nonce too high/\n});\nexport class NonceTooLowError extends BaseError {\n    constructor({ cause, nonce, } = {}) {\n        super([\n            `Nonce provided for the transaction ${nonce ? `(${nonce}) ` : ''}is lower than the current nonce of the account.`,\n            'Try increasing the nonce or find the latest nonce with `getTransactionCount`.',\n        ].join('\\n'), { cause, name: 'NonceTooLowError' });\n    }\n}\nObject.defineProperty(NonceTooLowError, \"nodeMessage\", {\n    enumerable: true,\n    configurable: true,\n    writable: true,\n    value: /nonce too low|transaction already imported|already known/\n});\nexport class NonceMaxValueError extends BaseError {\n    constructor({ cause, nonce, } = {}) {\n        super(`Nonce provided for the transaction ${nonce ? `(${nonce}) ` : ''}exceeds the maximum allowed nonce.`, { cause, name: 'NonceMaxValueError' });\n    }\n}\nObject.defineProperty(NonceMaxValueError, \"nodeMessage\", {\n    enumerable: true,\n    configurable: true,\n    writable: true,\n    value: /nonce has max value/\n});\nexport class InsufficientFundsError extends BaseError {\n    constructor({ cause } = {}) {\n        super([\n            'The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account.',\n        ].join('\\n'), {\n            cause,\n            metaMessages: [\n                'This error could arise when the account does not have enough funds to:',\n                ' - pay for the total gas fee,',\n                ' - pay for the value to send.',\n                ' ',\n                'The cost of the transaction is calculated as `gas * gas fee + value`, where:',\n                ' - `gas` is the amount of gas needed for transaction to execute,',\n                ' - `gas fee` is the gas fee,',\n                ' - `value` is the amount of ether to send to the recipient.',\n            ],\n            name: 'InsufficientFundsError',\n        });\n    }\n}\nObject.defineProperty(InsufficientFundsError, \"nodeMessage\", {\n    enumerable: true,\n    configurable: true,\n    writable: true,\n    value: /insufficient funds|exceeds transaction sender account balance/\n});\nexport class IntrinsicGasTooHighError extends BaseError {\n    constructor({ cause, gas, } = {}) {\n        super(`The amount of gas ${gas ? `(${gas}) ` : ''}provided for the transaction exceeds the limit allowed for the block.`, {\n            cause,\n            name: 'IntrinsicGasTooHighError',\n        });\n    }\n}\nObject.defineProperty(IntrinsicGasTooHighError, \"nodeMessage\", {\n    enumerable: true,\n    configurable: true,\n    writable: true,\n    value: /intrinsic gas too high|gas limit reached/\n});\nexport class IntrinsicGasTooLowError extends BaseError {\n    constructor({ cause, gas, } = {}) {\n        super(`The amount of gas ${gas ? `(${gas}) ` : ''}provided for the transaction is too low.`, {\n            cause,\n            name: 'IntrinsicGasTooLowError',\n        });\n    }\n}\nObject.defineProperty(IntrinsicGasTooLowError, \"nodeMessage\", {\n    enumerable: true,\n    configurable: true,\n    writable: true,\n    value: /intrinsic gas too low/\n});\nexport class TransactionTypeNotSupportedError extends BaseError {\n    constructor({ cause }) {\n        super('The transaction type is not supported for this chain.', {\n            cause,\n            name: 'TransactionTypeNotSupportedError',\n        });\n    }\n}\nObject.defineProperty(TransactionTypeNotSupportedError, \"nodeMessage\", {\n    enumerable: true,\n    configurable: true,\n    writable: true,\n    value: /transaction type not valid/\n});\nexport class TipAboveFeeCapError extends BaseError {\n    constructor({ cause, maxPriorityFeePerGas, maxFeePerGas, } = {}) {\n        super([\n            `The provided tip (\\`maxPriorityFeePerGas\\`${maxPriorityFeePerGas\n                ? ` = ${formatGwei(maxPriorityFeePerGas)} gwei`\n                : ''}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${maxFeePerGas ? ` = ${formatGwei(maxFeePerGas)} gwei` : ''}).`,\n        ].join('\\n'), {\n            cause,\n            name: 'TipAboveFeeCapError',\n        });\n    }\n}\nObject.defineProperty(TipAboveFeeCapError, \"nodeMessage\", {\n    enumerable: true,\n    configurable: true,\n    writable: true,\n    value: /max priority fee per gas higher than max fee per gas|tip higher than fee cap/\n});\nexport class UnknownNodeError extends BaseError {\n    constructor({ cause }) {\n        super(`An error occurred while executing: ${cause?.shortMessage}`, {\n            cause,\n            name: 'UnknownNodeError',\n        });\n    }\n}\n//# sourceMappingURL=node.js.map","/**\n * Map with a LRU (Least recently used) policy.\n *\n * @link https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU\n */\nexport class LruMap extends Map {\n    constructor(size) {\n        super();\n        Object.defineProperty(this, \"maxSize\", {\n            enumerable: true,\n            configurable: true,\n            writable: true,\n            value: void 0\n        });\n        this.maxSize = size;\n    }\n    get(key) {\n        const value = super.get(key);\n        if (super.has(key) && value !== undefined) {\n            this.delete(key);\n            super.set(key, value);\n        }\n        return value;\n    }\n    set(key, value) {\n        super.set(key, value);\n        if (this.maxSize && this.size > this.maxSize) {\n            const firstKey = this.keys().next().value;\n            if (firstKey)\n                this.delete(firstKey);\n        }\n        return this;\n    }\n}\n//# sourceMappingURL=lru.js.map","/**\n * Internal helpers for u64. BigUint64Array is too slow as per 2025, so we implement it using Uint32Array.\n * @todo re-check https://issues.chromium.org/issues/42212588\n * @module\n */\nconst U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);\nconst _32n = /* @__PURE__ */ BigInt(32);\nfunction fromBig(n, le = false) {\n    if (le)\n        return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n    return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nfunction split(lst, le = false) {\n    let Ah = new Uint32Array(lst.length);\n    let Al = new Uint32Array(lst.length);\n    for (let i = 0; i < lst.length; i++) {\n        const { h, l } = fromBig(lst[i], le);\n        [Ah[i], Al[i]] = [h, l];\n    }\n    return [Ah, Al];\n}\nconst toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h, _l, s) => h >>> s;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (_h, l) => l;\nconst rotr32L = (h, _l) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\nfunction add(Ah, Al, Bh, Bl) {\n    const l = (Al >>> 0) + (Bl >>> 0);\n    return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n// prettier-ignore\nexport { fromBig, split, toBig, shrSH, shrSL, rotrSH, rotrSL, rotrBH, rotrBL, rotr32H, rotr32L, rotlSH, rotlSL, rotlBH, rotlBL, add, add3L, add3H, add4L, add4H, add5H, add5L, };\n// prettier-ignore\nconst u64 = {\n    fromBig, split, toBig,\n    shrSH, shrSL,\n    rotrSH, rotrSL, rotrBH, rotrBL,\n    rotr32H, rotr32L,\n    rotlSH, rotlSL, rotlBH, rotlBL,\n    add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexport default u64;\n//# sourceMappingURL=_u64.js.map","/**\n * SHA3 (keccak) hash function, based on a new \"Sponge function\" design.\n * Different from older hashes, the internal state is bigger than output size.\n *\n * Check out [FIPS-202](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf),\n * [Website](https://keccak.team/keccak.html),\n * [the differences between SHA-3 and Keccak](https://crypto.stackexchange.com/questions/15727/what-are-the-key-differences-between-the-draft-sha-3-standard-and-the-keccak-sub).\n *\n * Check out `sha3-addons` module for cSHAKE, k12, and others.\n * @module\n */\nimport { abytes, aexists, anumber, aoutput } from \"./_assert.js\";\nimport { rotlBH, rotlBL, rotlSH, rotlSL, split } from \"./_u64.js\";\nimport { byteSwap32, Hash, isLE, toBytes, u32, wrapConstructor, wrapXOFConstructorWithOpts, } from \"./utils.js\";\n// Various per round constants calculations\nconst SHA3_PI = [];\nconst SHA3_ROTL = [];\nconst _SHA3_IOTA = [];\nconst _0n = /* @__PURE__ */ BigInt(0);\nconst _1n = /* @__PURE__ */ BigInt(1);\nconst _2n = /* @__PURE__ */ BigInt(2);\nconst _7n = /* @__PURE__ */ BigInt(7);\nconst _256n = /* @__PURE__ */ BigInt(256);\nconst _0x71n = /* @__PURE__ */ BigInt(0x71);\nfor (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {\n    // Pi\n    [x, y] = [y, (2 * x + 3 * y) % 5];\n    SHA3_PI.push(2 * (5 * y + x));\n    // Rotational\n    SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);\n    // Iota\n    let t = _0n;\n    for (let j = 0; j < 7; j++) {\n        R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;\n        if (R & _2n)\n            t ^= _1n << ((_1n << /* @__PURE__ */ BigInt(j)) - _1n);\n    }\n    _SHA3_IOTA.push(t);\n}\nconst [SHA3_IOTA_H, SHA3_IOTA_L] = /* @__PURE__ */ split(_SHA3_IOTA, true);\n// Left rotation (without 0, 32, 64)\nconst rotlH = (h, l, s) => (s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s));\nconst rotlL = (h, l, s) => (s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s));\n/** `keccakf1600` internal function, additionally allows to adjust round count. */\nexport function keccakP(s, rounds = 24) {\n    const B = new Uint32Array(5 * 2);\n    // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)\n    for (let round = 24 - rounds; round < 24; round++) {\n        // Theta θ\n        for (let x = 0; x < 10; x++)\n            B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];\n        for (let x = 0; x < 10; x += 2) {\n            const idx1 = (x + 8) % 10;\n            const idx0 = (x + 2) % 10;\n            const B0 = B[idx0];\n            const B1 = B[idx0 + 1];\n            const Th = rotlH(B0, B1, 1) ^ B[idx1];\n            const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];\n            for (let y = 0; y < 50; y += 10) {\n                s[x + y] ^= Th;\n                s[x + y + 1] ^= Tl;\n            }\n        }\n        // Rho (ρ) and Pi (π)\n        let curH = s[2];\n        let curL = s[3];\n        for (let t = 0; t < 24; t++) {\n            const shift = SHA3_ROTL[t];\n            const Th = rotlH(curH, curL, shift);\n            const Tl = rotlL(curH, curL, shift);\n            const PI = SHA3_PI[t];\n            curH = s[PI];\n            curL = s[PI + 1];\n            s[PI] = Th;\n            s[PI + 1] = Tl;\n        }\n        // Chi (χ)\n        for (let y = 0; y < 50; y += 10) {\n            for (let x = 0; x < 10; x++)\n                B[x] = s[y + x];\n            for (let x = 0; x < 10; x++)\n                s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];\n        }\n        // Iota (ι)\n        s[0] ^= SHA3_IOTA_H[round];\n        s[1] ^= SHA3_IOTA_L[round];\n    }\n    B.fill(0);\n}\n/** Keccak sponge function. */\nexport class Keccak extends Hash {\n    // NOTE: we accept arguments in bytes instead of bits here.\n    constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {\n        super();\n        this.pos = 0;\n        this.posOut = 0;\n        this.finished = false;\n        this.destroyed = false;\n        this.enableXOF = false;\n        this.blockLen = blockLen;\n        this.suffix = suffix;\n        this.outputLen = outputLen;\n        this.enableXOF = enableXOF;\n        this.rounds = rounds;\n        // Can be passed from user as dkLen\n        anumber(outputLen);\n        // 1600 = 5x5 matrix of 64bit.  1600 bits === 200 bytes\n        // 0 < blockLen < 200\n        if (0 >= this.blockLen || this.blockLen >= 200)\n            throw new Error('Sha3 supports only keccak-f1600 function');\n        this.state = new Uint8Array(200);\n        this.state32 = u32(this.state);\n    }\n    keccak() {\n        if (!isLE)\n            byteSwap32(this.state32);\n        keccakP(this.state32, this.rounds);\n        if (!isLE)\n            byteSwap32(this.state32);\n        this.posOut = 0;\n        this.pos = 0;\n    }\n    update(data) {\n        aexists(this);\n        const { blockLen, state } = this;\n        data = toBytes(data);\n        const len = data.length;\n        for (let pos = 0; pos < len;) {\n            const take = Math.min(blockLen - this.pos, len - pos);\n            for (let i = 0; i < take; i++)\n                state[this.pos++] ^= data[pos++];\n            if (this.pos === blockLen)\n                this.keccak();\n        }\n        return this;\n    }\n    finish() {\n        if (this.finished)\n            return;\n        this.finished = true;\n        const { state, suffix, pos, blockLen } = this;\n        // Do the padding\n        state[pos] ^= suffix;\n        if ((suffix & 0x80) !== 0 && pos === blockLen - 1)\n            this.keccak();\n        state[blockLen - 1] ^= 0x80;\n        this.keccak();\n    }\n    writeInto(out) {\n        aexists(this, false);\n        abytes(out);\n        this.finish();\n        const bufferOut = this.state;\n        const { blockLen } = this;\n        for (let pos = 0, len = out.length; pos < len;) {\n            if (this.posOut >= blockLen)\n                this.keccak();\n            const take = Math.min(blockLen - this.posOut, len - pos);\n            out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);\n            this.posOut += take;\n            pos += take;\n        }\n        return out;\n    }\n    xofInto(out) {\n        // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF\n        if (!this.enableXOF)\n            throw new Error('XOF is not possible for this instance');\n        return this.writeInto(out);\n    }\n    xof(bytes) {\n        anumber(bytes);\n        return this.xofInto(new Uint8Array(bytes));\n    }\n    digestInto(out) {\n        aoutput(out, this);\n        if (this.finished)\n            throw new Error('digest() was already called');\n        this.writeInto(out);\n        this.destroy();\n        return out;\n    }\n    digest() {\n        return this.digestInto(new Uint8Array(this.outputLen));\n    }\n    destroy() {\n        this.destroyed = true;\n        this.state.fill(0);\n    }\n    _cloneInto(to) {\n        const { blockLen, suffix, outputLen, rounds, enableXOF } = this;\n        to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));\n        to.state32.set(this.state32);\n        to.pos = this.pos;\n        to.posOut = this.posOut;\n        to.finished = this.finished;\n        to.rounds = rounds;\n        // Suffix can change in cSHAKE\n        to.suffix = suffix;\n        to.outputLen = outputLen;\n        to.enableXOF = enableXOF;\n        to.destroyed = this.destroyed;\n        return to;\n    }\n}\nconst gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));\n/** SHA3-224 hash function. */\nexport const sha3_224 = /* @__PURE__ */ gen(0x06, 144, 224 / 8);\n/** SHA3-256 hash function. Different from keccak-256. */\nexport const sha3_256 = /* @__PURE__ */ gen(0x06, 136, 256 / 8);\n/** SHA3-384 hash function. */\nexport const sha3_384 = /* @__PURE__ */ gen(0x06, 104, 384 / 8);\n/** SHA3-512 hash function. */\nexport const sha3_512 = /* @__PURE__ */ gen(0x06, 72, 512 / 8);\n/** keccak-224 hash function. */\nexport const keccak_224 = /* @__PURE__ */ gen(0x01, 144, 224 / 8);\n/** keccak-256 hash function. Different from SHA3-256. */\nexport const keccak_256 = /* @__PURE__ */ gen(0x01, 136, 256 / 8);\n/** keccak-384 hash function. */\nexport const keccak_384 = /* @__PURE__ */ gen(0x01, 104, 384 / 8);\n/** keccak-512 hash function. */\nexport const keccak_512 = /* @__PURE__ */ gen(0x01, 72, 512 / 8);\nconst genShake = (suffix, blockLen, outputLen) => wrapXOFConstructorWithOpts((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));\n/** SHAKE128 XOF with 128-bit security. */\nexport const shake128 = /* @__PURE__ */ genShake(0x1f, 168, 128 / 8);\n/** SHAKE256 XOF with 256-bit security. */\nexport const shake256 = /* @__PURE__ */ genShake(0x1f, 136, 256 / 8);\n//# sourceMappingURL=sha3.js.map","import { keccak_256 } from '@noble/hashes/sha3';\nimport { isHex } from '../data/isHex.js';\nimport { toBytes } from '../encoding/toBytes.js';\nimport { toHex } from '../encoding/toHex.js';\nexport function keccak256(value, to_) {\n    const to = to_ || 'hex';\n    const bytes = keccak_256(isHex(value, { strict: false }) ? toBytes(value) : value);\n    if (to === 'bytes')\n        return bytes;\n    return toHex(bytes);\n}\n//# sourceMappingURL=keccak256.js.map","import { InvalidAddressError } from '../../errors/address.js';\nimport { stringToBytes, } from '../encoding/toBytes.js';\nimport { keccak256 } from '../hash/keccak256.js';\nimport { LruMap } from '../lru.js';\nimport { isAddress } from './isAddress.js';\nconst checksumAddressCache = /*#__PURE__*/ new LruMap(8192);\nexport function checksumAddress(address_, \n/**\n * Warning: EIP-1191 checksum addresses are generally not backwards compatible with the\n * wider Ethereum ecosystem, meaning it will break when validated against an application/tool\n * that relies on EIP-55 checksum encoding (checksum without chainId).\n *\n * It is highly recommended to not use this feature unless you\n * know what you are doing.\n *\n * See more: https://github.com/ethereum/EIPs/issues/1121\n */\nchainId) {\n    if (checksumAddressCache.has(`${address_}.${chainId}`))\n        return checksumAddressCache.get(`${address_}.${chainId}`);\n    const hexAddress = chainId\n        ? `${chainId}${address_.toLowerCase()}`\n        : address_.substring(2).toLowerCase();\n    const hash = keccak256(stringToBytes(hexAddress), 'bytes');\n    const address = (chainId ? hexAddress.substring(`${chainId}0x`.length) : hexAddress).split('');\n    for (let i = 0; i < 40; i += 2) {\n        if (hash[i >> 1] >> 4 >= 8 && address[i]) {\n            address[i] = address[i].toUpperCase();\n        }\n        if ((hash[i >> 1] & 0x0f) >= 8 && address[i + 1]) {\n            address[i + 1] = address[i + 1].toUpperCase();\n        }\n    }\n    const result = `0x${address.join('')}`;\n    checksumAddressCache.set(`${address_}.${chainId}`, result);\n    return result;\n}\nexport function getAddress(address, \n/**\n * Warning: EIP-1191 checksum addresses are generally not backwards compatible with the\n * wider Ethereum ecosystem, meaning it will break when validated against an application/tool\n * that relies on EIP-55 checksum encoding (checksum without chainId).\n *\n * It is highly recommended to not use this feature unless you\n * know what you are doing.\n *\n * See more: https://github.com/ethereum/EIPs/issues/1121\n */\nchainId) {\n    if (!isAddress(address, { strict: false }))\n        throw new InvalidAddressError({ address });\n    return checksumAddress(address, chainId);\n}\n//# sourceMappingURL=getAddress.js.map","import { LruMap } from '../lru.js';\nimport { checksumAddress } from './getAddress.js';\nconst addressRegex = /^0x[a-fA-F0-9]{40}$/;\n/** @internal */\nexport const isAddressCache = /*#__PURE__*/ new LruMap(8192);\nexport function isAddress(address, options) {\n    const { strict = true } = options ?? {};\n    const cacheKey = `${address}.${strict}`;\n    if (isAddressCache.has(cacheKey))\n        return isAddressCache.get(cacheKey);\n    const result = (() => {\n        if (!addressRegex.test(address))\n            return false;\n        if (address.toLowerCase() === address)\n            return true;\n        if (strict)\n            return checksumAddress(address) === address;\n        return true;\n    })();\n    isAddressCache.set(cacheKey, result);\n    return result;\n}\n//# sourceMappingURL=isAddress.js.map","import { SliceOffsetOutOfBoundsError, } from '../../errors/data.js';\nimport { isHex } from './isHex.js';\nimport { size } from './size.js';\n/**\n * @description Returns a section of the hex or byte array given a start/end bytes offset.\n *\n * @param value The hex or byte array to slice.\n * @param start The start offset (in bytes).\n * @param end The end offset (in bytes).\n */\nexport function slice(value, start, end, { strict } = {}) {\n    if (isHex(value, { strict: false }))\n        return sliceHex(value, start, end, {\n            strict,\n        });\n    return sliceBytes(value, start, end, {\n        strict,\n    });\n}\nfunction assertStartOffset(value, start) {\n    if (typeof start === 'number' && start > 0 && start > size(value) - 1)\n        throw new SliceOffsetOutOfBoundsError({\n            offset: start,\n            position: 'start',\n            size: size(value),\n        });\n}\nfunction assertEndOffset(value, start, end) {\n    if (typeof start === 'number' &&\n        typeof end === 'number' &&\n        size(value) !== end - start) {\n        throw new SliceOffsetOutOfBoundsError({\n            offset: end,\n            position: 'end',\n            size: size(value),\n        });\n    }\n}\n/**\n * @description Returns a section of the byte array given a start/end bytes offset.\n *\n * @param value The byte array to slice.\n * @param start The start offset (in bytes).\n * @param end The end offset (in bytes).\n */\nexport function sliceBytes(value_, start, end, { strict } = {}) {\n    assertStartOffset(value_, start);\n    const value = value_.slice(start, end);\n    if (strict)\n        assertEndOffset(value, start, end);\n    return value;\n}\n/**\n * @description Returns a section of the hex value given a start/end bytes offset.\n *\n * @param value The hex value to slice.\n * @param start The start offset (in bytes).\n * @param end The end offset (in bytes).\n */\nexport function sliceHex(value_, start, end, { strict } = {}) {\n    assertStartOffset(value_, start);\n    const value = `0x${value_\n        .replace('0x', '')\n        .slice((start ?? 0) * 2, (end ?? value_.length) * 2)}`;\n    if (strict)\n        assertEndOffset(value, start, end);\n    return value;\n}\n//# sourceMappingURL=slice.js.map","import { versionedHashVersionKzg } from '../../constants/kzg.js';\nimport { maxUint256 } from '../../constants/number.js';\nimport { InvalidAddressError, } from '../../errors/address.js';\nimport { BaseError } from '../../errors/base.js';\nimport { EmptyBlobError, InvalidVersionedHashSizeError, InvalidVersionedHashVersionError, } from '../../errors/blob.js';\nimport { InvalidChainIdError, } from '../../errors/chain.js';\nimport { FeeCapTooHighError, TipAboveFeeCapError, } from '../../errors/node.js';\nimport { isAddress } from '../address/isAddress.js';\nimport { size } from '../data/size.js';\nimport { slice } from '../data/slice.js';\nimport { hexToNumber } from '../encoding/fromHex.js';\nexport function assertTransactionEIP7702(transaction) {\n    const { authorizationList } = transaction;\n    if (authorizationList) {\n        for (const authorization of authorizationList) {\n            const { chainId } = authorization;\n            const address = authorization.address;\n            if (!isAddress(address))\n                throw new InvalidAddressError({ address });\n            if (chainId < 0)\n                throw new InvalidChainIdError({ chainId });\n        }\n    }\n    assertTransactionEIP1559(transaction);\n}\nexport function assertTransactionEIP4844(transaction) {\n    const { blobVersionedHashes } = transaction;\n    if (blobVersionedHashes) {\n        if (blobVersionedHashes.length === 0)\n            throw new EmptyBlobError();\n        for (const hash of blobVersionedHashes) {\n            const size_ = size(hash);\n            const version = hexToNumber(slice(hash, 0, 1));\n            if (size_ !== 32)\n                throw new InvalidVersionedHashSizeError({ hash, size: size_ });\n            if (version !== versionedHashVersionKzg)\n                throw new InvalidVersionedHashVersionError({\n                    hash,\n                    version,\n                });\n        }\n    }\n    assertTransactionEIP1559(transaction);\n}\nexport function assertTransactionEIP1559(transaction) {\n    const { chainId, maxPriorityFeePerGas, maxFeePerGas, to } = transaction;\n    if (chainId <= 0)\n        throw new InvalidChainIdError({ chainId });\n    if (to && !isAddress(to))\n        throw new InvalidAddressError({ address: to });\n    if (maxFeePerGas && maxFeePerGas > maxUint256)\n        throw new FeeCapTooHighError({ maxFeePerGas });\n    if (maxPriorityFeePerGas &&\n        maxFeePerGas &&\n        maxPriorityFeePerGas > maxFeePerGas)\n        throw new TipAboveFeeCapError({ maxFeePerGas, maxPriorityFeePerGas });\n}\nexport function assertTransactionEIP2930(transaction) {\n    const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to } = transaction;\n    if (chainId <= 0)\n        throw new InvalidChainIdError({ chainId });\n    if (to && !isAddress(to))\n        throw new InvalidAddressError({ address: to });\n    if (maxPriorityFeePerGas || maxFeePerGas)\n        throw new BaseError('`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.');\n    if (gasPrice && gasPrice > maxUint256)\n        throw new FeeCapTooHighError({ maxFeePerGas: gasPrice });\n}\nexport function assertTransactionLegacy(transaction) {\n    const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to } = transaction;\n    if (to && !isAddress(to))\n        throw new InvalidAddressError({ address: to });\n    if (typeof chainId !== 'undefined' && chainId <= 0)\n        throw new InvalidChainIdError({ chainId });\n    if (maxPriorityFeePerGas || maxFeePerGas)\n        throw new BaseError('`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.');\n    if (gasPrice && gasPrice > maxUint256)\n        throw new FeeCapTooHighError({ maxFeePerGas: gasPrice });\n}\n//# sourceMappingURL=assertTransaction.js.map","import { InvalidSerializableTransactionError, } from '../../errors/transaction.js';\nexport function getTransactionType(transaction) {\n    if (transaction.type)\n        return transaction.type;\n    if (typeof transaction.authorizationList !== 'undefined')\n        return 'eip7702';\n    if (typeof transaction.blobs !== 'undefined' ||\n        typeof transaction.blobVersionedHashes !== 'undefined' ||\n        typeof transaction.maxFeePerBlobGas !== 'undefined' ||\n        typeof transaction.sidecars !== 'undefined')\n        return 'eip4844';\n    if (typeof transaction.maxFeePerGas !== 'undefined' ||\n        typeof transaction.maxPriorityFeePerGas !== 'undefined') {\n        return 'eip1559';\n    }\n    if (typeof transaction.gasPrice !== 'undefined') {\n        if (typeof transaction.accessList !== 'undefined')\n            return 'eip2930';\n        return 'legacy';\n    }\n    throw new InvalidSerializableTransactionError({ transaction });\n}\n//# sourceMappingURL=getTransactionType.js.map","import { InvalidAddressError, } from '../../errors/address.js';\nimport { InvalidStorageKeySizeError, } from '../../errors/transaction.js';\nimport { isAddress } from '../address/isAddress.js';\n/*\n * Serialize an  EIP-2930 access list\n * @remarks\n * Use to create a transaction serializer with support for EIP-2930 access lists\n *\n * @param accessList - Array of objects of address and arrays of Storage Keys\n * @throws InvalidAddressError, InvalidStorageKeySizeError\n * @returns Array of hex strings\n */\nexport function serializeAccessList(accessList) {\n    if (!accessList || accessList.length === 0)\n        return [];\n    const serializedAccessList = [];\n    for (let i = 0; i < accessList.length; i++) {\n        const { address, storageKeys } = accessList[i];\n        for (let j = 0; j < storageKeys.length; j++) {\n            if (storageKeys[j].length - 2 !== 64) {\n                throw new InvalidStorageKeySizeError({ storageKey: storageKeys[j] });\n            }\n        }\n        if (!isAddress(address, { strict: false })) {\n            throw new InvalidAddressError({ address });\n        }\n        serializedAccessList.push([address, storageKeys]);\n    }\n    return serializedAccessList;\n}\n//# sourceMappingURL=serializeAccessList.js.map","import { InvalidLegacyVError, } from '../../errors/transaction.js';\nimport { serializeAuthorizationList, } from '../authorization/serializeAuthorizationList.js';\nimport { blobsToCommitments, } from '../blob/blobsToCommitments.js';\nimport { blobsToProofs, } from '../blob/blobsToProofs.js';\nimport { commitmentsToVersionedHashes, } from '../blob/commitmentsToVersionedHashes.js';\nimport { toBlobSidecars, } from '../blob/toBlobSidecars.js';\nimport { concatHex } from '../data/concat.js';\nimport { trim } from '../data/trim.js';\nimport { bytesToHex, toHex } from '../encoding/toHex.js';\nimport { toRlp } from '../encoding/toRlp.js';\nimport { assertTransactionEIP1559, assertTransactionEIP2930, assertTransactionEIP4844, assertTransactionEIP7702, assertTransactionLegacy, } from './assertTransaction.js';\nimport { getTransactionType, } from './getTransactionType.js';\nimport { serializeAccessList, } from './serializeAccessList.js';\nexport function serializeTransaction(transaction, signature) {\n    const type = getTransactionType(transaction);\n    if (type === 'eip1559')\n        return serializeTransactionEIP1559(transaction, signature);\n    if (type === 'eip2930')\n        return serializeTransactionEIP2930(transaction, signature);\n    if (type === 'eip4844')\n        return serializeTransactionEIP4844(transaction, signature);\n    if (type === 'eip7702')\n        return serializeTransactionEIP7702(transaction, signature);\n    return serializeTransactionLegacy(transaction, signature);\n}\nfunction serializeTransactionEIP7702(transaction, signature) {\n    const { authorizationList, chainId, gas, nonce, to, value, maxFeePerGas, maxPriorityFeePerGas, accessList, data, } = transaction;\n    assertTransactionEIP7702(transaction);\n    const serializedAccessList = serializeAccessList(accessList);\n    const serializedAuthorizationList = serializeAuthorizationList(authorizationList);\n    return concatHex([\n        '0x04',\n        toRlp([\n            toHex(chainId),\n            nonce ? toHex(nonce) : '0x',\n            maxPriorityFeePerGas ? toHex(maxPriorityFeePerGas) : '0x',\n            maxFeePerGas ? toHex(maxFeePerGas) : '0x',\n            gas ? toHex(gas) : '0x',\n            to ?? '0x',\n            value ? toHex(value) : '0x',\n            data ?? '0x',\n            serializedAccessList,\n            serializedAuthorizationList,\n            ...toYParitySignatureArray(transaction, signature),\n        ]),\n    ]);\n}\nfunction serializeTransactionEIP4844(transaction, signature) {\n    const { chainId, gas, nonce, to, value, maxFeePerBlobGas, maxFeePerGas, maxPriorityFeePerGas, accessList, data, } = transaction;\n    assertTransactionEIP4844(transaction);\n    let blobVersionedHashes = transaction.blobVersionedHashes;\n    let sidecars = transaction.sidecars;\n    // If `blobs` are passed, we will need to compute the KZG commitments & proofs.\n    if (transaction.blobs &&\n        (typeof blobVersionedHashes === 'undefined' ||\n            typeof sidecars === 'undefined')) {\n        const blobs = (typeof transaction.blobs[0] === 'string'\n            ? transaction.blobs\n            : transaction.blobs.map((x) => bytesToHex(x)));\n        const kzg = transaction.kzg;\n        const commitments = blobsToCommitments({\n            blobs,\n            kzg,\n        });\n        if (typeof blobVersionedHashes === 'undefined')\n            blobVersionedHashes = commitmentsToVersionedHashes({\n                commitments,\n            });\n        if (typeof sidecars === 'undefined') {\n            const proofs = blobsToProofs({ blobs, commitments, kzg });\n            sidecars = toBlobSidecars({ blobs, commitments, proofs });\n        }\n    }\n    const serializedAccessList = serializeAccessList(accessList);\n    const serializedTransaction = [\n        toHex(chainId),\n        nonce ? toHex(nonce) : '0x',\n        maxPriorityFeePerGas ? toHex(maxPriorityFeePerGas) : '0x',\n        maxFeePerGas ? toHex(maxFeePerGas) : '0x',\n        gas ? toHex(gas) : '0x',\n        to ?? '0x',\n        value ? toHex(value) : '0x',\n        data ?? '0x',\n        serializedAccessList,\n        maxFeePerBlobGas ? toHex(maxFeePerBlobGas) : '0x',\n        blobVersionedHashes ?? [],\n        ...toYParitySignatureArray(transaction, signature),\n    ];\n    const blobs = [];\n    const commitments = [];\n    const proofs = [];\n    if (sidecars)\n        for (let i = 0; i < sidecars.length; i++) {\n            const { blob, commitment, proof } = sidecars[i];\n            blobs.push(blob);\n            commitments.push(commitment);\n            proofs.push(proof);\n        }\n    return concatHex([\n        '0x03',\n        sidecars\n            ? // If sidecars are enabled, envelope turns into a \"wrapper\":\n                toRlp([serializedTransaction, blobs, commitments, proofs])\n            : // If sidecars are disabled, standard envelope is used:\n                toRlp(serializedTransaction),\n    ]);\n}\nfunction serializeTransactionEIP1559(transaction, signature) {\n    const { chainId, gas, nonce, to, value, maxFeePerGas, maxPriorityFeePerGas, accessList, data, } = transaction;\n    assertTransactionEIP1559(transaction);\n    const serializedAccessList = serializeAccessList(accessList);\n    const serializedTransaction = [\n        toHex(chainId),\n        nonce ? toHex(nonce) : '0x',\n        maxPriorityFeePerGas ? toHex(maxPriorityFeePerGas) : '0x',\n        maxFeePerGas ? toHex(maxFeePerGas) : '0x',\n        gas ? toHex(gas) : '0x',\n        to ?? '0x',\n        value ? toHex(value) : '0x',\n        data ?? '0x',\n        serializedAccessList,\n        ...toYParitySignatureArray(transaction, signature),\n    ];\n    return concatHex([\n        '0x02',\n        toRlp(serializedTransaction),\n    ]);\n}\nfunction serializeTransactionEIP2930(transaction, signature) {\n    const { chainId, gas, data, nonce, to, value, accessList, gasPrice } = transaction;\n    assertTransactionEIP2930(transaction);\n    const serializedAccessList = serializeAccessList(accessList);\n    const serializedTransaction = [\n        toHex(chainId),\n        nonce ? toHex(nonce) : '0x',\n        gasPrice ? toHex(gasPrice) : '0x',\n        gas ? toHex(gas) : '0x',\n        to ?? '0x',\n        value ? toHex(value) : '0x',\n        data ?? '0x',\n        serializedAccessList,\n        ...toYParitySignatureArray(transaction, signature),\n    ];\n    return concatHex([\n        '0x01',\n        toRlp(serializedTransaction),\n    ]);\n}\nfunction serializeTransactionLegacy(transaction, signature) {\n    const { chainId = 0, gas, data, nonce, to, value, gasPrice } = transaction;\n    assertTransactionLegacy(transaction);\n    let serializedTransaction = [\n        nonce ? toHex(nonce) : '0x',\n        gasPrice ? toHex(gasPrice) : '0x',\n        gas ? toHex(gas) : '0x',\n        to ?? '0x',\n        value ? toHex(value) : '0x',\n        data ?? '0x',\n    ];\n    if (signature) {\n        const v = (() => {\n            // EIP-155 (inferred chainId)\n            if (signature.v >= 35n) {\n                const inferredChainId = (signature.v - 35n) / 2n;\n                if (inferredChainId > 0)\n                    return signature.v;\n                return 27n + (signature.v === 35n ? 0n : 1n);\n            }\n            // EIP-155 (explicit chainId)\n            if (chainId > 0)\n                return BigInt(chainId * 2) + BigInt(35n + signature.v - 27n);\n            // Pre-EIP-155 (no chainId)\n            const v = 27n + (signature.v === 27n ? 0n : 1n);\n            if (signature.v !== v)\n                throw new InvalidLegacyVError({ v: signature.v });\n            return v;\n        })();\n        const r = trim(signature.r);\n        const s = trim(signature.s);\n        serializedTransaction = [\n            ...serializedTransaction,\n            toHex(v),\n            r === '0x00' ? '0x' : r,\n            s === '0x00' ? '0x' : s,\n        ];\n    }\n    else if (chainId > 0) {\n        serializedTransaction = [\n            ...serializedTransaction,\n            toHex(chainId),\n            '0x',\n            '0x',\n        ];\n    }\n    return toRlp(serializedTransaction);\n}\nexport function toYParitySignatureArray(transaction, signature_) {\n    const signature = signature_ ?? transaction;\n    const { v, yParity } = signature;\n    if (typeof signature.r === 'undefined')\n        return [];\n    if (typeof signature.s === 'undefined')\n        return [];\n    if (typeof v === 'undefined' && typeof yParity === 'undefined')\n        return [];\n    const r = trim(signature.r);\n    const s = trim(signature.s);\n    const yParity_ = (() => {\n        if (typeof yParity === 'number')\n            return yParity ? toHex(1) : '0x';\n        if (v === 0n)\n            return '0x';\n        if (v === 1n)\n            return toHex(1);\n        return v === 27n ? '0x' : toHex(1);\n    })();\n    return [yParity_, r === '0x00' ? '0x' : r, s === '0x00' ? '0x' : s];\n}\n//# sourceMappingURL=serializeTransaction.js.map","/**\n * Predeploy contracts for OP Stack.\n * @see https://github.com/ethereum-optimism/optimism/blob/develop/specs/predeploys.md\n */\nexport const contracts = {\n    gasPriceOracle: { address: '0x420000000000000000000000000000000000000F' },\n    l1Block: { address: '0x4200000000000000000000000000000000000015' },\n    l2CrossDomainMessenger: {\n        address: '0x4200000000000000000000000000000000000007',\n    },\n    l2Erc721Bridge: { address: '0x4200000000000000000000000000000000000014' },\n    l2StandardBridge: { address: '0x4200000000000000000000000000000000000010' },\n    l2ToL1MessagePasser: {\n        address: '0x4200000000000000000000000000000000000016',\n    },\n};\n//# sourceMappingURL=contracts.js.map","import { hexToBigInt } from '../utils/encoding/fromHex.js';\nimport { defineBlock } from '../utils/formatters/block.js';\nimport { defineTransaction, formatTransaction, } from '../utils/formatters/transaction.js';\nimport { defineTransactionReceipt } from '../utils/formatters/transactionReceipt.js';\nexport const formatters = {\n    block: /*#__PURE__*/ defineBlock({\n        format(args) {\n            const transactions = args.transactions?.map((transaction) => {\n                if (typeof transaction === 'string')\n                    return transaction;\n                const formatted = formatTransaction(transaction);\n                if (formatted.typeHex === '0x7e') {\n                    formatted.isSystemTx = transaction.isSystemTx;\n                    formatted.mint = transaction.mint\n                        ? hexToBigInt(transaction.mint)\n                        : undefined;\n                    formatted.sourceHash = transaction.sourceHash;\n                    formatted.type = 'deposit';\n                }\n                return formatted;\n            });\n            return {\n                transactions,\n                stateRoot: args.stateRoot,\n            };\n        },\n    }),\n    transaction: /*#__PURE__*/ defineTransaction({\n        format(args) {\n            const transaction = {};\n            if (args.type === '0x7e') {\n                transaction.isSystemTx = args.isSystemTx;\n                transaction.mint = args.mint ? hexToBigInt(args.mint) : undefined;\n                transaction.sourceHash = args.sourceHash;\n                transaction.type = 'deposit';\n            }\n            return transaction;\n        },\n    }),\n    transactionReceipt: /*#__PURE__*/ defineTransactionReceipt({\n        format(args) {\n            return {\n                l1GasPrice: args.l1GasPrice ? hexToBigInt(args.l1GasPrice) : null,\n                l1GasUsed: args.l1GasUsed ? hexToBigInt(args.l1GasUsed) : null,\n                l1Fee: args.l1Fee ? hexToBigInt(args.l1Fee) : null,\n                l1FeeScalar: args.l1FeeScalar ? Number(args.l1FeeScalar) : null,\n            };\n        },\n    }),\n};\n//# sourceMappingURL=formatters.js.map","import { InvalidAddressError } from '../errors/address.js';\nimport { isAddress } from '../utils/address/isAddress.js';\nimport { concatHex } from '../utils/data/concat.js';\nimport { toHex } from '../utils/encoding/toHex.js';\nimport { toRlp } from '../utils/encoding/toRlp.js';\nimport { serializeTransaction as serializeTransaction_, } from '../utils/transaction/serializeTransaction.js';\nexport function serializeTransaction(transaction, signature) {\n    if (isDeposit(transaction))\n        return serializeTransactionDeposit(transaction);\n    return serializeTransaction_(transaction, signature);\n}\nexport const serializers = {\n    transaction: serializeTransaction,\n};\nfunction serializeTransactionDeposit(transaction) {\n    assertTransactionDeposit(transaction);\n    const { sourceHash, data, from, gas, isSystemTx, mint, to, value } = transaction;\n    const serializedTransaction = [\n        sourceHash,\n        from,\n        to ?? '0x',\n        mint ? toHex(mint) : '0x',\n        value ? toHex(value) : '0x',\n        gas ? toHex(gas) : '0x',\n        isSystemTx ? '0x1' : '0x',\n        data ?? '0x',\n    ];\n    return concatHex([\n        '0x7e',\n        toRlp(serializedTransaction),\n    ]);\n}\nfunction isDeposit(transaction) {\n    if (transaction.type === 'deposit')\n        return true;\n    if (typeof transaction.sourceHash !== 'undefined')\n        return true;\n    return false;\n}\nexport function assertTransactionDeposit(transaction) {\n    const { from, to } = transaction;\n    if (from && !isAddress(from))\n        throw new InvalidAddressError({ address: from });\n    if (to && !isAddress(to))\n        throw new InvalidAddressError({ address: to });\n}\n//# sourceMappingURL=serializers.js.map","import { contracts } from './contracts.js';\nimport { formatters } from './formatters.js';\nimport { serializers } from './serializers.js';\nexport const chainConfig = {\n    contracts,\n    formatters,\n    serializers,\n};\n//# sourceMappingURL=chainConfig.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const ancient8 = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 888888888,\n    name: 'Ancient8',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.ancient8.gg'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Ancient8 explorer',\n            url: 'https://scan.ancient8.gg',\n            apiUrl: 'https://scan.ancient8.gg/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0xB09DC08428C8b4EFB4ff9C0827386CDF34277996',\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x639F2AECE398Aa76b07e59eF6abe2cFe32bacb68',\n                blockCreated: 19070571,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xd5e3eDf5b68135D559D572E26bF863FBC1950033',\n                blockCreated: 19070571,\n            },\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=ancient8.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11_155_111; // sepolia\nexport const ancient8Sepolia = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 28122024,\n    name: 'Ancient8 Testnet',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://rpcv2-testnet.ancient8.gg'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Ancient8 Celestia Testnet explorer',\n            url: 'https://scanv2-testnet.ancient8.gg',\n            apiUrl: 'https://scanv2-testnet.ancient8.gg/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x942fD5017c0F60575930D8574Eaca13BEcD6e1bB',\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0xfa1d9E26A6aCD7b22115D27572c1221B9803c960',\n                blockCreated: 4972908,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xF6Bc0146d3c74D48306e79Ae134A260E418C9335',\n                blockCreated: 4972908,\n            },\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=ancient8Sepolia.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const base = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 8453,\n    name: 'Base',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://mainnet.base.org'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Basescan',\n            url: 'https://basescan.org',\n            apiUrl: 'https://api.basescan.org/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        disputeGameFactory: {\n            [sourceId]: {\n                address: '0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e',\n            },\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x56315b90c40730925ec5485cf004d835058518A0',\n            },\n        },\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 5022,\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x49048044D57e1C92A77f79988d21Fa8fAF74E97e',\n                blockCreated: 17482143,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x3154Cf16ccdb4C6d922629664174b904d80F2C35',\n                blockCreated: 17482143,\n            },\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=base.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 5; // goerli\nexport const baseGoerli = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 84531,\n    name: 'Base Goerli',\n    nativeCurrency: { name: 'Goerli Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: { http: ['https://goerli.base.org'] },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Basescan',\n            url: 'https://goerli.basescan.org',\n            apiUrl: 'https://goerli.basescan.org/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x2A35891ff30313CcFa6CE88dcf3858bb075A2298',\n            },\n        },\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 1376988,\n        },\n        portal: {\n            [sourceId]: {\n                address: '0xe93c8cD0D409341205A592f8c4Ac1A5fe5585cfA',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xfA6D8Ee5BE770F84FC001D098C4bD604Fe01284a',\n            },\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=baseGoerli.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11_155_111; // sepolia\nexport const baseSepolia = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 84532,\n    network: 'base-sepolia',\n    name: 'Base Sepolia',\n    nativeCurrency: { name: 'Sepolia Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://sepolia.base.org'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Basescan',\n            url: 'https://sepolia.basescan.org',\n            apiUrl: 'https://api-sepolia.basescan.org/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        disputeGameFactory: {\n            [sourceId]: {\n                address: '0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1',\n            },\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254',\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x49f53e41452c74589e85ca1677426ba426459e85',\n                blockCreated: 4446677,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xfd0Bf71F60660E2f608ed56e1659C450eB113120',\n                blockCreated: 4446677,\n            },\n        },\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 1059647,\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=baseSepolia.js.map","import { defineChain } from '../../utils/chain/defineChain.js';\nexport const birdlayer = defineChain({\n    id: 53456,\n    name: 'BirdLayer',\n    nativeCurrency: { decimals: 18, name: 'Ether', symbol: 'ETH' },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.birdlayer.xyz', 'https://rpc1.birdlayer.xyz'],\n            webSocket: ['wss://rpc.birdlayer.xyz/ws'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'BirdLayer Explorer',\n            url: 'https://scan.birdlayer.xyz',\n        },\n    },\n});\n//# sourceMappingURL=birdlayer.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const blast = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 81457,\n    name: 'Blast',\n    nativeCurrency: {\n        decimals: 18,\n        name: 'Ether',\n        symbol: 'ETH',\n    },\n    rpcUrls: {\n        default: { http: ['https://rpc.blast.io'] },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Blastscan',\n            url: 'https://blastscan.io',\n            apiUrl: 'https://api.blastscan.io/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n            blockCreated: 212929,\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=blast.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const bob = defineChain({\n    ...chainConfig,\n    id: 60808,\n    name: 'BOB',\n    nativeCurrency: {\n        decimals: 18,\n        name: 'ETH',\n        symbol: 'ETH',\n    },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.gobob.xyz'],\n            webSocket: ['wss://rpc.gobob.xyz'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'BOB Explorer',\n            url: 'https://explorer.gobob.xyz',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n            blockCreated: 23131,\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0xdDa53E23f8a32640b04D7256e651C1db98dB11C1',\n                blockCreated: 4462615,\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E',\n                blockCreated: 4462615,\n            },\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=bob.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11_155_111; // sepolia\nexport const bobSepolia = defineChain({\n    ...chainConfig,\n    id: 808813,\n    name: 'BOB Sepolia',\n    nativeCurrency: {\n        decimals: 18,\n        name: 'ETH',\n        symbol: 'ETH',\n    },\n    rpcUrls: {\n        default: {\n            http: ['https://bob-sepolia.rpc.gobob.xyz'],\n            webSocket: ['wss://bob-sepolia.rpc.gobob.xyz'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'BOB Sepolia Explorer',\n            url: 'https://bob-sepolia.explorer.gobob.xyz',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n            blockCreated: 35677,\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x14D0069452b4AE2b250B395b8adAb771E4267d2f',\n                blockCreated: 4462615,\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x867B1Aa872b9C8cB5E9F7755feDC45BB24Ad0ae4',\n                blockCreated: 4462615,\n            },\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=bobSepolia.js.map","export const fees = {\n    /*\n     * Estimates the fees per gas for a transaction.\n  \n     * If the transaction is to be paid in a token (feeCurrency is present) then the fees\n     * are estimated in the value of the token. Otherwise falls back to the default\n     * estimation by returning null.\n     *\n     * @param params fee estimation function parameters\n     */\n    estimateFeesPerGas: async (params) => {\n        if (!params.request?.feeCurrency)\n            return null;\n        const [gasPrice, maxPriorityFeePerGas] = await Promise.all([\n            estimateFeePerGasInFeeCurrency(params.client, params.request.feeCurrency),\n            estimateMaxPriorityFeePerGasInFeeCurrency(params.client, params.request.feeCurrency),\n        ]);\n        // eth_gasPrice for cel2 returns baseFeePerGas + maxPriorityFeePerGas\n        const maxFeePerGas = params.multiply(gasPrice - maxPriorityFeePerGas) + maxPriorityFeePerGas;\n        return {\n            maxFeePerGas,\n            maxPriorityFeePerGas,\n        };\n    },\n};\n/*\n * Estimate the fee per gas in the value of the fee token\n\n *\n * @param client - Client to use\n * @param feeCurrency -  Address of a whitelisted fee token\n * @returns The fee per gas in wei in the value of the  fee token\n *\n */\nasync function estimateFeePerGasInFeeCurrency(client, feeCurrency) {\n    const fee = await client.request({\n        method: 'eth_gasPrice',\n        params: [feeCurrency],\n    });\n    return BigInt(fee);\n}\n/*\n * Estimate the max priority fee per gas in the value of the fee token\n\n *\n * @param client - Client to use\n * @param feeCurrency -  Address of a whitelisted fee token\n * @returns The fee per gas in wei in the value of the  fee token\n *\n */\nasync function estimateMaxPriorityFeePerGasInFeeCurrency(client, feeCurrency) {\n    const feesPerGas = await client.request({\n        method: 'eth_maxPriorityFeePerGas',\n        params: [feeCurrency],\n    });\n    return BigInt(feesPerGas);\n}\n//# sourceMappingURL=fees.js.map","import { trim } from '../utils/data/trim.js';\nexport function isEmpty(value) {\n    return (value === 0 ||\n        value === 0n ||\n        value === undefined ||\n        value === null ||\n        value === '0' ||\n        value === '' ||\n        (typeof value === 'string' &&\n            (trim(value).toLowerCase() === '0x' ||\n                trim(value).toLowerCase() === '0x00')));\n}\nexport function isPresent(value) {\n    return !isEmpty(value);\n}\n/** @internal */\nexport function isEIP1559(transaction) {\n    return (typeof transaction.maxFeePerGas !== 'undefined' &&\n        typeof transaction.maxPriorityFeePerGas !== 'undefined');\n}\nexport function isCIP64(transaction) {\n    /*\n     * Enable end user to force the tx to be considered as a CIP-64.\n     *\n     * The preliminary type will be determined as \"eip1559\" by src/utils/transaction/getTransactionType.ts\n     * and so we need the logic below to check for the specific value instead of checking if just any\n     * transaction type is provided. If that's anything else than \"cip64\" then we need to reevaluate the\n     * type based on the transaction fields.\n     *\n     * Modify with caution and according to https://github.com/celo-org/celo-proposals/blob/master/CIPs/cip-0064.md\n     */\n    if (transaction.type === 'cip64') {\n        return true;\n    }\n    return isEIP1559(transaction) && isPresent(transaction.feeCurrency);\n}\n//# sourceMappingURL=utils.js.map","import { hexToBigInt } from '../utils/encoding/fromHex.js';\nimport { defineBlock } from '../utils/formatters/block.js';\nimport { defineTransaction, formatTransaction, } from '../utils/formatters/transaction.js';\nimport { defineTransactionRequest } from '../utils/formatters/transactionRequest.js';\nimport { isCIP64 } from './utils.js';\nexport const formatters = {\n    block: /*#__PURE__*/ defineBlock({\n        format(args) {\n            const transactions = args.transactions?.map((transaction) => {\n                if (typeof transaction === 'string')\n                    return transaction;\n                const formatted = formatTransaction(transaction);\n                return {\n                    ...formatted,\n                    ...(transaction.gatewayFee\n                        ? {\n                            gatewayFee: hexToBigInt(transaction.gatewayFee),\n                            gatewayFeeRecipient: transaction.gatewayFeeRecipient,\n                        }\n                        : {}),\n                    feeCurrency: transaction.feeCurrency,\n                };\n            });\n            return {\n                transactions,\n            };\n        },\n    }),\n    transaction: /*#__PURE__*/ defineTransaction({\n        format(args) {\n            if (args.type === '0x7e')\n                return {\n                    isSystemTx: args.isSystemTx,\n                    mint: args.mint ? hexToBigInt(args.mint) : undefined,\n                    sourceHash: args.sourceHash,\n                    type: 'deposit',\n                };\n            const transaction = { feeCurrency: args.feeCurrency };\n            if (args.type === '0x7b')\n                transaction.type = 'cip64';\n            else {\n                if (args.type === '0x7c')\n                    transaction.type = 'cip42';\n                transaction.gatewayFee = args.gatewayFee\n                    ? hexToBigInt(args.gatewayFee)\n                    : null;\n                transaction.gatewayFeeRecipient = args.gatewayFeeRecipient;\n            }\n            return transaction;\n        },\n    }),\n    transactionRequest: /*#__PURE__*/ defineTransactionRequest({\n        format(args) {\n            const request = {};\n            if (args.feeCurrency)\n                request.feeCurrency = args.feeCurrency;\n            if (isCIP64(args))\n                request.type = '0x7b';\n            return request;\n        },\n    }),\n};\n//# sourceMappingURL=formatters.js.map","import { maxUint256 } from '../constants/number.js';\nimport { InvalidAddressError } from '../errors/address.js';\nimport { BaseError } from '../errors/base.js';\nimport { InvalidChainIdError } from '../errors/chain.js';\nimport { FeeCapTooHighError, TipAboveFeeCapError } from '../errors/node.js';\nimport { serializeTransaction as serializeTransaction_op } from '../op-stack/serializers.js';\nimport { isAddress } from '../utils/address/isAddress.js';\nimport { concatHex } from '../utils/data/concat.js';\nimport { toHex } from '../utils/encoding/toHex.js';\nimport { toRlp } from '../utils/encoding/toRlp.js';\nimport { serializeAccessList } from '../utils/transaction/serializeAccessList.js';\nimport { toYParitySignatureArray } from '../utils/transaction/serializeTransaction.js';\nimport { isCIP64, isEmpty, isPresent } from './utils.js';\nexport function serializeTransaction(transaction, signature) {\n    if (isCIP64(transaction))\n        return serializeTransactionCIP64(transaction, signature);\n    return serializeTransaction_op(transaction, signature);\n}\nexport const serializers = {\n    transaction: serializeTransaction,\n};\nfunction serializeTransactionCIP64(transaction, signature) {\n    assertTransactionCIP64(transaction);\n    const { chainId, gas, nonce, to, value, maxFeePerGas, maxPriorityFeePerGas, accessList, feeCurrency, data, } = transaction;\n    const serializedTransaction = [\n        toHex(chainId),\n        nonce ? toHex(nonce) : '0x',\n        maxPriorityFeePerGas ? toHex(maxPriorityFeePerGas) : '0x',\n        maxFeePerGas ? toHex(maxFeePerGas) : '0x',\n        gas ? toHex(gas) : '0x',\n        to ?? '0x',\n        value ? toHex(value) : '0x',\n        data ?? '0x',\n        serializeAccessList(accessList),\n        feeCurrency,\n        ...toYParitySignatureArray(transaction, signature),\n    ];\n    return concatHex([\n        '0x7b',\n        toRlp(serializedTransaction),\n    ]);\n}\n// maxFeePerGas must be less than maxUint256\nconst MAX_MAX_FEE_PER_GAS = maxUint256;\nexport function assertTransactionCIP42(transaction) {\n    const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to, feeCurrency, gatewayFee, gatewayFeeRecipient, } = transaction;\n    if (chainId <= 0)\n        throw new InvalidChainIdError({ chainId });\n    if (to && !isAddress(to))\n        throw new InvalidAddressError({ address: to });\n    if (gasPrice)\n        throw new BaseError('`gasPrice` is not a valid CIP-42 Transaction attribute.');\n    if (isPresent(maxFeePerGas) && maxFeePerGas > MAX_MAX_FEE_PER_GAS)\n        throw new FeeCapTooHighError({ maxFeePerGas });\n    if (isPresent(maxPriorityFeePerGas) &&\n        isPresent(maxFeePerGas) &&\n        maxPriorityFeePerGas > maxFeePerGas)\n        throw new TipAboveFeeCapError({ maxFeePerGas, maxPriorityFeePerGas });\n    if ((isPresent(gatewayFee) && isEmpty(gatewayFeeRecipient)) ||\n        (isPresent(gatewayFeeRecipient) && isEmpty(gatewayFee))) {\n        throw new BaseError('`gatewayFee` and `gatewayFeeRecipient` must be provided together.');\n    }\n    if (isPresent(feeCurrency) && !isAddress(feeCurrency)) {\n        throw new BaseError('`feeCurrency` MUST be a token address for CIP-42 transactions.');\n    }\n    if (isPresent(gatewayFeeRecipient) && !isAddress(gatewayFeeRecipient)) {\n        throw new InvalidAddressError(gatewayFeeRecipient);\n    }\n    if (isEmpty(feeCurrency) && isEmpty(gatewayFeeRecipient)) {\n        throw new BaseError('Either `feeCurrency` or `gatewayFeeRecipient` must be provided for CIP-42 transactions.');\n    }\n}\nexport function assertTransactionCIP64(transaction) {\n    const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to, feeCurrency, } = transaction;\n    if (chainId <= 0)\n        throw new InvalidChainIdError({ chainId });\n    if (to && !isAddress(to))\n        throw new InvalidAddressError({ address: to });\n    if (gasPrice)\n        throw new BaseError('`gasPrice` is not a valid CIP-64 Transaction attribute.');\n    if (isPresent(maxFeePerGas) && maxFeePerGas > MAX_MAX_FEE_PER_GAS)\n        throw new FeeCapTooHighError({ maxFeePerGas });\n    if (isPresent(maxPriorityFeePerGas) &&\n        isPresent(maxFeePerGas) &&\n        maxPriorityFeePerGas > maxFeePerGas)\n        throw new TipAboveFeeCapError({ maxFeePerGas, maxPriorityFeePerGas });\n    if (isPresent(feeCurrency) && !isAddress(feeCurrency)) {\n        throw new BaseError('`feeCurrency` MUST be a token address for CIP-64 transactions.');\n    }\n    if (isEmpty(feeCurrency)) {\n        throw new BaseError('`feeCurrency` must be provided for CIP-64 transactions.');\n    }\n}\n//# sourceMappingURL=serializers.js.map","import { contracts } from '../op-stack/contracts.js';\nimport { fees } from './fees.js';\nimport { formatters } from './formatters.js';\nimport { serializers } from './serializers.js';\nexport const chainConfig = {\n    contracts,\n    formatters,\n    serializers,\n    fees,\n};\n//# sourceMappingURL=chainConfig.js.map","import { chainConfig } from '../../celo/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 17000; // holsky\n// source https://storage.googleapis.com/cel2-rollup-files/alfajores/deployment-l1.json\nexport const celoAlfajores = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 44_787,\n    name: 'Alfajores',\n    nativeCurrency: {\n        decimals: 18,\n        name: 'CELO',\n        symbol: 'A-CELO',\n    },\n    rpcUrls: {\n        default: {\n            http: ['https://alfajores-forno.celo-testnet.org'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Celo Alfajores Explorer',\n            url: 'https://celo-alfajores.blockscout.com',\n            apiUrl: 'https://celo-alfajores.blockscout.com/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n            blockCreated: 14569001,\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x82527353927d8D069b3B452904c942dA149BA381',\n                blockCreated: 2411324,\n            },\n        },\n        disputeGameFactory: {\n            [sourceId]: {\n                address: '0xE28AAdcd9883746c0e5068F58f9ea06027b214cb',\n                blockCreated: 2411324,\n            },\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x4a2635e9e4f6e45817b1D402ac4904c1d1752438',\n                blockCreated: 2411324,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xD1B0E0581973c9eB7f886967A606b9441A897037',\n                blockCreated: 2411324,\n            },\n        },\n    },\n    testnet: true,\n});\n//# sourceMappingURL=celoAlfajores.js.map","import { defineChain } from '../../utils/chain/defineChain.js';\nexport const crab = defineChain({\n    id: 44,\n    name: 'Crab Network',\n    nativeCurrency: {\n        decimals: 18,\n        name: 'Crab Network Native Token',\n        symbol: 'CRAB',\n    },\n    rpcUrls: {\n        default: {\n            http: ['https://crab-rpc.darwinia.network'],\n            webSocket: ['wss://crab-rpc.darwinia.network'],\n        },\n    },\n    blockExplorers: {\n        default: { name: 'Blockscout', url: 'https://crab-scan.darwinia.network' },\n    },\n    contracts: {\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 3032593,\n        },\n    },\n});\n//# sourceMappingURL=crab.js.map","import { defineChain } from '../../utils/chain/defineChain.js';\nexport const creatorTestnet = defineChain({\n    id: 66665,\n    name: 'Creator',\n    nativeCurrency: {\n        decimals: 18,\n        name: 'Ether',\n        symbol: 'ETH',\n    },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.creatorchain.io'],\n        },\n    },\n    blockExplorers: {\n        default: { name: 'Explorer', url: 'https://explorer.creatorchain.io' },\n    },\n    contracts: {\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n        },\n    },\n    testnet: true,\n});\n//# sourceMappingURL=creatorTestnet.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nexport const dchain = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 2716446429837000,\n    name: 'Dchain',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://dchain-2716446429837000-1.jsonrpc.sagarpc.io'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Dchain Explorer',\n            url: 'https://dchain-2716446429837000-1.sagaexplorer.io',\n            apiUrl: 'https://api-dchain-2716446429837000-1.sagaexplorer.io/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n    },\n});\n//# sourceMappingURL=dchain.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nexport const dchainTestnet = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 2713017997578000,\n    name: 'Dchain Testnet',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: [\n                'https://dchaintestnet-2713017997578000-1.jsonrpc.testnet.sagarpc.io',\n            ],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Dchain Explorer',\n            url: 'https://dchaintestnet-2713017997578000-1.testnet.sagaexplorer.io',\n            apiUrl: 'https://api-dchaintestnet-2713017997578000-1.testnet.sagaexplorer.io/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n    },\n});\n//# sourceMappingURL=dchainTestnet.js.map","import { defineChain } from '../../utils/chain/defineChain.js';\nexport const dodochainTestnet = defineChain({\n    id: 53457,\n    name: 'DODOchain Testnet',\n    nativeCurrency: { decimals: 18, name: 'DODO', symbol: 'DODO' },\n    rpcUrls: {\n        default: {\n            http: ['https://dodochain-testnet.alt.technology'],\n            webSocket: ['wss://dodochain-testnet.alt.technology/ws'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'DODOchain Testnet (Sepolia) Explorer',\n            url: 'https://testnet-scan.dodochain.com',\n        },\n    },\n    testnet: true,\n});\n//# sourceMappingURL=dodochainTestnet.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const form = /*#__PURE__*/ defineChain({\n    id: 478,\n    name: 'Form Network',\n    nativeCurrency: {\n        decimals: 18,\n        name: 'Ethereum',\n        symbol: 'ETH',\n    },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.form.network/http'],\n            webSocket: ['wss://rpc.form.network/ws'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Form Explorer',\n            url: 'https://explorer.form.network',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        addressManager: {\n            [sourceId]: {\n                address: '0x15c249E46A2F924C2dB3A1560CF86729bAD1f07B',\n            },\n        },\n        l1CrossDomainMessenger: {\n            [sourceId]: {\n                address: '0xF333158DCCad1dF6C3F0a3aEe8BC31fA94d9eD5c',\n            },\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x4ccAAF69F41c5810cA875183648B577CaCf1F67E',\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x4E259Ee5F4136408908160dD32295A5031Fa426F',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xdc20aA63D3DE59574E065957190D8f24e0F7B8Ba',\n            },\n        },\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=form.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11_155_111; // sepolia\nexport const formTestnet = /*#__PURE__*/ defineChain({\n    id: 132_902,\n    name: 'Form Testnet',\n    nativeCurrency: {\n        decimals: 18,\n        name: 'Ethereum',\n        symbol: 'ETH',\n    },\n    rpcUrls: {\n        default: {\n            http: ['https://sepolia-rpc.form.network/http'],\n            webSocket: ['wss://sepolia-rpc.form.network/ws'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Form Testnet Explorer',\n            url: 'https://sepolia-explorer.form.network',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        addressManager: {\n            [sourceId]: {\n                address: '0xd5C38fa934f7fd7477D4800F4f38a1c5BFdF1373',\n            },\n        },\n        l1CrossDomainMessenger: {\n            [sourceId]: {\n                address: '0x37A68565c4BE9700b3E3Ec60cC4416cAC3052FAa',\n            },\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x9eA2239E65a59EC9C7F1ED4C116dD58Da71Fc1e2',\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x60377e3cE15dF4CCA24c4beF076b60314240b032',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xD4531f633942b2725896F47cD2aFd260b44Ab1F7',\n            },\n        },\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=formTestnet.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const fraxtal = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 252,\n    name: 'Fraxtal',\n    nativeCurrency: { name: 'Frax', symbol: 'FRAX', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.frax.com'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'fraxscan',\n            url: 'https://fraxscan.com',\n            apiUrl: 'https://api.fraxscan.com/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x66CC916Ed5C6C2FA97014f7D1cD141528Ae171e4',\n            },\n        },\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x36cb65c1967A0Fb0EEE11569C51C2f2aA1Ca6f6D',\n                blockCreated: 19135323,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x34C0bD5877A5Ee7099D0f5688D65F4bB9158BDE2',\n                blockCreated: 19135323,\n            },\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=fraxtal.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 17000; // holesky\nexport const fraxtalTestnet = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 2522,\n    name: 'Fraxtal Testnet',\n    nativeCurrency: { name: 'Frax', symbol: 'FRAX', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.testnet.frax.com'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'fraxscan testnet',\n            url: 'https://holesky.fraxscan.com',\n            apiUrl: 'https://api-holesky.fraxscan.com/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x715EA64DA13F4d0831ece4Ad3E8c1aa013167F32',\n            },\n        },\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n        },\n        portal: {\n            [sourceId]: {\n                address: '0xB9c64BfA498d5b9a8398Ed6f46eb76d90dE5505d',\n                blockCreated: 318416,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x0BaafC217162f64930909aD9f2B27125121d6332',\n                blockCreated: 318416,\n            },\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=fraxtalTestnet.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const funkiMainnet = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 33979,\n    name: 'Funki',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc-mainnet.funkichain.com'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Funki Mainnet Explorer',\n            url: 'https://funkiscan.io',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n    },\n    sourceId,\n});\n//# sourceMappingURL=funkiMainnet.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11_155_111; // sepolia\nexport const funkiSepolia = defineChain({\n    ...chainConfig,\n    id: 3397901,\n    network: 'funkiSepolia',\n    name: 'Funki Sepolia Sandbox',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://funki-testnet.alt.technology'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Funki Sepolia Sandbox Explorer',\n            url: 'https://sepolia-sandbox.funkichain.com/',\n        },\n    },\n    testnet: true,\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 1620204,\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=funkiSepolia.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 17000; // Holesky testnet\nexport const garnet = defineChain({\n    ...chainConfig,\n    name: 'Garnet Testnet',\n    testnet: true,\n    id: 17069,\n    sourceId,\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.garnetchain.com'],\n            webSocket: ['wss://rpc.garnetchain.com'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Blockscout',\n            url: 'https://explorer.garnetchain.com',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x57ee40586fbE286AfC75E67cb69511A6D9aF5909',\n                blockCreated: 1274684,\n            },\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0xCb8E7AC561b8EF04F2a15865e9fbc0766FEF569B',\n                blockCreated: 1274684,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x09bcDd311FE398F80a78BE37E489f5D440DB95DE',\n                blockCreated: 1274684,\n            },\n        },\n    },\n});\n//# sourceMappingURL=garnet.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const ink = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 57073,\n    name: 'Ink',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: [\n                'https://rpc-gel.inkonchain.com',\n                'https://rpc-qnd.inkonchain.com',\n            ],\n            webSocket: [\n                'wss://rpc-gel.inkonchain.com',\n                'wss://rpc-qnd.inkonchain.com',\n            ],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Blockscout',\n            url: 'https://explorer.inkonchain.com',\n            apiUrl: 'https://explorer.inkonchain.com/api/v2',\n        },\n    },\n    contracts: {\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n            blockCreated: 0,\n        },\n        ...chainConfig.contracts,\n        disputeGameFactory: {\n            [sourceId]: {\n                address: '0x10d7b35078d3baabb96dd45a9143b94be65b12cd',\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x5d66c1782664115999c47c9fa5cd031f495d3e4f',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x88ff1e5b602916615391f55854588efcbb7663f0',\n            },\n        },\n    },\n    testnet: false,\n    sourceId,\n});\n//# sourceMappingURL=ink.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11_155_111; // sepolia\nexport const inkSepolia = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 763373,\n    name: 'Ink Sepolia',\n    nativeCurrency: { name: 'Sepolia Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc-gel-sepolia.inkonchain.com'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Blockscout',\n            url: 'https://explorer-sepolia.inkonchain.com/',\n            apiUrl: 'https://explorer-sepolia.inkonchain.com/api/v2',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n            blockCreated: 0,\n        },\n        disputeGameFactory: {\n            [sourceId]: {\n                address: '0x860e626c700af381133d9f4af31412a2d1db3d5d',\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x5c1d29c6c9c8b0800692acc95d700bcb4966a1d7',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x33f60714bbd74d62b66d79213c348614de51901c',\n            },\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=inkSepolia.js.map","import { defineChain } from '../../utils/chain/defineChain.js';\nexport const koi = defineChain({\n    id: 701,\n    name: 'Koi Network',\n    nativeCurrency: {\n        decimals: 18,\n        name: 'Koi Network Native Token',\n        symbol: 'KRING',\n    },\n    rpcUrls: {\n        default: {\n            http: ['https://koi-rpc.darwinia.network'],\n            webSocket: ['wss://koi-rpc.darwinia.network'],\n        },\n    },\n    blockExplorers: {\n        default: { name: 'Blockscout', url: 'https://koi-scan.darwinia.network' },\n    },\n    contracts: {\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 180001,\n        },\n    },\n    testnet: true,\n});\n//# sourceMappingURL=koi.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const lisk = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 1135,\n    name: 'Lisk',\n    network: 'lisk',\n    nativeCurrency: {\n        decimals: 18,\n        name: 'Ether',\n        symbol: 'ETH',\n    },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.api.lisk.com'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Blockscout',\n            url: 'https://blockscout.lisk.com',\n            apiUrl: 'https://blockscout.lisk.com/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xA9d71E1dd7ca26F26e656E66d6AA81ed7f745bf0',\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x113cB99283AF242Da0A0C54347667edF531Aa7d6',\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x26dB93F8b8b4f7016240af62F7730979d353f9A7',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x2658723Bf70c7667De6B25F99fcce13A16D25d08',\n            },\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=lisk.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11_155_111; // sepolia\nexport const liskSepolia = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 4202,\n    network: 'lisk-sepolia',\n    name: 'Lisk Sepolia',\n    nativeCurrency: { name: 'Sepolia Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.sepolia-api.lisk.com'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Blockscout',\n            url: 'https://sepolia-blockscout.lisk.com',\n            apiUrl: 'https://sepolia-blockscout.lisk.com/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0xA0E35F56C318DE1bD5D9ca6A94Fe7e37C5663348',\n            },\n        },\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n        },\n        portal: {\n            [sourceId]: {\n                address: '0xe3d90F21490686Ec7eF37BE788E02dfC12787264',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x1Fb30e446eA791cd1f011675E5F3f5311b70faF5',\n            },\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=liskSepolia.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const metalL2 = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 1750,\n    name: 'Metal L2',\n    nativeCurrency: {\n        decimals: 18,\n        name: 'Ether',\n        symbol: 'ETH',\n    },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.metall2.com'],\n            webSocket: ['wss://rpc.metall2.com'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Explorer',\n            url: 'https://explorer.metall2.com',\n            apiUrl: 'https://explorer.metall2.com/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x3B1F7aDa0Fcc26B13515af752Dd07fB1CAc11426',\n            },\n        },\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n            blockCreated: 0,\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x6d0f65D59b55B0FEC5d2d15365154DcADC140BF3',\n            },\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=metalL2.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const mode = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 34443,\n    name: 'Mode Mainnet',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://mainnet.mode.network'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Modescan',\n            url: 'https://modescan.io',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 2465882,\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x4317ba146D4933D889518a3e5E11Fe7a53199b04',\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x735aDBbE72226BD52e818E7181953f42E3b0FF21',\n            },\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=mode.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11_155_111; // sepolia\nexport const modeTestnet = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 919,\n    name: 'Mode Testnet',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://sepolia.mode.network'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Blockscout',\n            url: 'https://sepolia.explorer.mode.network',\n            apiUrl: 'https://sepolia.explorer.mode.network/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x2634BD65ba27AB63811c74A63118ACb312701Bfa',\n                blockCreated: 3778393,\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x320e1580effF37E008F1C92700d1eBa47c1B23fD',\n                blockCreated: 3778395,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xbC5C679879B2965296756CD959C3C739769995E2',\n                blockCreated: 3778392,\n            },\n        },\n        multicall3: {\n            address: '0xBAba8373113Fb7a68f195deF18732e01aF8eDfCF',\n            blockCreated: 3019007,\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=modeTestnet.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 56; // bsc mainnet\nexport const opBNB = /*#__PURE__*/ defineChain({\n    id: 204,\n    name: 'opBNB',\n    nativeCurrency: {\n        name: 'BNB',\n        symbol: 'BNB',\n        decimals: 18,\n    },\n    rpcUrls: {\n        default: { http: ['https://opbnb-mainnet-rpc.bnbchain.org'] },\n    },\n    blockExplorers: {\n        default: {\n            name: 'opBNB (BSCScan)',\n            url: 'https://opbnb.bscscan.com',\n            apiUrl: 'https://api-opbnb.bscscan.com/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n            blockCreated: 512881,\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x153CAB79f4767E2ff862C94aa49573294B13D169',\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x1876EA7702C0ad0C6A2ae6036DE7733edfBca519',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xF05F0e4362859c3331Cb9395CBC201E3Fa6757Ea',\n            },\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=opBNB.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 97; // bsc testnet\nexport const opBNBTestnet = /*#__PURE__*/ defineChain({\n    id: 5611,\n    name: 'opBNB Testnet',\n    nativeCurrency: {\n        decimals: 18,\n        name: 'tBNB',\n        symbol: 'tBNB',\n    },\n    rpcUrls: {\n        default: { http: ['https://opbnb-testnet-rpc.bnbchain.org'] },\n    },\n    blockExplorers: {\n        default: {\n            name: 'opbnbscan',\n            url: 'https://testnet.opbnbscan.com',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n            blockCreated: 3705108,\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0xFf2394Bb843012562f4349C6632a0EcB92fC8810',\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x4386C8ABf2009aC0c263462Da568DD9d46e52a31',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x677311Fd2cCc511Bbc0f581E8d9a07B033D5E840',\n            },\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=opBNBTestnet.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const optimism = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 10,\n    name: 'OP Mainnet',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://mainnet.optimism.io'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Optimism Explorer',\n            url: 'https://optimistic.etherscan.io',\n            apiUrl: 'https://api-optimistic.etherscan.io/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        disputeGameFactory: {\n            [sourceId]: {\n                address: '0xe5965Ab5962eDc7477C8520243A95517CD252fA9',\n            },\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0xdfe97868233d1aa22e815a266982f2cf17685a27',\n            },\n        },\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 4286263,\n        },\n        portal: {\n            [sourceId]: {\n                address: '0xbEb5Fc579115071764c7423A4f12eDde41f106Ed',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1',\n            },\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=optimism.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 5; // goerli\nexport const optimismGoerli = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 420,\n    name: 'Optimism Goerli',\n    nativeCurrency: { name: 'Goerli Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://goerli.optimism.io'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Etherscan',\n            url: 'https://goerli-optimism.etherscan.io',\n            apiUrl: 'https://goerli-optimism.etherscan.io/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0xE6Dfba0953616Bacab0c9A8ecb3a9BBa77FC15c0',\n            },\n        },\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 49461,\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x5b47E1A08Ea6d985D6649300584e6722Ec4B1383',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x636Af16bf2f682dD3109e60102b8E1A089FedAa8',\n            },\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=optimismGoerli.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11_155_111; // sepolia\nexport const optimismSepolia = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 11155420,\n    name: 'OP Sepolia',\n    nativeCurrency: { name: 'Sepolia Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://sepolia.optimism.io'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Blockscout',\n            url: 'https://optimism-sepolia.blockscout.com',\n            apiUrl: 'https://optimism-sepolia.blockscout.com/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        disputeGameFactory: {\n            [sourceId]: {\n                address: '0x05F9613aDB30026FFd634f38e5C4dFd30a197Fa1',\n            },\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x90E9c4f8a994a250F6aEfd61CAFb4F2e895D458F',\n            },\n        },\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 1620204,\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x16Fc5058F25648194471939df75CF27A2fdC48BC',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xFBb0621E0B23b5478B630BD55a5f21f67730B0F1',\n            },\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=optimismSepolia.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11155111; // Sepolia testnet\nexport const pyrope = defineChain({\n    ...chainConfig,\n    name: 'Pyrope Testnet',\n    testnet: true,\n    id: 695569,\n    sourceId,\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.pyropechain.com'],\n            webSocket: ['wss://rpc.pyropechain.com'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Blockscout',\n            url: 'https://pyrope.blockscout.com',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xC24932c31D9621aE9e792576152B7ef010cFC2F8',\n            },\n        },\n    },\n});\n//# sourceMappingURL=pyrope.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // Ethereum mainnet\nexport const redstone = defineChain({\n    ...chainConfig,\n    name: 'Redstone',\n    id: 690,\n    sourceId,\n    nativeCurrency: { decimals: 18, name: 'Ether', symbol: 'ETH' },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.redstonechain.com'],\n            webSocket: ['wss://rpc.redstonechain.com'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Blockscout',\n            url: 'https://explorer.redstone.xyz',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n        },\n        portal: {\n            [sourceId]: {\n                address: '0xC7bCb0e8839a28A1cFadd1CF716de9016CdA51ae',\n                blockCreated: 19578329,\n            },\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0xa426A052f657AEEefc298b3B5c35a470e4739d69',\n                blockCreated: 19578337,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xc473ca7E02af24c129c2eEf51F2aDf0411c1Df69',\n                blockCreated: 19578331,\n            },\n        },\n    },\n});\n//# sourceMappingURL=redstone.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const rss3 = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 12_553,\n    name: 'RSS3 VSL Mainnet',\n    nativeCurrency: { name: 'RSS3', symbol: 'RSS3', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.rss3.io'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'RSS3 VSL Mainnet Scan',\n            url: 'https://scan.rss3.io',\n            apiUrl: 'https://scan.rss3.io/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0xE6f24d2C32B3109B18ed33cF08eFb490b1e09C10',\n            },\n        },\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 14193,\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x6A12432491bbbE8d3babf75F759766774C778Db4',\n                blockCreated: 19387057,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x4cbab69108Aa72151EDa5A3c164eA86845f18438',\n            },\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=rss3.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11_155_111; // sepolia\nexport const rss3Sepolia = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 2_331,\n    name: 'RSS3 VSL Sepolia Testnet',\n    nativeCurrency: { name: 'RSS3', symbol: 'RSS3', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.testnet.rss3.io'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'RSS3 VSL Sepolia Testnet Scan',\n            url: 'https://scan.testnet.rss3.io',\n            apiUrl: 'https://scan.testnet.rss3.io/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0xDb5c46C3Eaa6Ed6aE8b2379785DF7dd029C0dC81',\n            },\n        },\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 55697,\n        },\n        portal: {\n            [sourceId]: {\n                address: '0xcBD77E8E1E7F06B25baDe67142cdE82652Da7b57',\n                blockCreated: 5345035,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xdDD29bb63B0839FB1cE0eE439Ff027738595D07B',\n            },\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=rss3Sepolia.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const shape = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 360,\n    name: 'Shape',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://mainnet.shape.network'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'shapescan',\n            url: 'https://shapescan.xyz',\n            apiUrl: 'https://shapescan.xyz/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x6Ef8c69CfE4635d866e3E02732068022c06e724D',\n                blockCreated: 20369940,\n            },\n        },\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 1,\n        },\n        portal: {\n            [sourceId]: {\n                address: '0xEB06fFa16011B5628BaB98E29776361c83741dd3',\n                blockCreated: 20369933,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B',\n                blockCreated: 20369935,\n            },\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=shape.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11_155_111; // sepolia\nexport const shapeSepolia = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 11_011,\n    name: 'Shape Sepolia Testnet',\n    nativeCurrency: { name: 'Sepolia Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://sepolia.shape.network'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'blockscout',\n            url: 'https://explorer-sepolia.shape.network/',\n            apiUrl: 'https://explorer-sepolia.shape.network/api/v2',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 1,\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=shapeSepolia.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const snax = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 2192,\n    network: 'snaxchain-mainnet',\n    name: 'SnaxChain',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://mainnet.snaxchain.io'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Snax Explorer',\n            url: 'https://explorer.snaxchain.io',\n            apiUrl: 'https://explorer.snaxchain.io/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        disputeGameFactory: {\n            [sourceId]: {\n                address: '0x472562Fcf26D6b2793f8E0b0fB660ba0E5e08A46',\n            },\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x2172e492Fc807F5d5645D0E3543f139ECF539294',\n            },\n        },\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x79f446D024d74D0Bb6E699C131c703463c5D65E9',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x6534Bdb6b5c060d3e6aa833433333135eFE8E0aA',\n            },\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=snax.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11_155_111; // sepolia\nexport const snaxTestnet = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 13001,\n    network: 'snaxchain-testnet',\n    name: 'SnaxChain Testnet',\n    nativeCurrency: { name: 'Sepolia Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://testnet.snaxchain.io'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Snax Explorer',\n            url: 'https://testnet-explorer.snaxchain.io',\n            apiUrl: 'https://testnet-explorer.snaxchain.io/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        disputeGameFactory: {\n            [sourceId]: {\n                address: '0x206a75d89d45F146C54020F132FF93bEDD09f55E',\n            },\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x60e3A368a4cdCEf85ffB964e372726F56A46221e',\n            },\n        },\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n        },\n        portal: {\n            [sourceId]: {\n                address: '0xb5afdd0E8dDF081Ef90e8A3e0c7b5798e66E954E',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xbd37E1a59D4C00C9A46F75018dffd84061bC5f74',\n            },\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=snaxTestnet.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const soneium = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 1868,\n    name: 'Soneium Mainnet',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.soneium.org'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Blockscout',\n            url: 'https://soneium.blockscout.com',\n            apiUrl: 'https://soneium.blockscout.com/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        disputeGameFactory: {\n            [sourceId]: {\n                address: '0x512a3d2c7a43bd9261d2b8e8c9c70d4bd4d503c0',\n            },\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x0000000000000000000000000000000000000000',\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x88e529a6ccd302c948689cd5156c83d4614fae92',\n                blockCreated: 7061266,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xeb9bf100225c214efc3e7c651ebbadcf85177607',\n                blockCreated: 7061266,\n            },\n        },\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n            blockCreated: 1,\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=soneium.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11_155_111; // sepolia\nexport const soneiumMinato = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 1946,\n    name: 'Soneium Minato Testnet',\n    nativeCurrency: { name: 'Sepolia Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.minato.soneium.org'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Blockscout',\n            url: 'https://soneium-minato.blockscout.com',\n            apiUrl: 'https://soneium-minato.blockscout.com/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        disputeGameFactory: {\n            [sourceId]: {\n                address: '0xB3Ad2c38E6e0640d7ce6aA952AB3A60E81bf7a01',\n            },\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x710e5286C746eC38beeB7538d0146f60D27be343',\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x65ea1489741A5D72fFdD8e6485B216bBdcC15Af3',\n                blockCreated: 6466136,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x5f5a404A5edabcDD80DB05E8e54A78c9EBF000C2',\n                blockCreated: 6466136,\n            },\n        },\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n            blockCreated: 1,\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=soneiumMinato.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const superseed = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 5330,\n    name: 'Superseed',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://mainnet.superseed.xyz'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Superseed Explorer',\n            url: 'https://explorer.superseed.xyz',\n            apiUrl: 'https://explorer.superseed.xyz/api/v2',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        disputeGameFactory: {\n            [sourceId]: {\n                address: '0x8b097CF1f9BbD9cbFD0DD561858a1FCbC8857Be0',\n                blockCreated: 20737481,\n            },\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x693A0F8854F458D282DE3C5b69E8eE5EEE8aA949',\n                blockCreated: 20737481,\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x2c2150aa5c75A24fB93d4fD2F2a895D618054f07',\n                blockCreated: 20737481,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x8b0576E39F1233679109F9b40cFcC2a7E0901Ede',\n                blockCreated: 20737481,\n            },\n        },\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=superseed.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11155111; // sepolia\nexport const superseedSepolia = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 53302,\n    name: 'Superseed Sepolia',\n    nativeCurrency: {\n        name: 'Ether',\n        symbol: 'ETH',\n        decimals: 18,\n    },\n    rpcUrls: {\n        default: {\n            http: ['https://sepolia.superseed.xyz'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Superseed Sepolia Explorer',\n            url: 'https://sepolia-explorer.superseed.xyz',\n            apiUrl: 'https://sepolia-explorer.superseed.xyz/api/v2',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x7A0db8C51432d2C3eb4e8f360a2EeB26FF2809fB',\n                blockCreated: 5523438,\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x2B227A603fAAdB3De0ED050b63ADD232B5f2c28C',\n                blockCreated: 5523442,\n            },\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=superseedSepolia.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nexport const swellchain = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 1923,\n    name: 'Swellchain',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://swell-mainnet.alt.technology'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Swell Explorer',\n            url: 'https://explorer.swellnetwork.io',\n            apiUrl: 'https://explorer.swellnetwork.io/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n            blockCreated: 1,\n        },\n    },\n});\n//# sourceMappingURL=swellchain.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nexport const swellchainTestnet = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 1924,\n    name: 'Swellchain Testnet',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://swell-testnet.alt.technology'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Swellchain Testnet Explorer',\n            url: 'https://swell-testnet-explorer.alt.technology',\n            apiUrl: 'https://swell-testnet-explorer.alt.technology/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n            blockCreated: 1,\n        },\n    },\n});\n//# sourceMappingURL=swellchainTestnet.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const unichain = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 130,\n    name: 'Unichain',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: {\n            http: ['https://mainnet.unichain.org/'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Uniscan',\n            url: 'https://uniscan.xyz',\n            apiUrl: 'https://api.uniscan.xyz/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 0,\n        },\n        disputeGameFactory: {\n            [sourceId]: {\n                address: '0x2F12d621a16e2d3285929C9996f478508951dFe4',\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA',\n            },\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=unichain.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11_155_111; // sepolia\nexport const unichainSepolia = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 1301,\n    name: 'Unichain Sepolia',\n    nativeCurrency: {\n        name: 'Ether',\n        symbol: 'ETH',\n        decimals: 18,\n    },\n    rpcUrls: {\n        default: {\n            http: ['https://sepolia.unichain.org'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Uniscan',\n            url: 'https://sepolia.uniscan.xyz',\n            apiUrl: 'https://api-sepolia.uniscan.xyz/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 0,\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x0d83dab629f0e0F9d36c0Cbc89B69a489f0751bD',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xea58fcA6849d79EAd1f26608855c2D6407d54Ce2',\n            },\n        },\n        disputeGameFactory: {\n            [sourceId]: {\n                address: '0xeff73e5aa3B9AEC32c659Aa3E00444d20a84394b',\n            },\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=unichainSepolia.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const worldchain = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 480,\n    name: 'World Chain',\n    network: 'worldchain',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: { http: ['https://worldchain-mainnet.g.alchemy.com/public'] },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Worldscan',\n            url: 'https://worldscan.org',\n            apiUrl: 'https://api.worldscan.org/api',\n        },\n        blockscout: {\n            name: 'Blockscout',\n            url: 'https://worldchain-mainnet.explorer.alchemy.com',\n            apiUrl: 'https://worldchain-mainnet.explorer.alchemy.com/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 0,\n        },\n        disputeGameFactory: {\n            [sourceId]: {\n                address: '0x069c4c579671f8c120b1327a73217D01Ea2EC5ea',\n            },\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x19A6d1E9034596196295CF148509796978343c5D',\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x470458C91978D2d929704489Ad730DC3E3001113',\n            },\n        },\n    },\n    testnet: false,\n    sourceId,\n});\n//# sourceMappingURL=worldchain.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11_155_111; // sepolia\nexport const worldchainSepolia = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 4801,\n    name: 'World Chain Sepolia',\n    network: 'worldchain-sepolia',\n    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n    rpcUrls: {\n        default: { http: ['https://worldchain-sepolia.g.alchemy.com/public'] },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Worldscan Sepolia',\n            url: 'https://sepolia.worldscan.org',\n            apiUrl: 'https://api-sepolia.worldscan.org/api',\n        },\n        blockscout: {\n            name: 'Blockscout',\n            url: 'https://worldchain-sepolia.explorer.alchemy.com',\n            apiUrl: 'https://worldchain-sepolia.explorer.alchemy.com/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xca11bde05977b3631167028862be2a173976ca11',\n            blockCreated: 0,\n        },\n        disputeGameFactory: {\n            [sourceId]: {\n                address: '0x8Ec1111f67Dad6b6A93B3F42DfBC92D81c98449A',\n            },\n        },\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0xc8886f8BAb6Eaeb215aDB5f1c686BF699248300e',\n            },\n        },\n        portal: {\n            [sourceId]: {\n                address: '0xFf6EBa109271fe6d4237EeeD4bAb1dD9A77dD1A4',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0xd7DF54b3989855eb66497301a4aAEc33Dbb3F8DE',\n            },\n        },\n    },\n    testnet: true,\n    sourceId,\n});\n//# sourceMappingURL=worldchainSepolia.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 1; // mainnet\nexport const zora = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 7777777,\n    name: 'Zora',\n    nativeCurrency: {\n        decimals: 18,\n        name: 'Ether',\n        symbol: 'ETH',\n    },\n    rpcUrls: {\n        default: {\n            http: ['https://rpc.zora.energy'],\n            webSocket: ['wss://rpc.zora.energy'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Explorer',\n            url: 'https://explorer.zora.energy',\n            apiUrl: 'https://explorer.zora.energy/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x9E6204F750cD866b299594e2aC9eA824E2e5f95c',\n            },\n        },\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n            blockCreated: 5882,\n        },\n        portal: {\n            [sourceId]: {\n                address: '0x1a0ad011913A150f69f6A19DF447A0CfD9551054',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x3e2Ea9B92B7E48A52296fD261dc26fd995284631',\n            },\n        },\n    },\n    sourceId,\n});\n//# sourceMappingURL=zora.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 11_155_111; // sepolia\nexport const zoraSepolia = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 999999999,\n    name: 'Zora Sepolia',\n    network: 'zora-sepolia',\n    nativeCurrency: {\n        decimals: 18,\n        name: 'Zora Sepolia',\n        symbol: 'ETH',\n    },\n    rpcUrls: {\n        default: {\n            http: ['https://sepolia.rpc.zora.energy'],\n            webSocket: ['wss://sepolia.rpc.zora.energy'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Zora Sepolia Explorer',\n            url: 'https://sepolia.explorer.zora.energy/',\n            apiUrl: 'https://sepolia.explorer.zora.energy/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        l2OutputOracle: {\n            [sourceId]: {\n                address: '0x2615B481Bd3E5A1C0C7Ca3Da1bdc663E8615Ade9',\n            },\n        },\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n            blockCreated: 83160,\n        },\n        portal: {\n            [sourceId]: {\n                address: '0xeffE2C6cA9Ab797D418f0D91eA60807713f3536f',\n            },\n        },\n        l1StandardBridge: {\n            [sourceId]: {\n                address: '0x5376f1D543dcbB5BD416c56C189e4cB7399fCcCB',\n            },\n        },\n    },\n    sourceId,\n    testnet: true,\n});\n//# sourceMappingURL=zoraSepolia.js.map","import { chainConfig } from '../../op-stack/chainConfig.js';\nimport { defineChain } from '../../utils/chain/defineChain.js';\nconst sourceId = 5; // goerli\nexport const zoraTestnet = /*#__PURE__*/ defineChain({\n    ...chainConfig,\n    id: 999,\n    name: 'Zora Goerli Testnet',\n    nativeCurrency: {\n        decimals: 18,\n        name: 'Zora Goerli',\n        symbol: 'ETH',\n    },\n    rpcUrls: {\n        default: {\n            http: ['https://testnet.rpc.zora.energy'],\n            webSocket: ['wss://testnet.rpc.zora.energy'],\n        },\n    },\n    blockExplorers: {\n        default: {\n            name: 'Explorer',\n            url: 'https://testnet.explorer.zora.energy',\n            apiUrl: 'https://testnet.explorer.zora.energy/api',\n        },\n    },\n    contracts: {\n        ...chainConfig.contracts,\n        multicall3: {\n            address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n            blockCreated: 189123,\n        },\n        portal: {\n            [sourceId]: {\n                address: '0xDb9F51790365e7dc196e7D072728df39Be958ACe',\n            },\n        },\n    },\n    sourceId,\n    testnet: true,\n});\n//# sourceMappingURL=zoraTestnet.js.map",null],"names":["encoder","toBytes","size","size_","formatAuthorizationList","sha256","noble_sha256","serializeTransaction","formatters","serializeTransaction_","serializers","chainConfig","sourceId","serializeTransaction_op","zeroAddress"],"mappings":"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"}