* Add proto files for onboarding module
* Add generated proto bindings
* Define onboarding object
* Define the participants state in keeper
* Update genesis file to initialize and export module state to/from genesis
* Add msg to onboard participant
* Register command to enroll participant
* Add functionality to decode ethereum address from signature
* Add comments for messages and fields
* Fix lint errors in proto files
* Add message validation and events in msg_server
* Reuse crypto utils from go-nitro
* Sign entire eth_payload object
* Use google API for rpc method
* Regenerate proto bindings
---------
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
- The E2E tests sometimes fail with error `timeout exceeded waiting for block` in CI (always passed locally)
- Update the test network setup to disable timeouts when waiting for blocks
Reviewed-on: deep-stack/laconic2d#19
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
- Rename RPC method to reserve authority from `ReserveName` to `ReserveAuthority`
and `GetBondsModuleBalance` to `GetBondModuleBalance`
- Run lint formatter
- Fix proto lint errors and regenerate proto bindings
Reviewed-on: deep-stack/laconic2d#17
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
- Add E2E tests following pattern suggested in cosmos-sdk docs:
https://docs.cosmos.network/v0.50/build/building-modules/testing#end-to-end-tests
- Tests for gRPC requests
- Tests for manually configured CLI commands
- Add a CI workflow to run these E2E tests
Reviewed-on: deep-stack/laconic2d#13
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
- Setup integration tests following pattern suggested in cosmos-sdk docs:
https://docs.cosmos.network/v0.50/build/building-modules/testing#integration-tests
- Add tests for laconic modules query services
- Setup a CI workflow to run the integration tests
Reviewed-on: deep-stack/laconic2d#11
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
- Registry module
- Update module state to track record / authority expiry queues
- Handle expired records and authorities at the end of each block
- Add a command to handle record renewal
Reviewed-on: deep-stack/laconic2d#7
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
For registry module:
- Add commands to:
- get records by bond id
- reserve name authority
- get name authority
- set authority bond id
- set name
- get and list names
- resolve name to a record
- delete name
- Handle:
- genesis import / export
- returning names when fetching record(s)
- sub-authority reservation
- To be handled in an upcoming PR:
- module end blocker
- record expiry
- command to renew records
- bond-association commands
Reviewed-on: deep-stack/laconic2d#6
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>