urbit / bridge

An application for interacting with Azimuth.
MIT License
98 stars 25 forks source link

Master Ticket Transfer Hangs at step 4/4. Failed complete transfer #766

Open barter-simsum opened 3 years ago

barter-simsum commented 3 years ago

Describe the bug I have owned this planet ~barter-simsum for about two years and wanted to transfer ownership from a metamask wallet to a master ticket.

This is the address corresponding to the metamask wallet

You can see two successful Transfer Point transactions to Urbit ID: AZP Token, both of which show calls to transferPoint with the originating metamask wallet address as the target.

However, at step 4/4 a third transaction showed on metamask, but funds were insufficient to cover. Metamask immediately closed and the bridge is stuck at "Transferring Id..."

step-4-of-4

What should I do? Am I correct in assuming that at this point, I can perform a Transfer this point on the bridge with the recipient being the eth ownership address corresponding to my master key? In this case, 0x8c82e0B3A454697c99139dDfde05e63e94F42cD5? Is that the fourth step that was missed?

To Reproduce

  1. Transfer to Master Ticket via Urbit Bridge
  2. Use a metamask wallet with sufficient funds for 2/3 txes
  3. The third tx - there is a third, right? - will fail and you're stuck.

Expected behavior I would expect that on a failed intermediary transaction, you would be given the opportunity to retry.

barter-simsum commented 3 years ago

To add, I've confirmed that authenticating to the bridge using the generated master ticket fails. So whatever happened - missing third transaction? - isn't just a UI problem.

Additionally, The console logs shows this line executed tank.js:68

Fang- commented 3 years ago

Am I correct in assuming that at this point, I can perform a Transfer this point on the bridge with the recipient being the eth ownership address corresponding to my master key? In this case, 0x8c82e0B3A454697c99139dDfde05e63e94F42cD5? Is that the fourth step that was missed?

This is correct, manually making this transfer will complete the process. (Though, given the way Bridge does transfers, you may need to accept the planet transfer by logging in with the master ticket.)

I would expect that on a failed intermediary transaction, you would be given the opportunity to retry.

Yeah, there's some bad (or lack of) error handling going on here. While for Metamask and other non-custodial wallets it's hard to make guarantees about available funds for tx fees, we should still do a better job of telling you when we run into problems with that.

barter-simsum commented 3 years ago

Thanks for the help. Yes doing a transferPoint on the ownership address and then accepting the transfer on bridge using the master ticket worked for the most part. The only strange thing is that networking keys were not present at all. And in the log I captured from the original master ticket transfer this is also the case. ownership, transfer, spawn, management, bitcoinTestnet, and bitcoinMainnet are all set. voting (expected) and network (unexpected ? ) are unset.

unset-networking-keys

Anyway, resetting the network keys fixed this.

lukestiles commented 2 years ago

Keeping open for context and error handling suggestions.