Explain contract here...
Returns a new instance of the Contract attached to a new address. This is useful if there are multiple similar or identical copies of a Contract on the network and you wish to interact with each of them.
This is the address (or ENS name) the contract was constructed with.
This is a promise that will resolve to the address the Contract object is attached to. If an Address was provided to the constructor, it will be equal to this; if an ENS name was provided, this will be the resolved address.
If the Contract object is the result of a ContractFactory deployment, this is the transaction which was used to deploy the contract.
If a provider was provided to the constructor, this is that provider. If a signer was provided that had a Provider, this is that provider.
If a signer was provided to the constructor, this is that signer.
Return Events that match the event.
Return the number of listeners that are subscribed to event. If no event is provided, returns the total count of all events.
Return a list of listeners that are subscribed to event.
Unsubscribe listener to event.
Subscribe to event calling listener when the event occurs.
Subscribe once to event calling listener when the event occurs.
Unsubscribe all listeners for event. If no event is provided, all events are unsubscribed.
A Meta-Class is a Class which has any of its properties determined at run-time. The Contract object uses a Contract's ABI to determine what methods are available, so the following sections describe the generic ways to interact with the properties added at run-time during the Contract constructor.
A constant method is read-only and evaluates a small amount of EVM code against the current blockchain state and can be computed by asking a single node, which can return a result. It is therefore free and does not require any ether, but cannot make changes to the blockchain state..
The type of the result depends on the ABI.
For bytes (both fixed length and dynamic), a DataHexString is returned.
The result will always be a Result, even if there is only a single return value type.
This simplifies frameworks which wish to use the Contract object, since they do not need to inspect the return types to unwrap simplified functions.
Another use for this method is for error recovery. For example, if a function result is an invalid UTF-8 string, the normal call using the above meta-class function will throw an exception. This allows using the Result access error to access the low-level bytes and reason for the error allowing an alternate UTF-8 error strategy to be used.
Most developers should not require this.
A non-constant method requires a transaction to be signed and requires payment in the form of a fee to be paid to a miner. This transaction will be verified by every node on the entire network as well by the miner who will compute the new state of the blockchain after executing it against the current state.
It cannot return a result. If a result is required, it should be logged using a Solidity event (or EVM log), which can then be queried from the transaction receipt.
Returns a TransactionResponse for the transaction after it is sent to the network. This requires the Contract has a signer.
There are several options to analyze properties and results of a write method without actually executing it.
Returns the estimate units of gas that would be required to execute the METHOD_NAME with args and overrides.
Returns an UnsignedTransaction which represents the transaction that would need to be signed and submitted to the network to execute METHOD_NAME with args and overrides.
Rather than executing the state-change of a transaction, it is possible to ask a node to pretend that a call is not state-changing and return the result.
This does not actually change any state, but is free. This in some cases can be used to determine if a transaction will fail or succeed.
This otherwise functions the same as a Read-Only Method.
An event filter is made up of topics, which are values logged in a Bloom Filter, allowing efficient searching for entries which match a filter.
Return a filter for EVENT_NAME, optionally filtering by additional constraints.
indexed event parameters may be filtered. If a parameter is null (or not provided) then any value in that field matches.