Skip to main content
@tevm/voltaire
@tevm/voltaire / primitives/EventLog

primitives/EventLog

Interfaces

EventLogConstructor()

Defined in: src/primitives/EventLog/EventLogConstructor.ts:42
EventLogConstructor(params): EventLogPrototype
Defined in: src/primitives/EventLog/EventLogConstructor.ts:43

Parameters

params
address
AddressType
blockHash?
HashType
blockNumber?
bigint
data
Uint8Array<ArrayBufferLike>
logIndex?
number
removed?
boolean
topics
readonly HashType[]
transactionHash?
HashType
transactionIndex?
number

Returns

EventLogPrototype

Properties

clone()
clone: <T>(log) => T
Defined in: src/primitives/EventLog/EventLogConstructor.ts:58
Type Parameters
T
T extends EventLogType
Parameters
log
T
Returns
T
copy()
copy: <T>(log) => T
Defined in: src/primitives/EventLog/EventLogConstructor.ts:59
Type Parameters
T
T extends EventLogType
Parameters
log
T
Returns
T
filter()
filter: <T>(logs, filter) => T[]
Defined in: src/primitives/EventLog/EventLogConstructor.ts:61
Type Parameters
T
T extends EventLogType
Parameters
logs
readonly T[]
filter
Filter<AddressType | AddressType[] | undefined, readonly (HashType | HashType[] | null)[] | undefined>
Returns
T[]
filterLogs()
filterLogs: <T>(logs, filter) => T[]
Defined in: src/primitives/EventLog/EventLogConstructor.ts:60
Type Parameters
T
T extends EventLogType
Parameters
logs
readonly T[]
filter
Filter<AddressType | AddressType[] | undefined, readonly (HashType | HashType[] | null)[] | undefined>
Returns
T[]
getIndexed()
getIndexed: <T>(log) => readonly HashType[]
Defined in: src/primitives/EventLog/EventLogConstructor.ts:49
Type Parameters
T
T extends EventLogType
Parameters
log
T
Returns
readonly HashType[]
getIndexedTopics()
getIndexedTopics: <T>(log) => readonly HashType[]
Defined in: src/primitives/EventLog/EventLogConstructor.ts:47
Type Parameters
T
T extends EventLogType
Parameters
log
T
Returns
readonly HashType[]
getSignature()
getSignature: <T>(log) => HashType | undefined
Defined in: src/primitives/EventLog/EventLogConstructor.ts:48
Type Parameters
T
T extends EventLogType
Parameters
log
T
Returns
HashType | undefined
getTopic0()
getTopic0: <T>(log) => HashType | undefined
Defined in: src/primitives/EventLog/EventLogConstructor.ts:46
Type Parameters
T
T extends EventLogType
Parameters
log
T
Returns
HashType | undefined
isRemoved()
isRemoved: <T>(log) => boolean
Defined in: src/primitives/EventLog/EventLogConstructor.ts:56
Type Parameters
T
T extends EventLogType
Parameters
log
T
Returns
boolean
matches()
matches: <T>(log, filterTopics) => boolean
Defined in: src/primitives/EventLog/EventLogConstructor.ts:51 Check if log matches topic filter
Type Parameters
T
T extends BrandedEventLog
Parameters
log
T Event log to check
filterTopics
readonly (HashType | HashType[] | null)[] Topic filter array
Returns
boolean True if log matches topic filter
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data });
const matches = EventLog.matchesTopics(log, [topic0, null, topic2]);
matchesAddr()
matchesAddr: <T>(log, filterAddress) => boolean
Defined in: src/primitives/EventLog/EventLogConstructor.ts:53 Check if log matches address filter
Type Parameters
T
T extends BrandedEventLog
Parameters
log
T Event log to check
filterAddress
Address or array of addresses to match AddressType | AddressType[]
Returns
boolean True if log matches address filter
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
import * as Address from './primitives/Address/index.js';
const log = EventLog.create({ address, topics, data });
const matches = EventLog.matchesAddress(log, Address.from("0x..."));
matchesAddress()
matchesAddress: <T>(log, filterAddress) => boolean
Defined in: src/primitives/EventLog/EventLogConstructor.ts:52 Check if log matches address filter
Type Parameters
T
T extends BrandedEventLog
Parameters
log
T Event log to check
filterAddress
Address or array of addresses to match AddressType | AddressType[]
Returns
boolean True if log matches address filter
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
import * as Address from './primitives/Address/index.js';
const log = EventLog.create({ address, topics, data });
const matches = EventLog.matchesAddress(log, Address.from("0x..."));
matchesAll()
matchesAll: <T>(log, filter) => boolean
Defined in: src/primitives/EventLog/EventLogConstructor.ts:55 Check if log matches complete filter
Type Parameters
T
T extends BrandedEventLog
Parameters
log
T Event log to check
filter
Filter Complete filter object
Returns
boolean True if log matches all filter criteria
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
import * as Address from './primitives/Address/index.js';
const log = EventLog.create({ address, topics, data });
const matches = EventLog.matchesFilter(log, {
  address: Address.from("0x..."),
  topics: [topic0, null, topic2],
  fromBlock: 100n,
  toBlock: 200n,
});
matchesFilter()
matchesFilter: <T>(log, filter) => boolean
Defined in: src/primitives/EventLog/EventLogConstructor.ts:54 Check if log matches complete filter
Type Parameters
T
T extends BrandedEventLog
Parameters
log
T Event log to check
filter
Filter Complete filter object
Returns
boolean True if log matches all filter criteria
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
import * as Address from './primitives/Address/index.js';
const log = EventLog.create({ address, topics, data });
const matches = EventLog.matchesFilter(log, {
  address: Address.from("0x..."),
  topics: [topic0, null, topic2],
  fromBlock: 100n,
  toBlock: 200n,
});
matchesTopics()
matchesTopics: <T>(log, filterTopics) => boolean
Defined in: src/primitives/EventLog/EventLogConstructor.ts:50 Check if log matches topic filter
Type Parameters
T
T extends BrandedEventLog
Parameters
log
T Event log to check
filterTopics
readonly (HashType | HashType[] | null)[] Topic filter array
Returns
boolean True if log matches topic filter
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data });
const matches = EventLog.matchesTopics(log, [topic0, null, topic2]);
prototype
prototype: EventLogPrototype
Defined in: src/primitives/EventLog/EventLogConstructor.ts:44
sort()
sort: <T>(logs) => T[]
Defined in: src/primitives/EventLog/EventLogConstructor.ts:63
Type Parameters
T
T extends EventLogType
Parameters
logs
readonly T[]
Returns
T[]
sortLogs()
sortLogs: <T>(logs) => T[]
Defined in: src/primitives/EventLog/EventLogConstructor.ts:62
Type Parameters
T
T extends EventLogType
Parameters
logs
readonly T[]
Returns
T[]
wasRemoved()
wasRemoved: <T>(log) => boolean
Defined in: src/primitives/EventLog/EventLogConstructor.ts:57
Type Parameters
T
T extends EventLogType
Parameters
log
T
Returns
boolean

