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

Implement Ledger support on CLI #816

Merged
merged 27 commits into from
Dec 9, 2022
Merged

Implement Ledger support on CLI #816

merged 27 commits into from
Dec 9, 2022

Conversation

0a1c
Copy link
Contributor

@0a1c 0a1c commented Aug 2, 2022

Description

This PR implements Ledger support for the Evmos CLI.

Adding support for Ledger keys on the CLI allows users to opt into an additional layer of security if desired, thereby creating a safer and more secure experience for Evmos CLI users.

Example Usage on LocalNode:

  1. Connect a Ledger device to your laptop using USB (Bluetooth is not supported)
  2. Start a local Evmos node using ./init.sh
  3. Unlock the Ledger and open the Ethereum Ledger app
  4. Add the Ledger as an Evmos key using evmosd keys add myledger --ledger; it should display the Ledger device's default Ethereum address (copy this value)
  5. Send funds to your Ledger account using evmosd tx bank send mykey [your Ledger address] 100000000000000000aevmos --fees 200aevmos
  6. Check the balance of your Ledger account using evmosd query bank balances [your Ledger address]
  7. Send funds from your Ledger account using evmosd tx bank send myledger evmos1e4etd2u9c2huyjacswsfukugztxvd9du52y49t 1000aevmos --fees 200aevmos
  8. Check the balances of your Ledger account and the destination account using evmosd query bank balances [your Ledger address] and evmosd query bank balances evmos1e4etd2u9c2huyjacswsfukugztxvd9du52y49t

Example Usage in Production:

Follow steps 1, 3, and 4 from above to connect your Ledger device and add it as a key. Then, perform all CLI functions with the field --from=myledger to sign off using the device.

Testing

  • Ledger keys have been tested to support: sending & staking tokens, submitting governance proposals, and voting on governance proposals
  • Software keys continue to work as expected

All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.

PR review checkboxes:

I have...

  • added a relevant changelog entry to the Unreleased section in CHANGELOG.md
  • included the correct type prefix in the PR title
  • targeted the correct branch (see PR Targeting)
  • provided a link in the PR description to the relevant issue or specification
  • reviewed "Files changed" and left comments if necessary
  • confirmed all required CI checks have passed

Code maintenance:

I have...

  • written unit and integration tests
  • added relevant godoc and code comments.
  • updated relevant documentation (docs/) or specification (x/<module>/spec/)

Reviewers Checklist

All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.

I have...

  • confirmed the correct type prefix in the PR title
  • confirmed all author checklist items have been addressed
  • confirmed that this PR does not change production code

go.mod Outdated Show resolved Hide resolved
@0a1c 0a1c changed the title Implement initial Ledger support on CLI Implement Ledger support on CLI Aug 5, 2022
@grantslape
Copy link

grantslape commented Aug 5, 2022

👋🏻 Hi @austinchandra , sorry to barge in. Ledger support is important to me, and thus I've been watching this work and following your PR. I noticed that for transactions types other than send, stake, etc. fail to wrap to EIP-712 (call in question). Any idea why this is?

Also, if this isn't a good venue and there's somewhere better to discuss this please let me know! My research so far is below:

For example, create-validator:
I did some digging and it appears like eip712.WrapTxToTypedData panicks deep in some reflection logic when attempting to parse the value field (which appears to be of type sdk.Coin). However I do see that this field is exported on MsgCreateValidator and everything seems correct to me there.

Some example debugging output (note these are all log statements I added to the recursive func traverseFields) in ethermint:

command:

evmosd tx staking create-validator \
    --amount=10000000atevmos \
    --node "<my_node>:26657" \
    --chain-id "evmos_9000-4" \
    --pubkey="{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"<SNIP>\"}" \
    --moniker="Validator" \
    --commission-rate="0.10" \
    --commission-max-rate="0.10" \
    --commission-max-change-rate="0.10" \
    --min-self-delegation="1000000" \
    --fees "5000000000000000atevmos" \
    --from="<SNIP>" \
    --ledger

output

traverseFields(Name): description
traverseFields(Type): types.Description

traverseFields(Name): moniker
traverseFields(Type): string

traverseFields(Name): identity
traverseFields(Type): string

traverseFields(Name): website
traverseFields(Type): string

traverseFields(Name): security_contact
traverseFields(Type): string

traverseFields(Name): details
traverseFields(Type): string

traverseFields(Name): commission
traverseFields(Type): types.CommissionRates

traverseFields(Name): rate
traverseFields(Type): types.Dec

traverseFields(Name): max_rate
traverseFields(Type): types.Dec

traverseFields(Name): max_change_rate
traverseFields(Type): types.Dec

traverseFields(Name): min_self_delegation
traverseFields(Type): types.Int

traverseFields(Name): delegator_address
traverseFields(Type): string

