Glad you asked...
A few things are going on under the hood here. This frontend:
- works with multiple networks and accounts
- refreshes network values when network changes
- refreshes account values when account changes
- disables refunds if the account has no ETH in the contract
- listens to block events to continuously update block number
- reads past payments and refunds from the log
- decodes log data to fetch transaction value
- {{ network }}
Network
Connected to {{ networkName }}, ID {{ networkId }}
Current block {{ blockNumber }}
Wallet
Account {{ accountAddress }}
Balance {{ accountBalanceEth }} ETH
Balance in contract {{ accountBalanceInContractEth }} ETH
- [block {{ payment.blockNumber }}] {{ payment.amount }} ETH
Contract
Address {{ contractAddress }}
Balance {{ contractBalanceEth }} ETH
Received {{ paymentsCount }} payments
Completed {{ refundsCount }} refunds
- [block {{ refund.blockNumber }}] {{ refund.amount }} ETH
Transaction Status
Error
{{ transactionType }} initiated
Transaction hash {{ transactionHash }}
Awaiting block confirmation...
Confirmed and mined in block {{ transactionBlock }}
{{ errorMessage }}