Methods

create()
create(params): EventLogPrototype
Defined in: src/primitives/EventLog/EventLogConstructor.ts:45
Parameters
params
address
AddressType
blockHash?
HashType
blockNumber?
bigint
data
Uint8Array<ArrayBufferLike>
logIndex?
number
removed?
boolean
topics
readonly HashType[]
transactionHash?
HashType
transactionIndex?
number
Returns
EventLogPrototype

Type Aliases

EventLogType

EventLogType<TAddress, TTopics> = object & object
Defined in: src/primitives/EventLog/EventLogType.ts:8 Branded EventLog type

Type Declaration

address
address: TAddress
Contract address that emitted the log
blockHash?
optional blockHash: HashType
Block hash
blockNumber?
optional blockNumber: bigint
Block number where log was emitted
data
data: Uint8Array
Event data (non-indexed parameters)
logIndex?
optional logIndex: number
Log index in block
removed?
optional removed: boolean
Log removed due to chain reorganization
topics
topics: TTopics
Event topics (topic0 = event signature, topic1-3 = indexed parameters)
transactionHash?
optional transactionHash: HashType
Transaction hash that generated the log
transactionIndex?
optional transactionIndex: number
Transaction index in block

Type Declaration

[brand]
readonly [brand]: "EventLog"

Type Parameters

TAddress
TAddress extends AddressType = AddressType
TTopics
TTopics extends readonly HashType[] = readonly HashType[]

Filter

Filter<TAddress, TTopics> = object
Defined in: src/primitives/EventLog/EventLogType.ts:53 Event log filter for querying logs

Type Parameters

TAddress
TAddress extends AddressType | AddressType[] | undefined = AddressType | AddressType[] | undefined
TTopics
TTopics extends readonly (HashType | HashType[] | null)[] | undefined = readonly (HashType | HashType[] | null)[] | undefined

Properties

address?
optional address: TAddress
Defined in: src/primitives/EventLog/EventLogType.ts:63 Contract address(es) to filter by
blockHash?
optional blockHash: HashType
Defined in: src/primitives/EventLog/EventLogType.ts:71 Block hash to filter by (alternative to fromBlock/toBlock)
fromBlock?
optional fromBlock: bigint
Defined in: src/primitives/EventLog/EventLogType.ts:67 Starting block number
toBlock?
optional toBlock: bigint
Defined in: src/primitives/EventLog/EventLogType.ts:69 Ending block number
topics?
optional topics: TTopics
Defined in: src/primitives/EventLog/EventLogType.ts:65 Topic filters (null entries match any topic, arrays match any of the hashes)

Variables

BrandedEventLog

const BrandedEventLog: object
Defined in: src/primitives/EventLog/index.ts:50

Type Declaration

