Part of [Create a public laconicd testnet](https://www.notion.so/Create-a-public-laconicd-testnet-896a11bdd8094eff8f1b49c0be0ca3b8)
- Reset block height for authorities being imported from genesis, same is being done for name records
Reviewed-on: #61
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Part of [Create a public laconicd testnet](https://www.notion.so/Create-a-public-laconicd-testnet-896a11bdd8094eff8f1b49c0be0ca3b8)
- Add `bc` installation in Dockerfile (required for stage1 to stage2 testnet migration)
- Populate attributes map index when importing records from genesis to allow fetching records with filters from a chain with imported state
Reviewed-on: #60
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Part of [Service provider auctions](https://www.notion.so/Service-provider-auctions-a7b63697d818479493ec145ea6ea3c1c)
- Add a new type of auction for service providers
- Add a command to release provider auction funds
- Remove unused auction module params
Co-authored-by: IshaVenikar <ishavenikar7@gmail.com>
Co-authored-by: Isha Venikar <ishavenikar@Ishas-MacBook-Air.local>
Reviewed-on: #59
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Part of [Add a CLI query to list all authorities with owner filter](#41)
Usage:
```bash
$ laconicd query registry list-authorities -h
List authorities (optionally by owner)
Usage:
laconicd query registry list-authorities [flags]
Flags:
--grpc-addr string the gRPC endpoint to use for this chain
--grpc-insecure allow gRPC over insecure channels, if not the server must use TLS
--height int Use a specific height to query state at (this can error if the node is pruning state)
-h, --help help for list-authorities
--no-indent Do not indent JSON output
--node string <host>:<port> to CometBFT RPC interface for this chain (default "tcp://localhost:26657")
-o, --output string Output format (text|json) (default "text")
--owner string Owner to get the authorities for
```
Example:
```bash
# Without owner filter
$ laconicd query registry list-authorities
authorities:
- entry:
expiry_time: "2024-07-26T06:54:28.491158167Z"
height: "247"
owner_address: laconic1e23vfttpvk045pqeydr4mujmlemx8hf9zjm7h2
owner_public_key: A6RlTGLIpyA8nnEQN4V3sz3uaLMY0fHtB7aS7u1zTOdD
status: active
name: cerc
- entry:
expiry_time: "2024-07-26T06:47:58.971429925Z"
height: "118"
owner_address: laconic10ztdu07xn7rracvzvehelgwvsytqlrvj6pvput
owner_public_key: AvBxGIXBFmWCF+OHFwydqEtp2bfP+aimObO3teunbve7
status: active
name: laconic
# With owner filter
$ laconicd query registry list-authorities --owner laconic1e23vfttpvk045pqeydr4mujmlemx8hf9zjm7h2
authorities:
- entry:
expiry_time: "2024-07-26T06:54:28.491158167Z"
height: "247"
owner_address: laconic1e23vfttpvk045pqeydr4mujmlemx8hf9zjm7h2
owner_public_key: A6RlTGLIpyA8nnEQN4V3sz3uaLMY0fHtB7aS7u1zTOdD
status: active
name: cerc
```
Reviewed-on: #42
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Part of cerc-io/laconic2d#38
This is a hot fix for the issue, cause yet to be investigated.
Reviewed-on: cerc-io/laconic2d#39
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
* 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>