Commit Graph

60 Commits

Author SHA1 Message Date
946cb9d4f5 Handle gov module custom config
All checks were successful
Build / build (pull_request) Successful in 3m49s
Integration Tests / test-integration (pull_request) Successful in 3m31s
E2E Tests / test-e2e (pull_request) Successful in 4m59s
Unit Tests / test-unit (pull_request) Successful in 2m8s
SDK Tests / sdk_tests_nameservice_expiry (pull_request) Successful in 9m32s
SDK Tests / sdk_tests (pull_request) Successful in 10m29s
SDK Tests / sdk_tests_auctions (pull_request) Successful in 14m38s
2024-08-22 17:12:13 +05:30
IshaVenikar
28969fec1d Enable governance module 2024-08-22 15:57:43 +05:30
debfb82205 Integrate slashing module in the app (#53)
All checks were successful
SDK Tests / sdk_tests (push) Successful in 10m32s
SDK Tests / sdk_tests_auctions (push) Successful in 14m45s
Integration Tests / test-integration (push) Successful in 2m55s
E2E Tests / test-e2e (push) Successful in 4m7s
Unit Tests / test-unit (push) Successful in 2m48s
Publish on release / Run docker build and publish (release) Successful in 3m11s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 9m33s
Part of [laconicd testnet validator enrollment](https://www.notion.so/laconicd-testnet-validator-enrollment-6fc1d3cafcc64fef8c5ed3affa27c675)

Add `slashing` module for penalizing / jailing offline validators
Reference: https://docs.cosmos.network/main/build/modules/slashing#liveness-tracking

Note: Breaking change, an existing chain cannot be run with the updated binary

Reviewed-on: #53
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-08-16 06:23:56 +00:00
3c5cd002e1 Add env variables to configure authority auctions in initialization script (#50)
All checks were successful
Integration Tests / test-integration (push) Successful in 3m18s
Unit Tests / test-unit (push) Successful in 3m23s
E2E Tests / test-e2e (push) Successful in 4m30s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 9m14s
SDK Tests / sdk_tests (push) Successful in 10m32s
SDK Tests / sdk_tests_auctions (push) Successful in 14m23s
Publish on release / Run docker build and publish (release) Successful in 2m34s
Part of [laconicd testnet validator enrollment](https://www.notion.so/laconicd-testnet-validator-enrollment-6fc1d3cafcc64fef8c5ed3affa27c675)

Reviewed-on: #50
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-08-08 07:14:36 +00:00
b5a76a920e Update node initialization script (#49)
All checks were successful
Integration Tests / test-integration (push) Successful in 2m33s
E2E Tests / test-e2e (push) Successful in 4m11s
Unit Tests / test-unit (push) Successful in 2m37s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 9m20s
SDK Tests / sdk_tests (push) Successful in 10m32s
SDK Tests / sdk_tests_auctions (push) Successful in 14m33s
Part of [laconicd testnet validator enrollment](https://www.notion.so/laconicd-testnet-validator-enrollment-6fc1d3cafcc64fef8c5ed3affa27c675)

Reviewed-on: #49
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-08-07 11:25:01 +00:00
f176a5889e Implement GQL query for listing authorities (#48)
All checks were successful
Integration Tests / test-integration (push) Successful in 2m42s
Unit Tests / test-unit (push) Successful in 2m54s
E2E Tests / test-e2e (push) Successful in 4m31s
SDK Tests / sdk_tests (push) Successful in 10m49s
SDK Tests / sdk_tests_auctions (push) Successful in 14m42s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 7m10s
Publish on release / Run docker build and publish (release) Successful in 2m37s
Part of [Create a public laconicd testnet](https://www.notion.so/Create-a-public-laconicd-testnet-896a11bdd8094eff8f1b49c0be0ca3b8)

Co-authored-by: IshaVenikar <ishavenikar7@gmail.com>
Reviewed-on: #48
2024-08-02 09:15:08 +00:00
5e7d5fc47c Update init script to use existing genesis file (#47)
All checks were successful
Integration Tests / test-integration (push) Successful in 3m10s
E2E Tests / test-e2e (push) Successful in 3m55s
Unit Tests / test-unit (push) Successful in 2m1s
SDK Tests / sdk_tests (push) Successful in 10m27s
SDK Tests / sdk_tests_auctions (push) Successful in 14m19s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 7m13s
Part of [laconicd testnet validator enrollment](https://www.notion.so/laconicd-testnet-validator-enrollment-6fc1d3cafcc64fef8c5ed3affa27c675)

Co-authored-by: Adw8 <adwaitgharpure@gmail.com>
Reviewed-on: #47
2024-08-01 11:52:47 +00:00
c162396298 Change token denom from photon to lnt and alnt (#46)
All checks were successful
Integration Tests / test-integration (push) Successful in 2m43s
Unit Tests / test-unit (push) Successful in 3m27s
E2E Tests / test-e2e (push) Successful in 2m48s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 7m57s
SDK Tests / sdk_tests (push) Successful in 8m59s
SDK Tests / sdk_tests_auctions (push) Successful in 13m4s
Part of [laconicd testnet validator enrollment](https://www.notion.so/laconicd-testnet-validator-enrollment-6fc1d3cafcc64fef8c5ed3affa27c675)

Co-authored-by: zramsay <zach@bluecollarcoding.ca>
Reviewed-on: #46
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-07-30 11:05:58 +00:00
7a88c82816 Add queries to get participant by laconic or nitro address (#44)
All checks were successful
Integration Tests / test-integration (push) Successful in 3m5s
E2E Tests / test-e2e (push) Successful in 4m20s
Unit Tests / test-unit (push) Successful in 3m6s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 9m18s
SDK Tests / sdk_tests (push) Successful in 10m33s
SDK Tests / sdk_tests_auctions (push) Successful in 14m29s
Publish on release / Run docker build and publish (release) Successful in 3m11s
Part of [laconicd testnet validator enrollment](https://www.notion.so/laconicd-testnet-validator-enrollment-6fc1d3cafcc64fef8c5ed3affa27c675)

Co-authored-by: IshaVenikar <ishavenikar7@gmail.com>
Reviewed-on: #44
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-07-29 10:28:30 +00:00
9fab3f8326 Add fields for role and KYC ID for onboarded participants (#43)
All checks were successful
Integration Tests / test-integration (push) Successful in 2m32s
Unit Tests / test-unit (push) Successful in 2m34s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 8m34s
SDK Tests / sdk_tests_auctions (push) Successful in 14m15s
E2E Tests / test-e2e (push) Successful in 2m47s
SDK Tests / sdk_tests (push) Successful in 7m54s
Part of [Sumsub KYC integration in onboarding app](https://www.notion.so/Sumsub-KYC-integration-in-onboarding-app-607b598c9c1d4d12adc71725e2ab5e7e)

Reviewed-on: #43
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-07-26 14:42:40 +00:00
ec6e2f3776 Add a query to list authorities (#42)
All checks were successful
Integration Tests / test-integration (push) Successful in 2m40s
E2E Tests / test-e2e (push) Successful in 3m59s
Unit Tests / test-unit (push) Successful in 2m8s
Publish on release / Run docker build and publish (release) Successful in 2m51s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 8m38s
SDK Tests / sdk_tests (push) Successful in 8m37s
SDK Tests / sdk_tests_auctions (push) Successful in 13m48s
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>
2024-07-24 09:14:39 +00:00
eb20f77e83 Fixes for handling authority expiry queue (#40)
All checks were successful
Integration Tests / test-integration (push) Successful in 3m2s
E2E Tests / test-e2e (push) Successful in 4m29s
Unit Tests / test-unit (push) Successful in 2m8s
Publish on release / Run docker build and publish (release) Successful in 2m50s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 8m52s
SDK Tests / sdk_tests (push) Successful in 10m7s
SDK Tests / sdk_tests_auctions (push) Successful in 14m13s
Part of #38

Reviewed-on: cerc-io/laconic2d#40
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-07-22 05:40:45 +00:00
43b675cc0a Ignore error on not finding an authority expiry queue entry (#39)
All checks were successful
Integration Tests / test-integration (push) Successful in 2m23s
E2E Tests / test-e2e (push) Successful in 3m57s
Unit Tests / test-unit (push) Successful in 2m5s
Publish on release / Run docker build and publish (release) Successful in 2m35s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 8m27s
SDK Tests / sdk_tests (push) Successful in 9m17s
SDK Tests / sdk_tests_auctions (push) Successful in 14m11s
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>
2024-07-19 11:30:15 +00:00
b2be09e0e4 Allow requests from any origin (#37)
All checks were successful
Integration Tests / test-integration (push) Successful in 3m35s
Unit Tests / test-unit (push) Successful in 3m36s
E2E Tests / test-e2e (push) Successful in 5m15s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 9m6s
SDK Tests / sdk_tests (push) Successful in 10m12s
SDK Tests / sdk_tests_auctions (push) Successful in 14m18s
Part of [laconicd testnet validator enrollment](https://www.notion.so/laconicd-testnet-validator-enrollment-6fc1d3cafcc64fef8c5ed3affa27c675)

Co-authored-by: Adw8 <adwait@deepstacksoft.com>
Reviewed-on: cerc-io/laconic2d#37
Co-authored-by: Prathamesh Musale <prathamesh@noreply.git.vdb.to>
Co-committed-by: Prathamesh Musale <prathamesh@noreply.git.vdb.to>
2024-07-17 09:59:59 +00:00
456491a4f2 Comment lint workflow
All checks were successful
Protobuf / lint (pull_request) Successful in 25s
Build / build (pull_request) Successful in 2m25s
E2E Tests / test-e2e (push) Successful in 3m59s
Unit Tests / test-unit (push) Successful in 1m57s
SDK Tests / sdk_tests (push) Successful in 8m26s
Integration Tests / test-integration (pull_request) Successful in 2m9s
E2E Tests / test-e2e (pull_request) Successful in 3m31s
SDK Tests / sdk_tests_nameservice_expiry (pull_request) Successful in 7m12s
Unit Tests / test-unit (pull_request) Successful in 1m58s
SDK Tests / sdk_tests_auctions (pull_request) Successful in 12m36s
Integration Tests / test-integration (push) Successful in 2m44s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 8m13s
SDK Tests / sdk_tests_auctions (push) Successful in 13m31s
SDK Tests / sdk_tests (pull_request) Successful in 8m28s
2024-07-16 12:49:31 +05:30
d36f54543d Pin golangci-lint version in lint workflow
Some checks failed
Build / build (pull_request) Successful in 1m58s
Protobuf / lint (pull_request) Successful in 13s
Integration Tests / test-integration (pull_request) Successful in 2m33s
E2E Tests / test-e2e (pull_request) Successful in 3m56s
Lint / Run golangci-lint (pull_request) Failing after 9m57s
Unit Tests / test-unit (pull_request) Successful in 1m50s
SDK Tests / sdk_tests_nameservice_expiry (pull_request) Successful in 8m13s
SDK Tests / sdk_tests (pull_request) Failing after 8m58s
SDK Tests / sdk_tests_auctions (pull_request) Successful in 13m53s
2024-07-16 12:01:44 +05:30
a8a59ad0c1 Rename ethereum_address to nitro_address in onboarding module (#8)
Some checks failed
Lint / Run golangci-lint (pull_request) Failing after 5m56s
Unit Tests / test-unit (pull_request) Successful in 2m4s
SDK Tests / sdk_tests_nameservice_expiry (pull_request) Successful in 7m57s
SDK Tests / sdk_tests (pull_request) Failing after 8m51s
SDK Tests / sdk_tests_auctions (pull_request) Successful in 13m26s
Protobuf / lint (pull_request) Successful in 24s
Build / build (pull_request) Successful in 2m49s
Integration Tests / test-integration (pull_request) Successful in 2m33s
E2E Tests / test-e2e (pull_request) Successful in 3m50s
* 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>
2024-07-16 09:25:39 +05:30
Isha Venikar
f23f691646 Add lint config and fix lint errors (#7)
* Add config file for linter

* Fix lint errors

* Fix gofumpt errors

* Fix pre-allocate slices lint error

* Remove unused lint rule

* Disable style check ID error

* Add gomodguard section in yml file

* Remove trailing white spaces

* Remove unnecessary comments

---------

Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-07-16 09:25:39 +05:30
Isha Venikar
8c14d578f7 Add flag to enable/disable onboarding of validators (#6)
* Add gql implementation for getParticipant query

* Add onboarding enable/disable flag

* Remove unnecessary message field from onboardParticipant message

* Add instructions to generate gql bindings
2024-07-16 09:25:39 +05:30
Isha Venikar
582c83543c Implement query in onboarding module to list the registered participants (#4)
* Implement query to list participants

* Remove unnecessary comments
2024-07-16 09:25:39 +05:30
Isha Venikar
a21e9ea387 Implement onboarding module for testnet validator enrollment (#3)
* 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>
2024-07-16 09:25:39 +05:30
Isha Venikar
7369264f0a Create skeleton for onboarding module (#2)
* 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
2024-07-16 09:25:39 +05:30
4c0cb6c2c4 Unset home and keyring dir from depinject client config (#35)
All checks were successful
Integration Tests / test-integration (push) Successful in 2m37s
E2E Tests / test-e2e (push) Successful in 4m4s
Lint / Run golangci-lint (push) Successful in 5m24s
Unit Tests / test-unit (push) Successful in 1m55s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 7m34s
SDK Tests / sdk_tests (push) Successful in 8m13s
SDK Tests / sdk_tests_auctions (push) Successful in 13m23s
Publish on release / Run docker build and publish (release) Successful in 2m27s
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>
2024-07-16 03:50:08 +00:00
9dc84ef943 Replace alpine with ubuntu as base image in the Dockerfile (#31)
All checks were successful
E2E Tests / test-e2e (push) Successful in 3m1s
Lint / Run golangci-lint (push) Successful in 4m45s
Integration Tests / test-integration (push) Successful in 1m44s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 7m33s
SDK Tests / sdk_tests_auctions (push) Successful in 12m49s
Unit Tests / test-unit (push) Successful in 1m49s
SDK Tests / sdk_tests (push) Successful in 7m59s
Part of [Create a public laconicd testnet](https://www.notion.so/Create-a-public-laconicd-testnet-896a11bdd8094eff8f1b49c0be0ca3b8)

Co-authored-by: Nabarun <nabarun@deepstacksoft.com>
Reviewed-on: cerc-io/laconic2d#31
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-07-10 14:36:09 +00:00
576569fe66 Update root command setup to respect home flag (#34)
All checks were successful
Integration Tests / test-integration (push) Successful in 2m33s
E2E Tests / test-e2e (push) Successful in 3m48s
Lint / Run golangci-lint (push) Successful in 5m41s
Unit Tests / test-unit (push) Successful in 1m51s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 7m31s
SDK Tests / sdk_tests (push) Successful in 7m53s
SDK Tests / sdk_tests_auctions (push) Successful in 13m48s
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>
2024-07-10 12:32:49 +00:00
e63f51cacd Use custom KV store config to handle progressively increasing gas usage (#30)
All checks were successful
Integration Tests / test-integration (push) Successful in 2m13s
E2E Tests / test-e2e (push) Successful in 3m21s
Lint / Run golangci-lint (push) Successful in 5m5s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 6m51s
Unit Tests / test-unit (push) Successful in 1m45s
SDK Tests / sdk_tests (push) Successful in 7m43s
SDK Tests / sdk_tests_auctions (push) Successful in 12m18s
Part of [Create an external fixturenet-laconicd stack](https://www.notion.so/Create-an-external-fixturenet-laconicd-stack-3b33cc2317444f4da209c4472f4244ed)

Reviewed-on: cerc-io/laconic2d#30
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-06-25 06:33:41 +00:00
66df959d51 Changes required for laconicd testnet stack (#29)
All checks were successful
Integration Tests / test-integration (push) Successful in 2m16s
E2E Tests / test-e2e (push) Successful in 3m21s
Lint / Run golangci-lint (push) Successful in 5m3s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 6m50s
Unit Tests / test-unit (push) Successful in 1m46s
SDK Tests / sdk_tests (push) Successful in 7m51s
SDK Tests / sdk_tests_auctions (push) Successful in 12m32s
Part of [Create a public laconicd testnet](https://www.notion.so/Create-a-public-laconicd-testnet-896a11bdd8094eff8f1b49c0be0ca3b8)

Reviewed-on: cerc-io/laconic2d#29
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-06-19 12:09:49 +00:00
1d3311b864 Update init script to enable prometheus metrics (#28)
All checks were successful
Integration Tests / test-integration (push) Successful in 2m11s
E2E Tests / test-e2e (push) Successful in 3m56s
Lint / Run golangci-lint (push) Successful in 4m51s
Unit Tests / test-unit (push) Successful in 2m24s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 9m36s
SDK Tests / sdk_tests (push) Successful in 10m25s
SDK Tests / sdk_tests_auctions (push) Successful in 14m25s
Part of https://www.notion.so/Monitoring-and-alerting-for-laconicd-86727c3b4dde4dc993d87d6e29f935fe

Reviewed-on: cerc-io/laconic2d#28
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-04-11 07:56:50 +00:00
816e1623ac Rename laconicd rest endpoint to rpc for SDK tests (#27)
All checks were successful
Unit Tests / test-unit (push) Successful in 2m16s
SDK Tests / sdk_tests_auctions (push) Successful in 14m47s
Integration Tests / test-integration (push) Successful in 2m45s
E2E Tests / test-e2e (push) Successful in 4m23s
Lint / Run golangci-lint (push) Successful in 4m30s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 9m4s
SDK Tests / sdk_tests (push) Successful in 9m59s
Part of https://www.notion.so/Rename-laconic2d-to-laconicd-9028d0c020d24d1288e92ebcb773d7a7

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
Reviewed-on: cerc-io/laconic2d#27
Co-authored-by: Prathamesh Musale <prathamesh@noreply.git.vdb.to>
Co-committed-by: Prathamesh Musale <prathamesh@noreply.git.vdb.to>
2024-04-02 03:38:48 +00:00
6bc3d2fcde the chain-id needs to be set before anything else (#25)
All checks were successful
E2E Tests / test-e2e (push) Successful in 4m27s
Lint / Run golangci-lint (push) Successful in 5m6s
Integration Tests / test-integration (push) Successful in 2m25s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 8m12s
SDK Tests / sdk_tests_auctions (push) Successful in 13m56s
Unit Tests / test-unit (push) Successful in 2m26s
SDK Tests / sdk_tests (push) Successful in 9m6s
otherwise this error presents itself silently:

```
updated config is invalid: client config invalid: chain-id is empty
```

Co-authored-by: zramsay <zach@bluecollarcoding.ca>
Reviewed-on: cerc-io/laconic2d#25
Co-authored-by: zramsay <zramsay@noreply.git.vdb.to>
Co-committed-by: zramsay <zramsay@noreply.git.vdb.to>
2024-04-01 12:19:54 +00:00
213c390c37 Rename laconic2d to laconicd (#26)
Some checks failed
Integration Tests / test-integration (push) Successful in 2m48s
E2E Tests / test-e2e (push) Successful in 4m56s
Lint / Run golangci-lint (push) Successful in 5m6s
Unit Tests / test-unit (push) Successful in 3m22s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 10m40s
SDK Tests / sdk_tests (push) Successful in 10m55s
SDK Tests / sdk_tests_auctions (push) Failing after 16m7s
Part of https://www.notion.so/Rename-laconic2d-to-laconicd-9028d0c020d24d1288e92ebcb773d7a7

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
Reviewed-on: cerc-io/laconic2d#26
Co-authored-by: Prathamesh Musale <prathamesh@noreply.git.vdb.to>
Co-committed-by: Prathamesh Musale <prathamesh@noreply.git.vdb.to>
2024-04-01 09:57:26 +00:00
1956161316 Update registry-sdk repo path in CI (#24)
All checks were successful
Integration Tests / test-integration (push) Successful in 2m47s
E2E Tests / test-e2e (push) Successful in 4m18s
Lint / Run golangci-lint (push) Successful in 5m9s
Unit Tests / test-unit (push) Successful in 2m27s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 9m9s
SDK Tests / sdk_tests (push) Successful in 9m37s
SDK Tests / sdk_tests_auctions (push) Successful in 14m49s
Part of https://www.notion.so/Port-laconicd-to-cosmos-sdk-v0-50-x-43b30ab4e33a49c5912ebb2871cb777c

Reviewed-on: cerc-io/laconic2d#24
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-03-14 09:15:15 +00:00
8e9f08b652 Add CI workflows for SDK tests (#23)
All checks were successful
Integration Tests / test-integration (push) Successful in 3m6s
E2E Tests / test-e2e (push) Successful in 4m21s
Lint / Run golangci-lint (push) Successful in 4m36s
Unit Tests / test-unit (push) Successful in 2m49s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 9m3s
SDK Tests / sdk_tests (push) Successful in 9m25s
SDK Tests / sdk_tests_auctions (push) Successful in 15m30s
Part of https://www.notion.so/Port-laconicd-to-cosmos-sdk-v0-50-x-43b30ab4e33a49c5912ebb2871cb777c

Reviewed-on: deep-stack/laconic2d#23
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-03-13 06:19:15 +00:00
946e64d289 Verify write transactions in E2E tests (#22)
All checks were successful
Integration Tests / test-integration (push) Successful in 3m12s
Lint / Run golangci-lint (push) Successful in 4m10s
E2E Tests / test-e2e (push) Successful in 4m32s
Unit Tests / test-unit (push) Successful in 2m15s
- Verify transaction inclusion and response code for write txs as done in cosmos-sdk E2E tests

Reviewed-on: deep-stack/laconic2d#22
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-03-13 04:53:11 +00:00
08a29c023c Add SDK tests script (#21)
Some checks failed
Integration Tests / test-integration (push) Successful in 2m28s
E2E Tests / test-e2e (push) Failing after 3m21s
Lint / Run golangci-lint (push) Successful in 3m56s
Unit Tests / test-unit (push) Successful in 2m19s
Reviewed-on: deep-stack/laconic2d#21
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-03-12 12:06:24 +00:00
373af7562b Handle not found errors in GQL query resolvers (#20)
Some checks failed
E2E Tests / test-e2e (push) Failing after 2m59s
Lint / Run golangci-lint (push) Successful in 4m25s
Integration Tests / test-integration (push) Successful in 2m8s
Unit Tests / test-unit (push) Successful in 2m16s
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>
2024-03-12 08:40:23 +00:00
67cbbf7088 Disable block timeouts in E2E test network (#19)
All checks were successful
Integration Tests / test-integration (push) Successful in 3m2s
Lint / Run golangci-lint (push) Successful in 4m49s
Unit Tests / test-unit (push) Successful in 2m11s
E2E Tests / test-e2e (push) Successful in 2m49s
- 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>
2024-03-12 04:35:20 +00:00
8c0540bdb5 Add a test network setup and patch for E2E tests (#18)
Some checks failed
Lint / Run golangci-lint (push) Successful in 2m58s
E2E Tests / test-e2e (push) Failing after 1m31s
Integration Tests / test-integration (push) Successful in 1m17s
Unit Tests / test-unit (push) Successful in 1m15s
- 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>
2024-03-07 12:35:59 +00:00
aed2d6d4c6 Rename RPC method to reserve authority and fix proto lint errors (#17)
Some checks failed
Integration Tests / test-integration (push) Successful in 2m0s
E2E Tests / test-e2e (push) Failing after 2m2s
Unit Tests / test-unit (push) Successful in 1m19s
Lint / Run golangci-lint (push) Successful in 4m26s
- 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>
2024-03-07 11:25:15 +00:00
33b6cce362 Additional CI workflows (#16)
All checks were successful
Lint / Run golangci-lint (push) Successful in 2m55s
Integration Tests / test-integration (push) Successful in 2m56s
E2E Tests / test-e2e (push) Successful in 3m35s
Unit Tests / test-unit (push) Successful in 1m12s
Reviewed-on: deep-stack/laconic2d#16
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-03-07 09:11:53 +00:00
4e4e9caccf Add initialization script and a Dockerfile (#15)
Some checks failed
E2E Tests / test-e2e (push) Failing after 1m43s
Integration Tests / test-integration (push) Successful in 2m4s
Reviewed-on: deep-stack/laconic2d#15
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-03-07 05:10:41 +00:00
ec147272e6 Add module invariants and input validations (#14)
All checks were successful
E2E Tests / test-e2e (push) Successful in 1m58s
Integration Tests / test-integration (push) Successful in 1m10s
Reviewed-on: deep-stack/laconic2d#14
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-03-06 09:24:15 +00:00
d346b95234 Add e2e tests for gRPC requests and CLI commands (#13)
Some checks failed
Integration Tests / test-integration (push) Successful in 2m3s
E2E Tests / test-e2e (push) Failing after 2m8s
- 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>
2024-03-04 11:16:09 +00:00
fa5885b349 Setup and integrate GQL server (#12)
All checks were successful
Integration Tests / test-integration (push) Successful in 1m17s
Reviewed-on: deep-stack/laconic2d#12
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-02-29 12:45:38 +00:00
0af44b5f17 Setup integration tests and CI (#11)
All checks were successful
Integration Tests / test-integration (push) Successful in 2m17s
- 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>
2024-02-29 11:54:35 +00:00
d2505367aa Use LRN abbrevation for names (#10)
Reviewed-on: deep-stack/laconic2d#10
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-02-28 04:53:23 +00:00
c79b7bea7d Setup hooks between laconic modules (#9)
- Implement auction and bond module hooks in registry module
- Code cleanup

Reviewed-on: deep-stack/laconic2d#9
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-02-28 04:34:58 +00:00
ba7a127d7f Add bond-record association commands to registry module (#8)
Reviewed-on: deep-stack/laconic2d#8
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-02-26 12:56:11 +00:00
d2339e2426 Handle record and authority expiry in registry module (#7)
- 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>
2024-02-26 06:16:09 +00:00
92764535a6 Additional registry module commands (#6)
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>
2024-02-26 05:42:36 +00:00