clone()
clone: <T>(log) => T
Clone event log with deep copy of topics and data
Type Parameters
T
T extends EventLogType<AddressType, readonly HashType[]>
Parameters
log
T Event log
Returns
T Cloned log
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data });
const cloned = EventLog.clone(log);
copy()
copy: <T>(log) => T
Copy event log (alias for clone)
Type Parameters
T
T extends BrandedEventLog
Parameters
log
T Event log
Returns
T Copied log
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data });
const copied = EventLog.copy(log);
create()
create: (params) => EventLogType<AddressType, readonly HashType[]>
Create event log
Parameters
params
Event log parameters
address
AddressType Contract address
blockHash?
HashType Block hash
blockNumber?
bigint Block number
data
Uint8Array<ArrayBufferLike> Event data
logIndex?
number Log index
removed?
boolean Whether log was removed
topics
readonly HashType[] Event topics
transactionHash?
HashType Transaction hash
transactionIndex?
number Transaction index
Returns
EventLogType<AddressType, readonly HashType[]> EventLog object
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
import * as Address from './primitives/Address/index.js';
import * as Hash from './primitives/Hash/index.js';
const log = EventLog.create({
  address: Address.from("0x..."),
  topics: [Hash.from("0x...")],
  data: new Uint8Array([1, 2, 3]),
});
filterLogs()
filterLogs: <T>(logs, filter) => T[]
Filter array of logs by filter criteria
Type Parameters
T
T extends BrandedEventLog
Parameters
logs
readonly T[] Array of event logs
filter
Filter Filter criteria
Returns
T[] Filtered array of logs
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
const logs = [log1, log2, log3];
const filtered = EventLog.filterLogs(logs, {
  address: Address.from("0x..."),
  topics: [topic0, null],
});
from()
from: (params) => BrandedEventLog
Create EventLog from parameters
Parameters
params
Event log parameters
address
AddressType
blockHash?
HashType
blockNumber?
bigint
data
Uint8Array<ArrayBufferLike>
logIndex?
number
removed?
boolean
topics
readonly HashType[]
transactionHash?
HashType
transactionIndex?
number
Returns
BrandedEventLog
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
import * as Address from './primitives/Address/index.js';
import * as Hash from './primitives/Hash/index.js';
const log = EventLog.from({
  address: Address.from("0x..."),
  topics: [Hash.from("0x...")],
  data: new Uint8Array([1, 2, 3]),
});
getIndexed()
getIndexed: <T>(log) => readonly HashType[]
Get indexed parameters (alias for getIndexedTopics)
Type Parameters
T
T extends BrandedEventLog
Parameters
log
T Event log
Returns
readonly HashType[] Array of indexed topic hashes
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data });
const indexed = EventLog.getIndexed(log);
getIndexedTopics()
getIndexedTopics: <T>(log) => readonly HashType[]
Get indexed topics (topic1-topic3) from log
Type Parameters
T
T extends EventLogType<AddressType, readonly HashType[]>
Parameters
log
T Event log
Returns
readonly HashType[] Array of indexed topic hashes
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data });
const indexed = EventLog.getIndexedTopics(log);
getSignature()
getSignature: <T>(log) => HashType | undefined
Get event signature (alias for getTopic0)
Type Parameters
T
T extends BrandedEventLog
Parameters
log
T Event log
Returns
HashType | undefined Event signature hash or undefined if no topics
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data });
const sig = EventLog.getSignature(log);
getTopic0()
getTopic0: <T>(log) => HashType | undefined
Get topic0 (event signature) from log
Type Parameters
T
T extends EventLogType<AddressType, readonly HashType[]>
Parameters
log
T Event log
Returns
HashType | undefined Topic0 hash or undefined if no topics
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data });
const topic0 = EventLog.getTopic0(log);
isRemoved()
isRemoved: <T>(log) => boolean
Check if log was removed
Type Parameters
T
T extends EventLogType<AddressType, readonly HashType[]>
Parameters
log
T Event log
Returns
boolean True if log was removed
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data, removed: true });
const removed = EventLog.isRemoved(log);
matchesAddress()
matchesAddress: <T>(log, filterAddress) => boolean
Check if log matches address filter
Type Parameters
T
T extends BrandedEventLog
Parameters
log
T Event log to check
filterAddress
Address or array of addresses to match AddressType | AddressType[]
Returns
boolean True if log matches address filter
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
import * as Address from './primitives/Address/index.js';
const log = EventLog.create({ address, topics, data });
const matches = EventLog.matchesAddress(log, Address.from("0x..."));
matchesFilter()
matchesFilter: <T>(log, filter) => boolean
Check if log matches complete filter
Type Parameters
T
T extends BrandedEventLog
Parameters
log
T Event log to check
filter
Filter Complete filter object
Returns
boolean True if log matches all filter criteria
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
import * as Address from './primitives/Address/index.js';
const log = EventLog.create({ address, topics, data });
const matches = EventLog.matchesFilter(log, {
  address: Address.from("0x..."),
  topics: [topic0, null, topic2],
  fromBlock: 100n,
  toBlock: 200n,
});
matchesTopics()
matchesTopics: <T>(log, filterTopics) => boolean
Check if log matches topic filter
Type Parameters
T
T extends BrandedEventLog
Parameters
log
T Event log to check
filterTopics
readonly (HashType | HashType[] | null)[] Topic filter array
Returns
boolean True if log matches topic filter
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data });
const matches = EventLog.matchesTopics(log, [topic0, null, topic2]);
sortLogs()
sortLogs: <T>(logs) => T[]
Sort logs by block number and log index
Type Parameters
T
T extends EventLogType<AddressType, readonly HashType[]>
Parameters
logs
readonly T[] Array of event logs
Returns
T[] Sorted array of logs
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
const logs = [log3, log1, log2];
const sorted = EventLog.sortLogs(logs);
wasRemoved()
wasRemoved: <T>(log) => boolean
Check if log was removed (alias for isRemoved)
Type Parameters
T
T extends BrandedEventLog
Parameters
log
T Event log
Returns
boolean True if log was removed
See
https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation
Since
0.0.0
Throws
Example
import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data, removed: true });
const removed = EventLog.wasRemoved(log);

Functions

clone()

clone<T>(log): T
Defined in: src/primitives/EventLog/clone.js:21 Clone event log with deep copy of topics and data

Type Parameters

T
T extends EventLogType<AddressType, readonly HashType[]>

Parameters

log
T Event log

Returns

T Cloned log

See

https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation

Since

0.0.0

Throws

Example

import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data });
const cloned = EventLog.clone(log);

copy()

copy<T>(log): T
Defined in: src/primitives/EventLog/copy.js:23 Copy event log (alias for clone)

Type Parameters

T
T extends BrandedEventLog

Parameters

log
T Event log

Returns

T Copied log

See

https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation

Since

0.0.0

Throws

Example

import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data });
const copied = EventLog.copy(log);

create()

create(params): EventLogType<AddressType, readonly HashType[]>
Defined in: src/primitives/EventLog/create.js:36 Create event log

Parameters

params
Event log parameters
address
AddressType Contract address
blockHash?
HashType Block hash
blockNumber?
bigint Block number
data
Uint8Array<ArrayBufferLike> Event data
logIndex?
number Log index
removed?
boolean Whether log was removed
topics
readonly HashType[] Event topics
transactionHash?
HashType Transaction hash
transactionIndex?
number Transaction index

Returns

EventLogType<AddressType, readonly HashType[]> EventLog object

See

https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation

Since

0.0.0

Throws

Example

import * as EventLog from './primitives/EventLog/index.js';
import * as Address from './primitives/Address/index.js';
import * as Hash from './primitives/Hash/index.js';
const log = EventLog.create({
  address: Address.from("0x..."),
  topics: [Hash.from("0x...")],
  data: new Uint8Array([1, 2, 3]),
});

filterLogs()

filterLogs<T>(logs, filter): T[]
Defined in: src/primitives/EventLog/filterLogs.js:28 Filter array of logs by filter criteria

Type Parameters

T
T extends BrandedEventLog

Parameters

logs
readonly T[] Array of event logs
filter
Filter Filter criteria

Returns

T[] Filtered array of logs

See

https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation

Since

0.0.0

Throws

Example

import * as EventLog from './primitives/EventLog/index.js';
const logs = [log1, log2, log3];
const filtered = EventLog.filterLogs(logs, {
  address: Address.from("0x..."),
  topics: [topic0, null],
});

from()

from(params): BrandedEventLog
Defined in: src/primitives/EventLog/from.js:27 Create EventLog from parameters

Parameters

params
Event log parameters
address
AddressType
blockHash?
HashType
blockNumber?
bigint
data
Uint8Array<ArrayBufferLike>
logIndex?
number
removed?
boolean
topics
readonly HashType[]
transactionHash?
HashType
transactionIndex?
number

Returns

BrandedEventLog

See

https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation

Since

0.0.0

Throws

Example

import * as EventLog from './primitives/EventLog/index.js';
import * as Address from './primitives/Address/index.js';
import * as Hash from './primitives/Hash/index.js';
const log = EventLog.from({
  address: Address.from("0x..."),
  topics: [Hash.from("0x...")],
  data: new Uint8Array([1, 2, 3]),
});

getIndexed()

getIndexed<T>(log): readonly HashType[]
Defined in: src/primitives/EventLog/getIndexed.js:24 Get indexed parameters (alias for getIndexedTopics)

Type Parameters

T
T extends BrandedEventLog

Parameters

log
T Event log

Returns

readonly HashType[] Array of indexed topic hashes

See

https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation

Since

0.0.0

Throws

Example

import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data });
const indexed = EventLog.getIndexed(log);

getIndexedTopics()

getIndexedTopics<T>(log): readonly HashType[]
Defined in: src/primitives/EventLog/getIndexedTopics.js:22 Get indexed topics (topic1-topic3) from log

Type Parameters

T
T extends EventLogType<AddressType, readonly HashType[]>

Parameters

log
T Event log

Returns

readonly HashType[] Array of indexed topic hashes

See

https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation

Since

0.0.0

Throws

Example

import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data });
const indexed = EventLog.getIndexedTopics(log);

getSignature()

getSignature<T>(log): HashType | undefined
Defined in: src/primitives/EventLog/getSignature.js:24 Get event signature (alias for getTopic0)

Type Parameters

T
T extends BrandedEventLog

Parameters

log
T Event log

Returns

HashType | undefined Event signature hash or undefined if no topics

See

https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation

Since

0.0.0

Throws

Example

import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data });
const sig = EventLog.getSignature(log);

getTopic0()

getTopic0<T>(log): HashType | undefined
Defined in: src/primitives/EventLog/getTopic0.js:22 Get topic0 (event signature) from log

Type Parameters

T
T extends EventLogType<AddressType, readonly HashType[]>

Parameters

log
T Event log

Returns

HashType | undefined Topic0 hash or undefined if no topics

See

https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation

Since

0.0.0

Throws

Example

import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data });
const topic0 = EventLog.getTopic0(log);

isRemoved()

isRemoved<T>(log): boolean
Defined in: src/primitives/EventLog/isRemoved.js:21 Check if log was removed

Type Parameters

T
T extends EventLogType<AddressType, readonly HashType[]>

Parameters

log
T Event log

Returns

boolean True if log was removed

See

https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation

Since

0.0.0

Throws

Example

import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data, removed: true });
const removed = EventLog.isRemoved(log);

matchesAddress()

matchesAddress<T>(log, filterAddress): boolean
Defined in: src/primitives/EventLog/matchesAddress.js:26 Check if log matches address filter

Type Parameters

T
T extends BrandedEventLog

Parameters

log
T Event log to check
filterAddress
Address or array of addresses to match AddressType | AddressType[]

Returns

boolean True if log matches address filter

See

https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation

Since

0.0.0

Throws

Example

import * as EventLog from './primitives/EventLog/index.js';
import * as Address from './primitives/Address/index.js';
const log = EventLog.create({ address, topics, data });
const matches = EventLog.matchesAddress(log, Address.from("0x..."));

matchesFilter()

matchesFilter<T>(log, filter): boolean
Defined in: src/primitives/EventLog/matchesFilter.js:34 Check if log matches complete filter

Type Parameters

T
T extends BrandedEventLog

Parameters

log
T Event log to check
filter
Filter Complete filter object

Returns

boolean True if log matches all filter criteria

See

https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation

Since

0.0.0

Throws

Example

import * as EventLog from './primitives/EventLog/index.js';
import * as Address from './primitives/Address/index.js';
const log = EventLog.create({ address, topics, data });
const matches = EventLog.matchesFilter(log, {
  address: Address.from("0x..."),
  topics: [topic0, null, topic2],
  fromBlock: 100n,
  toBlock: 200n,
});

matchesTopics()

matchesTopics<T>(log, filterTopics): boolean
Defined in: src/primitives/EventLog/matchesTopics.js:26 Check if log matches topic filter

Type Parameters

T
T extends BrandedEventLog

Parameters

log
T Event log to check
filterTopics
readonly (HashType | HashType[] | null)[] Topic filter array

Returns

boolean True if log matches topic filter

See

https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation

Since

0.0.0

Throws

Example

import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data });
const matches = EventLog.matchesTopics(log, [topic0, null, topic2]);

sortLogs()

sortLogs<T>(logs): T[]
Defined in: src/primitives/EventLog/sortLogs.js:21 Sort logs by block number and log index

Type Parameters

T
T extends EventLogType<AddressType, readonly HashType[]>

Parameters

logs
readonly T[] Array of event logs

Returns

T[] Sorted array of logs

See

https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation

Since

0.0.0

Throws

Example

import * as EventLog from './primitives/EventLog/index.js';
const logs = [log3, log1, log2];
const sorted = EventLog.sortLogs(logs);

wasRemoved()

wasRemoved<T>(log): boolean
Defined in: src/primitives/EventLog/wasRemoved.js:23 Check if log was removed (alias for isRemoved)

Type Parameters

T
T extends BrandedEventLog

Parameters

log
T Event log

Returns

boolean True if log was removed

See

https://voltaire.tevm.sh/primitives/eventlog for EventLog documentation

Since

0.0.0

Throws

Example

import * as EventLog from './primitives/EventLog/index.js';
const log = EventLog.create({ address, topics, data, removed: true });
const removed = EventLog.wasRemoved(log);

References

BrandedEventLogType

Renames and re-exports EventLogType