TransactionWatcher
public class TransactionWatcher
A class that allows you to watch a transaction for events and block confirmations.
firstly {
web3.sendTransaction(transaction: transaction)
}.done { transactionHash in
let watcher = TransactionWatcher(hash: transactionHash, web3: web3)
watcher.expectedConfirmations = 3
watcher.delegate = self
self.transactionWatcher = watcher
}
-
Called when the transaction’s status changes
Declaration
Swift
public static let StatusDidChangeNotification: Notification.Name -
Called when the TransactionWatcher receives an event
Declaration
Swift
public static let DidReceiveEvent: Notification.Name -
The user info key for the received event
Declaration
Swift
public static let MatchedEventKey: String
-
Represents various states of a transaction
See moreDeclaration
Swift
public enum Status : Equatable
-
The transaction hash, received from submitting the transaction
Declaration
Swift
public let transactionHash: EthereumData -
The receipt object of the transaction
Declaration
Swift
private(set) public var transactionReceipt: EthereumTransactionReceiptObject? { get } -
Status of this transaction
Declaration
Swift
private(set) public var status: TransactionWatcher.Status { get set } -
Block number the transaction was initially confirmed in
Declaration
Swift
private(set) public var blockNumber: EthereumQuantity? { get } -
Latest block number we’ve received
Declaration
Swift
private(set) public var currentBlock: EthereumQuantity? { get } -
Number of confirmations to require before marking as successful. Generally 3 is enough for low value transactions while 6 should be enough for higher values. The TransactionWatcher will automatically stop once the limit is reached.
Declaration
Swift
public var expectedConfirmations: Int -
How often to check for new blocks
Declaration
Swift
public var pollInterval: TimeInterval -
Class to receive updates
Declaration
Swift
public weak var delegate: TransactionWatcherDelegate? -
Events that we are expecting may be returned
Declaration
Swift
private(set) public var watchedEvents: Set<SolidityEvent> { get }
-
Initializes a new instance of TransactionWatcher
Declaration
Swift
public init(transactionHash: EthereumData, web3: Web3)Parameters
transactionHashthe hash of the transaction to watch (returned from sendTransaction())
web3the Web3 instance to use
-
Stops watching the transaction
Declaration
Swift
public func stop() -
Watches for a provided event from the receipt’s logs
Declaration
Swift
public func startWatching(for event: SolidityEvent)Parameters
eventABIEvent to watch for
-
Stops watching for a provided event
Declaration
Swift
public func stopWatching(event: SolidityEvent)Parameters
eventABIEvent to stop watching
View on GitHub
TransactionWatcher Class Reference