| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 | 
							- // import from provider.ts instead of index.ts to prevent circular dep
 
- // from EtherscanProvider
 
- import { Log, TransactionReceipt, TransactionResponse } from "../providers/provider.js";
 
- import { defineProperties, EventPayload } from "../utils/index.js";
 
- /**
 
-  *  An **EventLog** contains additional properties parsed from the [[Log]].
 
-  */
 
- export class EventLog extends Log {
 
-     /**
 
-      *  The Contract Interface.
 
-      */
 
-     interface;
 
-     /**
 
-      *  The matching event.
 
-      */
 
-     fragment;
 
-     /**
 
-      *  The parsed arguments passed to the event by ``emit``.
 
-      */
 
-     args;
 
-     /**
 
-      * @_ignore:
 
-      */
 
-     constructor(log, iface, fragment) {
 
-         super(log, log.provider);
 
-         const args = iface.decodeEventLog(fragment, log.data, log.topics);
 
-         defineProperties(this, { args, fragment, interface: iface });
 
-     }
 
-     /**
 
-      *  The name of the event.
 
-      */
 
-     get eventName() { return this.fragment.name; }
 
-     /**
 
-      *  The signature of the event.
 
-      */
 
-     get eventSignature() { return this.fragment.format(); }
 
- }
 
- /**
 
-  *  An **EventLog** contains additional properties parsed from the [[Log]].
 
-  */
 
- export class UndecodedEventLog extends Log {
 
-     /**
 
-      *  The error encounted when trying to decode the log.
 
-      */
 
-     error;
 
-     /**
 
-      * @_ignore:
 
-      */
 
-     constructor(log, error) {
 
-         super(log, log.provider);
 
-         defineProperties(this, { error });
 
-     }
 
- }
 
- /**
 
-  *  A **ContractTransactionReceipt** includes the parsed logs from a
 
-  *  [[TransactionReceipt]].
 
-  */
 
- export class ContractTransactionReceipt extends TransactionReceipt {
 
-     #iface;
 
-     /**
 
-      *  @_ignore:
 
-      */
 
-     constructor(iface, provider, tx) {
 
-         super(tx, provider);
 
-         this.#iface = iface;
 
-     }
 
-     /**
 
-      *  The parsed logs for any [[Log]] which has a matching event in the
 
-      *  Contract ABI.
 
-      */
 
-     get logs() {
 
-         return super.logs.map((log) => {
 
-             const fragment = log.topics.length ? this.#iface.getEvent(log.topics[0]) : null;
 
-             if (fragment) {
 
-                 try {
 
-                     return new EventLog(log, this.#iface, fragment);
 
-                 }
 
-                 catch (error) {
 
-                     return new UndecodedEventLog(log, error);
 
-                 }
 
-             }
 
-             return log;
 
-         });
 
-     }
 
- }
 
- /**
 
-  *  A **ContractTransactionResponse** will return a
 
-  *  [[ContractTransactionReceipt]] when waited on.
 
-  */
 
- export class ContractTransactionResponse extends TransactionResponse {
 
-     #iface;
 
-     /**
 
-      *  @_ignore:
 
-      */
 
-     constructor(iface, provider, tx) {
 
-         super(tx, provider);
 
-         this.#iface = iface;
 
-     }
 
-     /**
 
-      *  Resolves once this transaction has been mined and has
 
-      *  %%confirms%% blocks including it (default: ``1``) with an
 
-      *  optional %%timeout%%.
 
-      *
 
-      *  This can resolve to ``null`` only if %%confirms%% is ``0``
 
-      *  and the transaction has not been mined, otherwise this will
 
-      *  wait until enough confirmations have completed.
 
-      */
 
-     async wait(confirms, timeout) {
 
-         const receipt = await super.wait(confirms, timeout);
 
-         if (receipt == null) {
 
-             return null;
 
-         }
 
-         return new ContractTransactionReceipt(this.#iface, this.provider, receipt);
 
-     }
 
- }
 
- /**
 
-  *  A **ContractUnknownEventPayload** is included as the last parameter to
 
-  *  Contract Events when the event does not match any events in the ABI.
 
-  */
 
- export class ContractUnknownEventPayload extends EventPayload {
 
-     /**
 
-      *  The log with no matching events.
 
-      */
 
-     log;
 
-     /**
 
-      *  @_event:
 
-      */
 
-     constructor(contract, listener, filter, log) {
 
-         super(contract, listener, filter);
 
-         defineProperties(this, { log });
 
-     }
 
-     /**
 
-      *  Resolves to the block the event occured in.
 
-      */
 
-     async getBlock() {
 
-         return await this.log.getBlock();
 
-     }
 
-     /**
 
-      *  Resolves to the transaction the event occured in.
 
-      */
 
-     async getTransaction() {
 
-         return await this.log.getTransaction();
 
-     }
 
-     /**
 
-      *  Resolves to the transaction receipt the event occured in.
 
-      */
 
-     async getTransactionReceipt() {
 
-         return await this.log.getTransactionReceipt();
 
-     }
 
- }
 
- /**
 
-  *  A **ContractEventPayload** is included as the last parameter to
 
-  *  Contract Events when the event is known.
 
-  */
 
- export class ContractEventPayload extends ContractUnknownEventPayload {
 
-     /**
 
-      *  @_ignore:
 
-      */
 
-     constructor(contract, listener, filter, fragment, _log) {
 
-         super(contract, listener, filter, new EventLog(_log, contract.interface, fragment));
 
-         const args = contract.interface.decodeEventLog(fragment, this.log.data, this.log.topics);
 
-         defineProperties(this, { args, fragment });
 
-     }
 
-     /**
 
-      *  The event name.
 
-      */
 
-     get eventName() {
 
-         return this.fragment.name;
 
-     }
 
-     /**
 
-      *  The event signature.
 
-      */
 
-     get eventSignature() {
 
-         return this.fragment.format();
 
-     }
 
- }
 
- //# sourceMappingURL=wrappers.js.map
 
 
  |