Commit b4d9d539 authored by smartcontracts's avatar smartcontracts Committed by GitHub

Merge pull request #1765 from ethereum-optimism/sc/remove-events-from-core-utils

maintenance: remove event types from core utils
parents e0589e01 c47bbb89
......@@ -73,8 +73,8 @@
"@nomiclabs/hardhat-waffle": "^2.0.1",
"@openzeppelin/contracts": "4.3.2",
"@openzeppelin/contracts-upgradeable": "4.3.2",
"@typechain/ethers-v5": "^7.0.1",
"@typechain/hardhat": "^2.3.0",
"@typechain/ethers-v5": "^8.0.2",
"@typechain/hardhat": "^3.0.0",
"@types/chai": "^4.2.18",
"@types/lodash": "^4.14.168",
"@types/mkdirp": "^1.0.1",
......@@ -117,7 +117,7 @@
"solidity-coverage": "^0.7.17",
"ts-generator": "0.0.8",
"ts-node": "^10.0.0",
"typechain": "^5.1.0",
"typechain": "^6.0.2",
"typescript": "^4.3.5",
"yargs": "^16.2.0"
},
......
import { ethers } from 'ethers'
export interface EventArgsAddressSet {
_name: string
_newAddress: string
_oldAddress: string
}
export interface EventArgsTransactionEnqueued {
_l1TxOrigin: string
_target: string
_gasLimit: ethers.BigNumber
_data: string
_queueIndex: ethers.BigNumber
_timestamp: ethers.BigNumber
}
export interface EventArgsTransactionBatchAppended {
_batchIndex: ethers.BigNumber
_batchRoot: string
_batchSize: ethers.BigNumber
_prevTotalElements: ethers.BigNumber
_extraData: string
}
export interface EventArgsStateBatchAppended {
_batchIndex: ethers.BigNumber
_batchRoot: string
_batchSize: ethers.BigNumber
_prevTotalElements: ethers.BigNumber
_extraData: string
}
export interface EventArgsSequencerBatchAppended {
_startingQueueIndex: ethers.BigNumber
_numQueueElements: ethers.BigNumber
_totalElements: ethers.BigNumber
}
......@@ -2,7 +2,6 @@ export * from './coders'
export * from './common'
export * from './watcher'
export * from './l2context'
export * from './events'
export * from './batches'
export * from './bcfg'
export * from './fees'
......
......@@ -5,8 +5,8 @@ import {
fromHexString,
toHexString,
toRpcHexString,
EventArgsSequencerBatchAppended,
} from '@eth-optimism/core-utils'
import { SequencerBatchAppendedEvent } from '@eth-optimism/contracts/dist/types/CanonicalTransactionChain'
/* Imports: Internal */
import {
......@@ -21,7 +21,7 @@ import { SEQUENCER_GAS_LIMIT, parseSignatureVParam } from '../../../utils'
import { MissingElementError } from './errors'
export const handleEventsSequencerBatchAppended: EventHandlerSet<
EventArgsSequencerBatchAppended,
SequencerBatchAppendedEvent,
SequencerBatchAppendedExtraData,
SequencerBatchAppendedParsedEvent
> = {
......
/* Imports: External */
import { StateBatchAppendedEvent } from '@eth-optimism/contracts/dist/types/StateCommitmentChain'
import { getContractFactory } from '@eth-optimism/contracts'
import { EventArgsStateBatchAppended } from '@eth-optimism/core-utils'
import { BigNumber } from 'ethers'
/* Imports: Internal */
......@@ -14,7 +14,7 @@ import {
import { MissingElementError } from './errors'
export const handleEventsStateBatchAppended: EventHandlerSet<
EventArgsStateBatchAppended,
StateBatchAppendedEvent,
StateBatchAppendedExtraData,
StateBatchAppendedParsedEvent
> = {
......
import { EventArgsTransactionEnqueued } from '@eth-optimism/core-utils'
/* Imports: External */
import { BigNumber } from 'ethers'
import { TransactionEnqueuedEvent } from '@eth-optimism/contracts/dist/types/CanonicalTransactionChain'
/* Imports: Internal */
import { BigNumber } from 'ethers'
import { EnqueueEntry, EventHandlerSet } from '../../../types'
import { MissingElementError } from './errors'
export const handleEventsTransactionEnqueued: EventHandlerSet<
EventArgsTransactionEnqueued,
TransactionEnqueuedEvent,
null,
EnqueueEntry
> = {
......
/* Imports: External */
import { fromHexString, FallbackProvider } from '@eth-optimism/core-utils'
import { BaseService, Metrics } from '@eth-optimism/common-ts'
import { TypedEvent } from '@eth-optimism/contracts/dist/types/common'
import { BaseProvider } from '@ethersproject/providers'
import { LevelUp } from 'levelup'
import { constants } from 'ethers'
......@@ -15,7 +16,7 @@ import {
loadContract,
validators,
} from '../../utils'
import { TypedEthersEvent, EventHandlerSet } from '../../types'
import { EventHandlerSet } from '../../types'
import { handleEventsTransactionEnqueued } from './handlers/transaction-enqueued'
import { handleEventsSequencerBatchAppended } from './handlers/sequencer-batch-appended'
import { handleEventsStateBatchAppended } from './handlers/state-batch-appended'
......@@ -389,9 +390,7 @@ export class L1IngestionService extends BaseService<L1IngestionServiceOptions> {
for (const eventRange of eventRanges) {
// Find all relevant events within the range.
const events: TypedEthersEvent<any>[] = await this.state.contracts[
contractName
]
const events: TypedEvent[] = await this.state.contracts[contractName]
.attach(eventRange.address)
.queryFilter(
this.state.contracts[contractName].filters[eventName](),
......
import { BaseProvider } from '@ethersproject/providers'
import { BigNumber, Event } from 'ethers'
import { BigNumber } from 'ethers'
import { TypedEvent } from '@eth-optimism/contracts/dist/types/common'
import { TransportDB } from '../db/transport-db'
import {
......@@ -9,29 +10,29 @@ import {
StateRootEntry,
} from './database-types'
export type TypedEthersEvent<T> = Event & {
args: T
}
export type GetExtraDataHandler<TEventArgs, TExtraData> = (
event?: TypedEthersEvent<TEventArgs>,
export type GetExtraDataHandler<TEvent extends TypedEvent, TExtraData> = (
event?: TEvent,
l1RpcProvider?: BaseProvider
) => Promise<TExtraData>
export type ParseEventHandler<TEventArgs, TExtraData, TParsedEvent> = (
event: TypedEthersEvent<TEventArgs>,
extraData: TExtraData,
l2ChainId: number
) => TParsedEvent
export type ParseEventHandler<
TEvent extends TypedEvent,
TExtraData,
TParsedEvent
> = (event: TEvent, extraData: TExtraData, l2ChainId: number) => TParsedEvent
export type StoreEventHandler<TParsedEvent> = (
parsedEvent: TParsedEvent,
db: TransportDB
) => Promise<void>
export interface EventHandlerSet<TEventArgs, TExtraData, TParsedEvent> {
getExtraData: GetExtraDataHandler<TEventArgs, TExtraData>
parseEvent: ParseEventHandler<TEventArgs, TExtraData, TParsedEvent>
export interface EventHandlerSet<
TEvent extends TypedEvent,
TExtraData,
TParsedEvent
> {
getExtraData: GetExtraDataHandler<TEvent, TExtraData>
parseEvent: ParseEventHandler<TEvent, TExtraData, TParsedEvent>
storeEvent: StoreEventHandler<TParsedEvent>
}
......
......@@ -2686,15 +2686,18 @@
dependencies:
ethers "^5.0.2"
"@typechain/ethers-v5@^7.0.1":
version "7.0.1"
resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-7.0.1.tgz#f9ae60ae5bd9e8ea8a996f66244147e8e74034ae"
integrity sha512-mXEJ7LG0pOYO+MRPkHtbf30Ey9X2KAsU0wkeoVvjQIn7iAY6tB3k3s+82bbmJAUMyENbQ04RDOZit36CgSG6Gg==
"@typechain/ethers-v5@^8.0.2":
version "8.0.2"
resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-8.0.2.tgz#0f2cc0db1513cb02e3e78929139216b153c9d2c0"
integrity sha512-oRMA3X5UWrsUiNb/lFTusa8xBpw6CckOHAk7sZBHeDQh4tAp+ZU24wdwdURcOtPnagzdCv5Dvl1qlD038brf1A==
dependencies:
lodash "^4.17.15"
ts-essentials "^7.0.1"
"@typechain/hardhat@^2.3.0":
version "2.3.0"
resolved "https://registry.yarnpkg.com/@typechain/hardhat/-/hardhat-2.3.0.tgz#dc7f29281637b38b77c7c046ae82700703395d0f"
integrity sha512-zERrtNol86L4DX60ktnXxP7Cq8rSZHPaQvsChyiQQVuvVs2FTLm24Yi+MYnfsIdbUBIXZG7SxDWhtCF5I0tJNQ==
"@typechain/hardhat@^3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@typechain/hardhat/-/hardhat-3.0.0.tgz#a94396855506d42b98d6e7c09f87ca14180d6c64"
integrity sha512-FpnIIXkDXm54XCHI/Z2iOet7h1MrFSvZfuljX9Uzc6FEjEfb01Tuzu8ywe2iquD3g5JXqovgdv+M54L/2Z6jkg==
dependencies:
fs-extra "^9.1.0"
......@@ -15170,10 +15173,10 @@ typechain@^3.0.0:
ts-essentials "^6.0.3"
ts-generator "^0.1.1"
typechain@^5.1.0:
version "5.1.2"
resolved "https://registry.yarnpkg.com/typechain/-/typechain-5.1.2.tgz#c8784d6155a8e69397ca47f438a3b4fb2aa939da"
integrity sha512-FuaCxJd7BD3ZAjVJoO+D6TnqKey3pQdsqOBsC83RKYWKli5BDhdf0TPkwfyjt20TUlZvOzJifz+lDwXsRkiSKA==
typechain@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/typechain/-/typechain-6.0.2.tgz#0a1d6328aa934dfd66c8941cd94c1d3491cc34f0"
integrity sha512-fphYQ2+r5z38eq02qr4KjgU9/Xdda8Cj+eV2QHSRXhDPyhEVv+ln9123iGjjDLEhGyROb3DQkbvjm3Dl0GtUeQ==
dependencies:
"@types/prettier" "^2.1.1"
command-line-args "^4.0.7"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment