| 12345678910111213141516171819202122232425262728 |
- package xeth
- // Frontend should be implemented by users of XEth. Its methods are
- // called whenever XEth makes a decision that requires user input.
- type Frontend interface {
- // UnlockAccount is called when a transaction needs to be signed
- // but the key corresponding to the transaction's sender is
- // locked.
- //
- // It should unlock the account with the given address and return
- // true if unlocking succeeded.
- UnlockAccount(address []byte) bool
- // This is called for all transactions inititated through
- // Transact. It should prompt the user to confirm the transaction
- // and return true if the transaction was acknowledged.
- //
- // ConfirmTransaction is not used for Call transactions
- // because they cannot change any state.
- ConfirmTransaction(tx string) bool
- }
- // dummyFrontend is a non-interactive frontend that allows all
- // transactions but cannot not unlock any keys.
- type dummyFrontend struct{}
- func (dummyFrontend) UnlockAccount([]byte) bool { return false }
- func (dummyFrontend) ConfirmTransaction(string) bool { return true }
|