traverseFields(Name): validator_address
traverseFields(Type): string

traverseFields(Name): pubkey
traverseFields(Type): *eip712.cosmosAnyWrapper

traverseFields(Name): pubkey
traverseFields(Type): eip712.cosmosAnyWrapper

traverseFields(Name): type
traverseFields(Type): string

traverseFields(Name): value
traverseFields(Type): interface {}

Oops, you found an interface: interface {}
traverseFields(Name): value
traverseFields(Type): <nil>

@0a1c 0a1c requested a review from facs95 as a code owner August 16, 2022 21:48
@0a1c 0a1c marked this pull request as draft August 16, 2022 21:48
Copy link
Contributor

@fedekunze fedekunze left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor comments

crypto/keyring/options.go Outdated Show resolved Hide resolved
go.mod Outdated Show resolved Hide resolved
@0a1c 0a1c marked this pull request as ready for review October 31, 2022 23:32
@0a1c 0a1c requested a review from a team as a code owner October 31, 2022 23:32
Copy link
Contributor

@fedekunze fedekunze left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left some minor comments. Can you add a changelog entry too?

crypto/keyring/options.go Outdated Show resolved Hide resolved
crypto/keyring/options.go Outdated Show resolved Hide resolved
Copy link
Contributor

@fedekunze fedekunze left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, let's figure schedule a call to test this out

crypto/keyring/options.go Outdated Show resolved Hide resolved
@GAtom22
Copy link
Contributor

GAtom22 commented Nov 15, 2022

Awesome work @austinchandra! I tested this new functionality using the CLI and I'm getting the error message:
Error: failed to generate ledger key: failed to retrieve device: ledger nano S: No hardware wallet detected
The device has the latest firmware, is unlocked and the Ethereum app opened. Ledger Live is detecting the ledger and everything works fine there. I'm using Ubuntu 20.04. The device is a Ledger Nano S plus.

I tried doing the same procedure with gaia (using the Cosmos app) and it worked. Also tried with Keplr and everything is OK. Found this issue on their repo regarding this same situation. Maybe the fix is bumping github.com/cosmos/ledger-go version to v0.9.3 (the release name is "Add support for Nano S plus"). I tried updating the dependency on evmos repo and testing locally, but still not working. Perhaps we need to update this version on the other dependencies too (github.com/evmos/ethereum-ledger-go & github.com/evmos/evmos-ledger-go)

@0a1c
Copy link
Contributor Author

0a1c commented Nov 16, 2022

Awesome work @austinchandra! I tested this new functionality using the CLI and I'm getting the error message: Error: failed to generate ledger key: failed to retrieve device: ledger nano S: No hardware wallet detected The device has the latest firmware, is unlocked and the Ethereum app opened. Ledger Live is detecting the ledger and everything works fine there. I'm using Ubuntu 20.04. The device is a Ledger Nano S plus.

I tried doing the same procedure with gaia (using the Cosmos app) and it worked. Also tried with Keplr and everything is OK. Found this issue on their repo regarding this same situation. Maybe the fix is bumping github.com/cosmos/ledger-go version to v0.9.3 (the release name is "Add support for Nano S plus"). I tried updating the dependency on evmos repo and testing locally, but still not working. Perhaps we need to update this version on the other dependencies too (github.com/evmos/ethereum-ledger-go & github.com/evmos/evmos-ledger-go)

This has been fixed in a dependency and should be resolved shortly.

@fedekunze fedekunze marked this pull request as draft November 17, 2022 14:14
Copy link
Contributor

@fedekunze fedekunze left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking on evmos-ledger-go refactor PR

@0a1c 0a1c requested a review from fedekunze December 2, 2022 19:25
@0a1c
Copy link
Contributor Author

0a1c commented Dec 2, 2022

Blocking on evmos-ledger-go refactor PR

Fixed in latest (v0.1.4)

Copy link
Contributor

@fedekunze fedekunze left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK. Pending follow-up changes and refactors from evmos/ethereum-ledger-go

@mrgarbagegamer
Copy link

Will this issue be fixed in v0.20.0 of ethermint, allowing me to finally push the authz transaction? I just want to provide redelegation permission to my validator so I can automatically compound my yields

Tested again with latest commits and changing "ledger-cosmos-go" and "ethereum-ledger-go" to v0.12.0 and v0.1.2 respectively in the go.mod file but I received the following error:

raw_log: 'signature verification failed; please verify account number and chain-id (evmos_9001-2): unauthorized'

@GAtom22
Copy link
Contributor

GAtom22 commented Dec 8, 2022

Great work @austinchandra!! I followed the PR description (using the local_node.sh and the --home ~/.tmp-evmosd flag) to test the new feature. I came across an error when trying to send funds from ledger. Below is the error and the stack trace.
System info: Ubuntu 20.04, Ledger Nano S Plus

Command:

