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: cerc-io/laconicd#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: cerc-io/laconicd#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](cerc-io/laconicd#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: cerc-io/laconicd#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>
* Rename ethereum_address to nitro_address
* Use camel case for variables in gql schema
* Fix indentation in proto files
* Fix proto lint errors
---------
Co-authored-by: IshaVenikar <ishavenikar7@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>
* Add proto files for onboarding module
* Add general files for onboarding module
* Add keeper files for onboarding module
* Add module files for onboarding module
* Update proto files
* Add generated proto bindings
* Use Keeper pointer in depinject
* Fix lint errors
Part of #33
Follows PR #34
- With earlier workaround in root cmd (not passing `DefaultNodeHome` to depinject), it created a `config/client.toml` wherever the laconicd CLI was being run
- Unset `clientCtx.HomeDir` and `clientCtx.KeyringDir` while providing client context to depinject instead to prevent this and still handle the `--home` flag precedence issue
- When using default home directory, all commands still work as `DefaultNodeHome` is passed to the [command executor](https://git.vdb.to/cerc-io/laconic2d/src/branch/main/cmd/laconicd/main.go#L18)
Reviewed-on: cerc-io/laconic2d#35
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Part of cerc-io/laconic2d#32 and cerc-io/laconic2d#33
- Update context used in root command with Viper so that it recognizes the client config from home directory passed in CLI flags
- Avoid providing default home dir to depinject so that the home directory passed in CLI flags is used in txs
- Known issue: The client config from non-default home directory still doesn't seem to be getting used for some commands; in such cases, user has to pass the required flags explicitly
Reviewed-on: cerc-io/laconic2d#34
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Part of https://www.notion.so/Create-laconic-registry-SDK-d3a636d4aba44f7cbba3bd99b7146811
- Return `nil` in response when
- bond not found on `getBondsByIds` request
- authority not found on `lookupAuthorities` / `whois` request
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
Reviewed-on: deep-stack/laconic2d#20
Co-authored-by: Prathamesh Musale <prathamesh@noreply.git.vdb.to>
Co-committed-by: Prathamesh Musale <prathamesh@noreply.git.vdb.to>
- 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>
- The E2E tests sometimes fail with error `timeout exceeded waiting for block` in CI (always passed locally)
- The error occurs in the test network (provided in cosmos-sdk) creation when [waiting](https://github.com/cosmos/cosmos-sdk/blob/v0.50.3/testutil/network/network.go#L622) for the first block because of block timeout being too short ([hardcoded](https://github.com/cosmos/cosmos-sdk/blob/v0.50.3/testutil/network/network.go#L670) to 5s)
- Copy over this network setup in the repo and patch to skip this check; we are waiting for a block to appear after the network creation anyway
Reviewed-on: deep-stack/laconic2d#18
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>