Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Agent app: EVM #580
Agent app: EVM #580
Changes from 8 commits
0d01aaf
1fa6386
7a4dd5b
9830981
7457eb3
af478c1
ebb10aa
e132297
3ad9920
ea9a5aa
8e40798
2aaf462
c73d999
5f1291f
f17a0f5
f6f66f7
eb95db8
abf1c91
a10c62c
cc21b67
139ad8a
fe86092
1849286
1b7b735
d960fee
39b6b7e
de9d4a6
474f0c1
345a9d8
499cdcb
1b76fb9
98369d1
a0bddef
e8eb268
2225408
2ed4a2a
c482981
cd9614b
970431a
cff0689
905c32d
0d3e2ec
5b7a5fe
2a293d1
687e29d
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is 33 chars long, I seem to recall we were using up to 32 to avoid using extra storage.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I understand this correctly, allowing no data to be passed is to explicitly allow this contract to call a fallback function?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, although I am considering removing this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a reason we don't want the actor app to be able to send eth to someone without calling a function? Anyone able to call the execute function will be able to send funds anyway, and this makes compatibility with external dapps slightly more difficult.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks to Actor inheriting from Vault, that can be done using the
transfer
function. I just tried to separate role concerns here.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
EIP165 says we should make two more calls (to be extra, extra safe): algorithm, sample implementation.
Also specifies gas limit to be 30k (
safeBoolStaticCall()
could add a gas limit argument).There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't know about the two first calls, it really seems like a bit of an overkill to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed the gas limit though
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I think this makes sense, especially in regards to their
ILLEGAL
andINVALID
types. We should also check the length using the same enum trick they do.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there something special we need to do for EIP 712 contracts? This contract doesn't seem to implement a case for this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does implement the case, by not modifying the
hash
as it does for the other two modesThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wondering if we should order it as
{r}{s}{v}
to be more compatible with existing tools that use this order? I agreemode
should stay at the front given the possible variable length of{v}
.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have a strong opinion on this, but given that the mode needs to be prefixed anyway, special tooling will be needed regardless.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that Trezor implements the same signing prefix as geth / sign_eth now: ethereum/go-ethereum#14794 (comment)