-
Notifications
You must be signed in to change notification settings - Fork 28
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
Remove awm-relayer dependency #52
Conversation
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.
Let's go with the following directory structure:
teleporter/
|--- go/
| |--- abi-bindings/
| | |--- Teleporter/
| | | |--- TeleporterMessenger/
| | | | |---TeleporterMessenger.go
| | | | |--- packing.go
| |--- teleporter-utilities/
| | |--- utils.go
We can put the packing/unpacking functions in packing.go
and extra utilities in utils.go
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.
Just a few small comments. Thanks for doing 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.
LGTM
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.
All the changes LGTM.
Can you add a README
under go/abi-bindings
describing the directory contents? Specifically, note that the folders/files with the same names as the Solidity contracts are created by the abi_go_bindings.sh
script, and also note that the packing.go
files are written manually on a case-by-case basis, since abigen
does not generate them out of the box.
Looks like there are still a few open comments from @cam-schultz on this PR. The only additional one I have is that it's a little odd as-is because |
My thought was to structure the directories in such a way that would allow bindings to other languages, not just Go. However, a better layout would be putting It seems reasonable that we may want to support other language bindings for Teleporter in the future, especially as Teleporter development expands beyond in-house. I'd advocate for having the directory structure we go with now reflect that. |
It seems strange to me to move the abi bindings under a |
go-utils/abi-bindings/Teleporter/TeleporterMessenger/packing_test.go
Outdated
Show resolved
Hide resolved
I tend to agree now that you call that out. Cam noted that the go.mod for blst is in the root directory of their repository even when all of the golang code is in a subdirectory, but the e2e tests and contract deployment parts are definitely a little odd where they live currently. I'd be on board with either moving both of them under |
I'd strongly prefer to decide on a directory structure that takes into account other language bindings now, rather than introduce breaking changes to downstream dependencies when we decide to add additional language bindings. How about we move the contract deployment app and the test suites+utilities under |
All the changes LGTM, would you also mind adding this README that you mentioned prior?
|
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.
LGTM!
with: | ||
submodules: recursive | ||
|
||
- name: Run ABI Binding Unit Tests |
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.
nit: these are not just abi binding unit tests right?
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.
Good catch. Added a cd abi-bindings/go
so it will only run the ABI bindings unit tests. Running go test ./...
will call the E2E tests. They won't run since the necessary env var isn't set, but that's still not what we're targeting 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.
LGTM, left some nits
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.
LGTM
Why this should be merged
awm-relayer
dependency inteleporter
repoHow this works
awm-relayer
toteleporter
. This PR updates the usage inawm-relayer
: Remove Teleporter interfacing code icm-services#61Bindings for future languages can be added in the future under a similar directory structure.
How this was tested