ContractEvents
Listen to Contract events in real time
class ContractEvents<TContract extends BaseContract> {}
function constructor<TContract extends BaseContract>( contractWrapper: ContractWrapper<TContract>,
Subscribe to contract events
You can add a listener for any contract event to run a function when the event is emitted. For example, if you wanted to listen for a "TokensMinted" event, you could do the following:
contract.events.addEventListener("TokensMinted", (event) => { console.log(event);});
function addEventListener<TEvent extends Record<string, any>>( eventName: (string & {}) | keyof TContract["filters"],): () => void;
the callback function that will be called on every new event
Subscribe to transactions in this contract.
Will emit an "event" object containing the transaction status ('submitted' and 'completed') and hash
contract.events.addTransactionListener((event) => { console.log(event);}
function addTransactionListener( listener: ListenerFn<Array<any>>,): void;
Get All Events
Get a list of all the events emitted from this contract during the specified time period
// Optionally pass in filters to limit the blocks from which events are retrievedconst filters = { fromBlock: 0, toBlock: 1000000,};const events = await contract.events.getAllEvents(filters);console.log(events[0].eventName);console.log(events[0].data);
function getAllEvents<TEvent extends Record<string, any>>(
Specify the from and to block numbers to get events for, defaults to all blocks
The event objects of the events emitted with event names and data for each event
Get Events
Get a list of the events of a specific type emitted from this contract during the specified time period
EventQueryOptions
// The name of the event to get logs forconst eventName = "Transfer"; // Optionally pass in options to limit the blocks from which events are retrievedconst options = { fromBlock: 0, toBlock: 1000000, // can also pass "latest" order: "desc", // Configure event filters (filter on indexed event parameters) filters: { from: "0x...", to: "0x...", },}; const events = await contract.events.getEvents(eventName, options);console.log(events[0].eventName);console.log(events[0].data);
function getEvents< TEvent extends Record<string, any> = Record<string, any>, TFilter extends Record<string, any> = Record<string, any>,>( eventName: string,
Specify the from and to block numbers to get events for, defaults to all blocks.
The requested event objects with event data
Listen to all events emitted from this contract
contract.events.listenToAllEvents((event) => { console.log(event.eventName) // the name of the emitted event console.log(event.data) // event payload}
function listenToAllEvents<TEvent extends Record<string, any>>(): () => void;
the callback function that will be called on every new event
Remove all listeners on this contract
Remove all listeners from a contract
contract.events.removeAllListeners();
function removeAllListeners(): void;
Remove an event listener from this contract
Remove a listener that was added with addEventListener
contract.events.removeEventListener("TokensMinted", (event) => { console.log(event);});
function removeEventListener( eventName: (string & {}) | keyof TContract["filters"], listener: Listener,): void;
Remove a transaction listener
Remove a listener that was added with addTransactionListener
contract.events.removeTransactionListener((event) => { console.log(event);}
function removeTransactionListener( listener: ListenerFn<Array<any>>,): void;