Commit Graph

39 Commits

Author SHA1 Message Date
77ce9c6725 Use bash to run the fixturenet script for SDK tests 2024-07-10 18:13:24 +05:30
b8c7c62322 Use golang bullseye for building laconicd binary 2024-07-10 18:13:24 +05:30
e7ac7ae23a Replace alpine with ubuntu as base image in the Dockerfile 2024-07-10 18:13:24 +05:30
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
5e68c7d9b3 Add registry module commands to set and get records (#5)
Reviewed-on: deep-stack/laconic2d#5
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-02-16 06:40:42 +00:00
de489a4d21 Setup and plumbing for registry module (#4)
Reviewed-on: deep-stack/laconic2d#4
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-02-15 07:08:32 +00:00
a36063aba6 Additional auction module commands (#3)
Reviewed-on: deep-stack/laconic2d#3
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-02-15 06:56:18 +00:00
cb1f723475 Add commands to create and get auctions (#2)
To be added in an upcoming PR:
- commands to commit, reveal and get bids

Reviewed-on: deep-stack/laconic2d#2
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-02-12 08:34:40 +00:00
328c06d919 Setup and plumbing for auction module (#1)
Reviewed-on: deep-stack/laconic2d#1
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-02-09 08:44:45 +00:00
prathamesh0
4da8dd8d7b
Additional bond commands (#4)
* Add commands to get bonds by id and owner

* Add commands to get bond module params and balances

* Add commands to refill, withdraw and cancel bond

* Add implementations for bond tx commands

* Use indexed map to implement command for getting bond by owner

* Use collections for bond module params

* Clean up
2024-02-08 18:53:20 +05:30
prathamesh0
e511051f3e
Add commands to create and list bonds (#3)
* Add message service with a create bond command

* Add query proto file with bonds list query

* Remove legacy amino coded registration

* Add bond to auth module config

* Use collections package for bond module state
2024-02-02 15:09:10 +05:30
prathamesh0
5ee988ccd8
Setup and integrate bond module into the chain (#2)
* Add common message types and update proto gen script

* Update proto gen script to generate pulsar proto code

* Upgrade direct deps

* Populate params and genesis files

* Setup keeper files

* Setup module files with depinject and autocli

* Add placeholder keeper methods

* Integrate bond module into the chain
2024-02-01 16:28:34 +05:30
prathamesh0
e513f79b81
Add a minimal chain and placeholders for bond module (#1)
* Setup minimal chain

* Change app and command name

* Rename command folder

* Add run instructions

* Add placeholder files for bond module

* Missing new line
2024-02-01 10:18:40 +05:30
prathamesh0
e17bb26169 Initial commit 2024-01-31 14:42:54 +05:30