Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Opensea transactions work #843

Closed
benma opened this issue Nov 29, 2021 · 7 comments · Fixed by #858
Closed

Make Opensea transactions work #843

benma opened this issue Nov 29, 2021 · 7 comments · Fixed by #858
Assignees
Labels

Comments

@benma
Copy link
Collaborator

benma commented Nov 29, 2021

The size of the contract data in Opensea transactions is larger than the BitBox02 accepts, leading to an 'Invalid Input' error.

The size limit should be increased to accommodate opensea transactions.

Ideally, Opensea transactions would be parsed and displayed in a human readable format instead. The current way to display the raw contract data is only safe for expert users that know how to verify it, but that is not feasible for huge contract data fields like with Opensea.

@evilrobot-01
Copy link

Thanks for this. Would EIP-712 support help in parsing the contract data?

Discussions at trezor/trezor-firmware#1568 and LedgerHQ/app-ethereum#105 might provide some useful context.

@benma
Copy link
Collaborator Author

benma commented Nov 30, 2021

EIP712 seems to be a message signing format. I am not sure if Opensea uses this, but this issue is about parsing the contract data field in a transaction to the opensea contract, which is onchain - message signing is independent of that I think.

@evilrobot-01
Copy link

Hmmm, does the whole contract get passed to the device for signing? My naive thought was that it sent the message for signing, which has a JSON payload of all the relevant info to be shown on the device.

Perhaps not the issue as you suggest, but may be useful nonetheless.

@benma
Copy link
Collaborator Author

benma commented Dec 1, 2021

For an onchain transaction, the contract data is inside the transaction, and the whole transaction is sent to the device for signing. This would happen e.g. when you buy an NFT I think.

There are other operations that require message signing (EIP712), e.g. listing a new NFT.

@x1ddos x1ddos changed the title Make Opensea transactions work ETH: Make Opensea transactions work Dec 1, 2021
@x1ddos x1ddos changed the title ETH: Make Opensea transactions work Make Opensea transactions work Dec 1, 2021
@x1ddos x1ddos added the enhancement Improvement of existing feature; small compared to a feature label Dec 1, 2021
@x1ddos
Copy link
Contributor

x1ddos commented Dec 2, 2021

so, what's the max size of contract data, is it spec'ed anywhere? does EIP-170 relate to this at all?

@x1ddos x1ddos removed the enhancement Improvement of existing feature; small compared to a feature label Dec 2, 2021
@evilrobot-01
Copy link

I'm not sure if this should work, but tried a similar action on the Polygon network using Rabby and got as far as submitting a transaction to unlock selling via OpenSea. The sign transaction dialog pops up, I click Sign and then nothing appears on the BB02 (no errors on console).

Having said that, trying to send MATIC on Polygon had same result, which is surprising as it is an ERC20 token. I figured it would just be the difference in testnet/mainnet.

@benma
Copy link
Collaborator Author

benma commented Jan 10, 2022

@EVLRBT-01 the polygon network is not supported by the BitBox02.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants