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