evmosd tx bank send myledger evmos1hnmrdr0jc2ve3ycxft0gcjjtrdkncpmmkeamf9 1000aevmos --fees 200aevmos --home ~/.tmp-evmosd -y

Error:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xb7c0a8]

goroutine 1 [running]:
github.com/cosmos/cosmos-sdk/codec.(*LegacyAmino).UnmarshalJSON(0x0, {0xc000d3e900?, 0xc0016aa070?, 0xc0018cc500?}, {0x23160a0, 0xc001a08150})
	github.com/cosmos/cosmos-sdk@v0.46.6/codec/amino.go:160 +0x28
github.com/evmos/ethermint/ethereum/eip712.decodeAminoSignDoc({0xc000d3e900, 0x112, 0x112})
	github.com/evmos/ethermint@v0.20.0-rc3/ethereum/eip712/encoding.go:89 +0xb8
github.com/evmos/ethermint/ethereum/eip712.GetEIP712TypedDataForMsg({0xc000d3e900, 0x112, 0x112})
	github.com/evmos/ethermint@v0.20.0-rc3/ethereum/eip712/encoding.go:67 +0xa5
...

Update

tACK! This was fixed when updating the branch with the main branch

@davidquarles
Copy link

Thank you for this work, all!

If helpful, I'm still experiencing the same thing as @mrgarbagegamer on both current HEAD and HEAD^ of this branch within the following environment:

λ evmosd keys add ledger --keyring-backend file --ledger # overwrite when testing each commit
λ evmosd tx authz grant $WALLET generic \
  --chain-id evmos_9001-2 \
  --fees 5000000000000000aevmos \
  --from ledger \
  --keyring-backend file \
  --ledger \
  --msg-type /cosmos.staking.v1beta1.MsgDelegate \
  --node https://rpc.cosmos.directory:443/evmos
  • Machine: M1 MBP (arm64)
    • OS X: 12.6.1
  • Ledger: Nano X
    • Firmware: 2.0.2
    • Ethereum app: 1.10.1
  • go: 1.19.1 (GO111MODULE=on)

@mrgarbagegamer
Copy link

Thank you for this work, all!

If helpful, I'm still experiencing the same thing as @mrgarbagegamer on both current HEAD and HEAD^ of this branch within the following environment:

Good to know it's not just me, lol.

Going to reattempt today in a few hours when I finish up some other work. Thanks for the progress @austinchandra, hoping that this gets resolved soon enough so I can compound lol

@0a1c
Copy link
Contributor Author

0a1c commented Dec 9, 2022

@davidquarles @mrgarbagegamer

This issue is coming up because signature verification is being changed in this release to support these payloads. Once v10 is released and adopted by validators, you should be able to send these transactions without issue. If there are still problems after release, please let us know.

Also, it's not necessary to include --ledger for transactions—it's only required when adding the key—if you would like to simplify your requests.

@fedekunze fedekunze merged commit b605ddb into main Dec 9, 2022
@fedekunze fedekunze deleted the develop/ledger-cli branch December 9, 2022 17:31
@fedekunze fedekunze mentioned this pull request Dec 9, 2022
12 tasks
@mrgarbagegamer
Copy link

@davidquarles @mrgarbagegamer

This issue is coming up because signature verification is being changed in this release to support these payloads. Once v10 is released and adopted by validators, you should be able to send these transactions without issue. If there are still problems after release, please let us know.

Also, it's not necessary to include --ledger for transactions—it's only required when adding the key—if you would like to simplify your requests.

Ah, thanks for the reply! I guess I'll wait until v10 officially releases.

facs95 added a commit that referenced this pull request Dec 9, 2022
* fix: Minor adjustments/fixes to the init script (#1051)

* Add missing --home flags to evmosd config commands

* Change temporary folder name to the common .tmp-...

* Rename init.sh to local_node.sh for clarity

* Apply renaming of init.sh also to the docs

* docs(upgrades): update cosmovisor command (#1053)

* ante: remove min validator commision decorator (#1057)

* Set validator's min commission

* Remove min-commission ante

* Update CHANGELOG

* delete decorator

* changelog

* c++

* update init

* upgrade logic

Co-authored-by: Giancarlos Salas <me@giansalex.dev>

* build(deps): bump go.opencensus.io from 0.23.0 to 0.24.0 (#1048)

Bumps [go.opencensus.io](https://github.com/census-instrumentation/opencensus-go) from 0.23.0 to 0.24.0.
- [Release notes](https://github.com/census-instrumentation/opencensus-go/releases)
- [Commits](census-instrumentation/opencensus-go@v0.23.0...v0.24.0)

---
updated-dependencies:
- dependency-name: go.opencensus.io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Freddy Caceres <facs95@gmail.com>

* imp(erc20): util functions

* Revert "imp(erc20): util functions"

This reverts commit 36e7dd6.

* docs: add Pokt endpoint (#1052)

Added Pocket Network public endpoint

Co-authored-by: Freddy Caceres <facs95@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* imp(erc20): util functions (#1059)

* imp(erc20): util functions

* c++

* build(deps): bump github.com/onsi/ginkgo/v2 from 2.4.0 to 2.5.0 (#1061)

Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](onsi/ginkgo@v2.4.0...v2.5.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* docs: sort public endpoints from older to latest 

Updated POKT entry to include close square-bracket for their link and moved them to the bottom of the list to be fair to others (historically others have added to the bottom rather than to the top)

* docs: Update telemetry.md with correct url to cosmos telemetry docs (#1063)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* docs: Update evmos binary versions and testnet upgrades + fix dead links + update out-dated links (#1071)

* update evmos binary version

* update evmos testnet upgrade

* rename github.com/tharis/evmos into github.com/evmos/evmos

* update markdown link tendermint from removed style branch master into current evmos tendermint v0.34

* fixed dead link #restart-node into full url + #_4-restart-node

* build(deps): bump github.com/cosmos/ibc-go/v5 from 5.0.1 to 5.1.0 (#1068)

Bumps [github.com/cosmos/ibc-go/v5](https://github.com/cosmos/ibc-go) from 5.0.1 to 5.1.0.
- [Release notes](https://github.com/cosmos/ibc-go/releases)
- [Changelog](https://github.com/cosmos/ibc-go/blob/v5.1.0/CHANGELOG.md)
- [Commits](cosmos/ibc-go@v5.0.1...v5.1.0)

---
updated-dependencies:
- dependency-name: github.com/cosmos/ibc-go/v5
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/tendermint/tendermint from 0.34.22 to 0.34.23 (#1067)

build(deps): bump github.com/tendermint/tendermint

Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.22 to 0.34.23.
- [Release notes](https://github.com/tendermint/tendermint/releases)
- [Changelog](https://github.com/tendermint/tendermint/blob/v0.34.23/CHANGELOG.md)
- [Commits](tendermint/tendermint@v0.34.22...v0.34.23)

---
updated-dependencies:
- dependency-name: github.com/tendermint/tendermint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: amino encoding support for the vesting module (#1070)

* feat: amino enconding support for the vesting module

* fix: missing enconding added

* chore: update changelog

* chore: remove temp files

* build(deps): bump github.com/onsi/gomega from 1.24.0 to 1.24.1 (#1069)

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.24.0 to 1.24.1.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.24.0...v1.24.1)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* build(deps): bump golangci/golangci-lint-action from 3.3.0 to 3.3.1 (#1079)

Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](golangci/golangci-lint-action@v3.3.0...v3.3.1)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* refactor(all): refactor errors import to use `cosmossdk.io` pkg (#1080)

refactor (errors) refactor errors import to use cosmossdk.io instead of cosmos-sdk/types/errors

* fix(proto): fix package version (#1083)

* feat(ibc): utils for erc20 middleware (#1081)

* ibc utils for erc20 middleware

* use defined constant

* apply from review

* Apply suggestions from code review

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>

* fix test name

* add changelog entry

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* feat(ibc): erc20 conversion trough  `transfer` module  (#1085)

* x/ibc/transfer module

* apply suggestions from pr

* fix: use of home directory in local node script (#1088)

fix use of home directory in local node script

* docs: Add audits page (#1090)

* Add initial version of audits page

* Add changelog entry

* Fix linebreaks

* feature(vesting): add functionality to update vesting funder in ClawbackVestingAccount (#1087)

* feature (vesting) add functionality to update vesting funder in ClawbackVestingAccount

* feature (vesting) add changes in changelog file

* feature (vesting) add documentation for UpdateVestingFunder

* feature (vesting) add integration tests

* feature (vesting) fix linting errors

* feature (vesting) fix style errors

* Update x/vesting/keeper/msg_server_test.go

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>

* Update x/vesting/spec/04_transactions.md

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>

* Update x/vesting/spec/04_transactions.md

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>

* Update x/vesting/spec/07_clients.md

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>

* Update x/vesting/types/msg.go

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>

* feature (vesting) changes in CLI client based on review comments

* feature (vesting) add changes based on review comments

* feature (vesting) add new funder blocked test case

* feature (vesting) add validation new_funder != funder

* feature (vesting) refactor error message for validation

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>

* docs: add info about use of the home flag for the local_node.sh script to docs (#1091)

* Add info about use of the home flag for the local_node.sh script to docs

* Add reason why flag has to be added manually to commands

* address linter

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* chore(deps) Dependency Bumps [chain-chores] (#1092)

* chore: add protolint yaml file (#1093)

* add protolint yaml file

* do not demand repeated field names to be plural

* Make max line length 120 characters

* Adjust protolint yaml reflecting PR comments

* Specify protolint yaml in super-linter config

* fix typo in .yml

* Comment out linter rule to allow message to be called EndOfSupport

* feat(erc20): OnRecv automatic conversion (#1086)

* erc20 OnRecv conversion

* suggestions from pr

* apply suggestions from pr

* Change outward conversion to only accept coin denom

* fix test inconsistency

* suggestions from pr

* suggestions from pr

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* fix: unbound metrics and remove labels that keep increasing (#1094)

* Fix unbound metrics and remove labels that keep increasing

* Add entry to CHANGELOG

* Update docs

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* fix: protogen scripts were not generating the Any types correctly (#1084)

* Remove local copy of third party proto files

* Update protogen scripts to work as the cosmos-sdk ones

* Move protoc swagger script to scripts folder

* Update protoc-swagger-gen.sh script to not use local copies of third party proto files

* Commit updated go.mod & go.sum

* Apply buf mod update after ethermint proto was uploaded to buf.build

* Update makefile proto commands (except for proto-update-deps for now)

* Add --network host to docker run command for linux compatibility

* Cleanup buf yaml files

* Update protocgen script to mirror working version in Ethermint repo

* Update dependecy to use cosmos/gogoproto v1.4.3

* Commit generated files after updating protocgen script

* add newlines to buf yaml files to address linter

* make protoc-swagger-gen.sh executable

* address shellcheck output

* use cosmos/proto-builder docker image for proto-format

* apply make proto-format

* address more linter comments

* comment out proto-swagger-gen and add todo

* remove proto-swagger-gen from Makefile .PHONY

* Use protolint for make proto-lint

* Rename clang-format file so that it is used in make proto-format command

* Sort Protobuf imports

* Address protolint comments in all proto files

* Generate Proto go implementations after adjusting proto files

* address review comments

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* build(deps): bump github.com/cosmos/cosmos-sdk from 0.46.5 to 0.46.6 (#1098)

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.46.5 to 0.46.6.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.46.6/CHANGELOG.md)
- [Commits](cosmos/cosmos-sdk@v0.46.5...v0.46.6)

---
updated-dependencies:
- dependency-name: github.com/cosmos/cosmos-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* build(deps): bump github.com/onsi/ginkgo/v2 from 2.5.0 to 2.5.1 (#1096)

Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.5.0 to 2.5.1.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](onsi/ginkgo@v2.5.0...v2.5.1)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump google.golang.org/grpc from 1.50.1 to 1.51.0 (#1097)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.50.1 to 1.51.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.50.1...v1.51.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/tendermint/tendermint from 0.34.23 to 0.34.24 (#1102)

build(deps): bump github.com/tendermint/tendermint

Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.23 to 0.34.24.
- [Release notes](https://github.com/tendermint/tendermint/releases)
- [Changelog](https://github.com/tendermint/tendermint/blob/v0.34.24/CHANGELOG.md)
- [Commits](tendermint/tendermint@v0.34.23...v0.34.24)

---
updated-dependencies:
- dependency-name: github.com/tendermint/tendermint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: Fix tabs in documentation (#1099)

* fix tabs 

fix tab indents wich is displayed :::: tabs ::: tab Mainnet

https://docs.evmos.org/users/wallets/metamask.html

* Introduce CodeGroup Vue components from cosmos sdk tutorials instead of tabs

* Disable markdown link check for endpoints table

* Address more link check comments

* Adjust visual appearance of CodeGroup component

* Address more md link check comments

* Remove tabs plugin from package.json

* address markdown linter comments

* Add more CodeGroups to the endpoint docs

Co-authored-by: Mozquito <6951742+Tocard@users.noreply.github.com>
Co-authored-by: Adi Saravanan <59209660+adisaran64@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* feat(tests): e2e tests for chain upgrades (#1028)

* test(e2e): added e2e testing package

* build(makefile): added e2e specific vars and commands

* fix(e2e): fixed legacy chain_init logic

* trash

* feat(e2e_test): implemented upgrade manager && deprecated chain_init

* test(e2e): implemented revamped upgrade test

* docs(e2e): refactored readme

* docs(e2e): add upgrade package description to readme

* chore(e2e): add cleaning build dir to teardown suite func

* feat(e2e): defined node struct

* fix(e2e): fixed node double run

* fix(e2e): initial node version variable fix

* fix(e2e): slice bounds out of range fix

* fix(e2e): fixed local tag version

* fix(e2e): fixed .evmosd export

* build(e2e): added build cleanup before run

* chore: go mod tidy

* Update tests/e2e/e2e_suite_test.go

I thought that directly use `NoError( )` is a shortcut for `Require( ).NoError( )`

https://github.com/stretchr/testify/blob/v1.8.1/suite/suite.go#L56

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* docs(e2e): add func docs && little refactoring

* docs(e2e): add versions retrieve description && docker commands

* test(e2e): added require call to err checks

* chore(e2e): changed import version after rebase

* docs(e2e): fixed readme markdown linter errors

* test(e2e): add logs

* style(upgrade_test): post-review changes

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Update tests/e2e/README.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Update tests/e2e/README.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Update tests/e2e/README.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Update go.mod

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Update tests/e2e/README.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Update tests/e2e/README.md

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Update tests/e2e/README.md

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Update tests/e2e/e2e_suite_test.go

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Update tests/e2e/README.md

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Update tests/e2e/e2e_suite_test.go

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Update tests/e2e/README.md

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Update tests/e2e/README.md

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Update tests/e2e/README.md

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Update Makefile

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Update Makefile

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Update tests/e2e/e2e_suite_test.go

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Update tests/e2e/e2e_suite_test.go

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Update tests/e2e/e2e_suite_test.go

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Update tests/e2e/e2e_suite_test.go

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Update tests/e2e/upgrade/govexec.go

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Update tests/e2e/upgrade/manager.go

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Update tests/e2e/upgrade/manager.go

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
chore: go mod tidy

chore(e2e): remove useless code

* feat(e2e): retreaving upgrade version

* test(e2e): add doc lines && changed params configuration

* feat(upgrade_test): add chain id configuration && upgrade version reteiving from repo

* chore(upgrade_test): changed docker build commands order

* docs(upgrade_test): reworked readme

* chore(upgrade_test): markdown linting

* Apply suggestions from code review

* chore(upgrade_test): removed migrate genesis variable

* docs: changelog entry

* chore(tests): gofumpt

* chore(tests): added she-bang reference

* Update tests/e2e/README.md

Co-authored-by: Tomas Guerra <54514587+GAtom22@users.noreply.github.com>

* Update tests/e2e/e2e_suite_test.go

Co-authored-by: Tomas Guerra <54514587+GAtom22@users.noreply.github.com>

* refactor(upgrade_test): changed node start sleep time to dockertest retry call

* feat(upgrade_test): added upgrades list retrieve && node jrpc pings

* chore(make): remove docker-build-upgrade-init

* chore: go mod tidy

* chore(build): apply shellcheck fixes

* fix(upgrade_test): set default skip cleanup flag from suite

* docs(upgrade_test): changed readme

* fix(upgrade_test): add set mount path from runtime for ci action

* feat(upgrade_test): image building from runtime

* fix(upgrade_test): fixed docker image building in ci runner

* chore(makefile): remove useless command

* tests: increased unit test timeout time

* fix(ci): fixed target node build

* feat(upgrade_test): add failed container logs output

* chore(upgrade_test): cleanup

* fix(build): increased unit-testing timeouts

* fix(build): add build-docker cmd before every test cmd

* fix(markdown): remove extra blank line

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Tomas Guerra <54514587+GAtom22@users.noreply.github.com>

* chore: add gitleaks ignore (#1108)

* chore: add .gitleaksignore

* chore(build): format comment to create diff to test gitleaksignore

* fix: changed ignore file path

* Update .gitleaksignore

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* imp(erc20): conversion changes (#1104)

* conversion changes and test fixes

* suggestions from pr

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* remove unnesary package.json (#1111)

* chore(app): store listener (#1114)

* chore(app): store listener

* changelog

* build(deps): bump cosmossdk.io/math from 1.0.0-beta.3 to 1.0.0-beta.4 (#1115)

Bumps [cosmossdk.io/math](https://github.com/cosmos/cosmos-sdk) from 1.0.0-beta.3 to 1.0.0-beta.4.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md)
- [Commits](cosmos/cosmos-sdk@math/v1.0.0-beta.3...math/v1.0.0-beta.4)

---
updated-dependencies:
- dependency-name: cosmossdk.io/math
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(app): register node service (#1118)

* fix(app): register node service

* register API route

* changelog

* fix(cmd): add missing GetAuxToFeeCommand (#1117)

* fix(ci): add local_node.sh to gitleaks config (#1110)

* chore: add .gitleaksignore

* chore(build): format comment to create diff to test gitleaksignore

* fix: changed ignore file path

* fix: used fingerprint instead of path

* fix: create diff to check ignore

* fix(ci): fixed the line number

* fix: fixed ignore path

* fix: another atempt

* fix: gitleaksignore does not work with ci action

* fix(ci): switched .gitleaksignore to config

* chore: shfmt onl local_node.sh

* chore: shellcheck apply

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* fix(cmd): set snapshot config to application (#1120)

* fix(app): register node service

* fix(cmd): set snapshot config to application

* changelog

* lint

* bug(MAKEFILE): fix `evmosd version` cmd to show either tag or last commit (#1121)

* bug(MAKEFILE): set installed version to tag or if branch is not a release to last commit

* bug(MAKEFILE): add CHANGELOG

* bug(MAKEFILE): remove unnecessary variables

* docs(guides) add geth JS console guide (#1105)

* docs(guides) add geth JS console guide

* docs(guides) fix Requirements link

* Update docs/developers/guides/geth_js_console.md

Co-authored-by: Adi Saravanan <59209660+adisaran64@users.noreply.github.com>

* Update docs/developers/guides/geth_js_console.md

Co-authored-by: Adi Saravanan <59209660+adisaran64@users.noreply.github.com>

* Update docs/developers/guides/geth_js_console.md

Co-authored-by: Adi Saravanan <59209660+adisaran64@users.noreply.github.com>

* Update docs/developers/guides/geth_js_console.md

Co-authored-by: Adi Saravanan <59209660+adisaran64@users.noreply.github.com>

* docs(guides) update based on PR comments

* docs(guides) fix style and local link check

* tests(filters) fix linting errors

* tests(filters) fix linting errors

* Update docs/developers/guides/geth_js_console.md

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>

* Update docs/developers/guides/geth_js_console.md

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>

* Update docs/developers/guides/geth_js_console.md

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>

* docs(guides) update based on PR comments

* docs(guides) update based on lint errors

* docs(guides) add link to docs

* docs(guides) add md code block format

* Apply suggestions from code review

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>

* docs(guides) update based on PR comments

Co-authored-by: Adi Saravanan <59209660+adisaran64@users.noreply.github.com>
Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>

* imp: add option to overwrite in local node script (#1123)

* prompt user if HOMEDIR already exists

* remove unnecessary cat commands

* remove unused variable

* add double quotes around variable

* address review comments

* remove command to delete the gentx folder as it is unnecessary

* add minor doc comments

* change user prompt to check overwrite

* chore(claims): Delete deprecated migration logic (#1126)

* (refactor): Delete old migrations

* (fix): linter issues

* imp: remove create_empty_blocks and create_empty_blocks_interval (#1132)

removed create_empty_blocks and create_empty_blocks_interval config in local_node.sh script because those configuration does not works in cosmos-sdk

* fix: update Keplr docs to remove (beta) (#1133)

Update Keplr docs

* fix: enable HTTP server on localnode by default (#1136)

Enable HTTP server on localnode by default

* chore(docs): add priority mempool docs (#1128)

* add priority mempool docs

* fix evmosd config path in validators/setup/configuration.md

* address linter comments

* rename to mempool.md

* address first review comments

* add EIP-1559 infos and remove implementation details

* address linter comments

* disable markdown link check for reference to feemarket files (copied with pre.sh)

* address more review comments

* feat(ci): Golang dependency vulnerability check (#1138)

* fix(app): register node service

* feat(ci): Golang dependency vulnerability check

* c++

* chore: remove simulations (#1139)

* remove simulations

* remove unused simulation packages variable from Makefile

* chore(deps): bump Ethermint version to v0.20-rc3 (#1140)

* fix(app): register node service

* chore(deps): bump Ethermint version to v0.20-rc3

* c++

* fixes, remove EIP-712 ante handler

* fix(ante): readd EIP712 decorator (#1141)

* feat(erc20): additional validation and checks from audit (#1119)

* docs(app): add erc20 to transfer stack and change description layout

* chore(ibc): move interface compliance verification

* feat(erc20): add pair enabled/disabled check for recv

* feat(erc20): add is sender module account checks

* fix order of ibc_callbacks.go

* feat(erc20): Add missing OnRecvPacket tests

* feat(erc20): refactor test setup and delete unnecessary code

* test(erc20): add more on recieve tests

* feat(ibc): add is module account checks

* Update x/erc20/keeper/token_pairs.go

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* Update x/erc20/keeper/ibc_callbacks.go

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* Update x/erc20/keeper/ibc_callbacks.go

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* test(transfer): fix is module account test

* feat(erc20): add OnTimeoutPacket tests

* test(erc20): add tests for OnAcknowledgementPacket

* feat(erc20): fix TestOnAcknowledgementPacket test cases

* feat(erc20): uncomment integration tests

* feat(erc20): improve test name in msg_server_test.go

* feat(erc20): address PR comments

* cohre(erc20): apply post-review suggestion

* feat(erc20): remove duplicated test

* feat(erc20): remove duplicated tests

* feat(erc20): adress Fedes comments

* feat(erc20): fix msg_transfer no-op - pair is disabled test

* feat(erc20): fix msg_transfer no-op - pair is disabled test

* Update x/erc20/keeper/ibc_callbacks.go

* chore(erc20): refactored IsModuleAccount helper

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: Tomas Guerra <54514587+GAtom22@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* docs: Add Ledger CLI docs (#1135)

* Add docs to connect Ledger to the CLI

* Address formatting revisions.

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* docs(guides): add automated coin conversion guide (#1127)

* docs(guides) add automated coin conversion guide

* docs(guides) fix linting errors

* docs(guides) fix linting errors

* Update docs/developers/guides/automatic_coin_conversion.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* docs(guides) update based on PR comments

* docs(guides) fix linting errors

* docs(guides) add note message

* Apply suggestions from code review

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>

* docs(guides) add line breaks to improve readability

* docs(guides) rename guide file

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* docs(guides) update based on PR comments

* docs(guides) add more examples

* docs(guides) update based on PR comments

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>

* style: fix vesting example file (#1143)

fix example json

* fix: set encoding config from root for EIP-712 verification from key (#1145)

Set encoding config from root for EIP-712 verification from key

* imp(erc20): ignore gas costs on IBC transfer for automatic ERC20 conversion (#1144)

imp: ignore gas costs on IBC transfer for ERC20 conversion

* Move encoding config setup from command line to app (#1146)

Co-authored-by: Freddy Caceres <facs95@gmail.com>

* fix(erc20): automatic conversion using 'erc20/<contract_address>' (#1147)

* fix(erc20): automatic conversion using 'erc20/<contract_address>'

* const

Co-authored-by: Freddy Caceres <facs95@gmail.com>

* feat(eip712): add encoding config init back to root (#1148)

* build(deps): bump golang from 1.19.3-bullseye to 1.19.4-bullseye (#1151)

Bumps golang from 1.19.3-bullseye to 1.19.4-bullseye.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump technote-space/get-diff-action from 6.1.1 to 6.1.2 (#1150)

Bumps [technote-space/get-diff-action](https://github.com/technote-space/get-diff-action) from 6.1.1 to 6.1.2.
- [Release notes](https://github.com/technote-space/get-diff-action/releases)
- [Changelog](https://github.com/technote-space/get-diff-action/blob/main/.releasegarc)
- [Commits](technote-space/get-diff-action@v6.1.1...v6.1.2)

---
updated-dependencies:
- dependency-name: technote-space/get-diff-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(erc20): update token denom on msg (#1149)

* fix(erc20): automatic conversion using 'erc20/<contract_address>'

* const

* fix(erc20): update token denom on msg

* fix(erc20): update token denom on msg

* remove dup pair

* Update x/ibc/transfer/keeper/msg_server_test.go

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>

* fix

* fix(erc20): update token denom

* fix(erc20): small refactor and add test case when sending original ERC-20 directly via ibc

* fix(erc20): small refactor

Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>
Co-authored-by: Tom <tomasguerraalda@hotmail.com>

* feat: Implement Ledger support on CLI (#816)

* Implement initial Ledger support on CLI

* Update context initialization and ledger options

* Update imports and refactor for latest version

* Update dependencies and use temporary fork

* Bump fork to v0.46.3

* Refactor app name to const and clarify comments

* Update crypto/keyring/options.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Add changelog entry; update keyring comments

* Update crypto/keyring/options.go

* Update dependencies; refactor to use new signature verification

* conflicts

* use var

* Bump evmos-ledger-go dependency version

* Refactor to use evmos-ledger-go v0.1.4

* Remove encoding config from root

* use evmos-ledger-go v0.2

* Bump evmos-ledger-go to v0.2.1

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Tomas Guerra <54514587+GAtom22@users.noreply.github.com>

* chore(deps): bump Ethermint to v0.20-rc4 (#1157)

* chore(deps): bump Ethermint to v0.20-rc4

* changelog

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: Giancarlos Salas <me@giansalex.dev>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Freddy Caceres <facs95@gmail.com>
Co-authored-by: eullrich <eullrich@gmail.com>
Co-authored-by: Liam <11711732+devli13@users.noreply.github.com>
Co-authored-by: sanjay-neobase <112819907+sanjay-neobase@users.noreply.github.com>
Co-authored-by: Victor Pham <me@victortrusty.dev>
Co-authored-by: Guillermo Paoletti <guillermo.paoletti@gmail.com>
Co-authored-by: Tomas Guerra <54514587+GAtom22@users.noreply.github.com>
Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>
Co-authored-by: Reece Williams <31943163+Reecepbcups@users.noreply.github.com>
Co-authored-by: v-homsi <110708931+v-homsi@users.noreply.github.com>
Co-authored-by: Mozquito <6951742+Tocard@users.noreply.github.com>
Co-authored-by: Adi Saravanan <59209660+adisaran64@users.noreply.github.com>
Co-authored-by: 4rgon4ut <59182467+4rgon4ut@users.noreply.github.com>
Co-authored-by: Vladislav Varadinov <vladislav.varadinov@gmail.com>
Co-authored-by: Austin Chandra <austinchandra@berkeley.edu>
Co-authored-by: Tom <tomasguerraalda@hotmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants