forked from cerc-io/laconicd-deprecated
Laconic state machine
Fix #122, where the structure of the index key allowed unintended collisions (see below). This also adds a test cases which _fails_ under the old scheme, but passes now: **Before:** ``` --- FAIL: TestKeeperTestSuite (0.31s) --- FAIL: TestKeeperTestSuite/TestGrpcGetRecordLists (0.09s) grpc_query_test.go:143: Error Trace: /home/telackey/cerc/laconicd/x/registry/keeper/grpc_query_test.go:143 /home/telackey/cerc/laconicd/x/registry/keeper/suite.go:91 Error: Not equal: expected: 0 actual : 1 Test: TestKeeperTestSuite/TestGrpcGetRecordLists --- FAIL: TestKeeperTestSuite/TestGrpcGetRecordLists/Case_Filter_with_typ_(cerc-io/laconicd#122)_ (0.00s) testing.go:1490: test executed panic(nil) or runtime.Goexit: subtest may have called FailNow on a parent test FAIL FAIL github.com/cerc-io/laconicd/x/registry/keeper 0.765s FAIL make: *** [Makefile:333: run-tests] Error 1 ❯ laconic cns record list --all --typ eWebsiteRegistrationRecord [ { "id": "bafyreies5he2mxyrjso2quewwlmh6cisekkjnf7yijpd2742wrzxgzuazi", "names": null, "owners": [ "FC9B9FB065D70DBB10C8F511348421C16669B37D" ], "bondId": "a9c7161fc154cf44ee61efc699a59c8a27c804bb23ce4c8a7ffa0a39fcc540b1", "createTime": "2023-11-28T19:09:03Z", "expiryTime": "2024-11-27T19:09:03Z", "attributes": { "url": "https://hello-urbit.laconic.com", "repo_registration_record_cid": "QmTZQ8ZJS6mALjEM2wY71msFno6zzxFftVCiZELj9xREPx", "build_artifact_cid": "~lostex-rabdur-labtul-moltev/hello-urbit", "tls_cert_cid": "QmR1acEmQt7Tjmhp9cFtymie2eFcrHURQKt9kGto1TQTW1", "type": "WebsiteRegistrationRecord", "version": "0.2.4" } } ... ❯ laconic cns record list --all --type WebsiteRegistrationRecord [ { "id": "bafyreies5he2mxyrjso2quewwlmh6cisekkjnf7yijpd2742wrzxgzuazi", "names": null, "owners": [ "FC9B9FB065D70DBB10C8F511348421C16669B37D" ], "bondId": "a9c7161fc154cf44ee61efc699a59c8a27c804bb23ce4c8a7ffa0a39fcc540b1", "createTime": "2023-11-28T19:09:03Z", "expiryTime": "2024-11-27T19:09:03Z", "attributes": { "url": "https://hello-urbit.laconic.com", "repo_registration_record_cid": "QmTZQ8ZJS6mALjEM2wY71msFno6zzxFftVCiZELj9xREPx", "build_artifact_cid": "~lostex-rabdur-labtul-moltev/hello-urbit", "tls_cert_cid": "QmR1acEmQt7Tjmhp9cFtymie2eFcrHURQKt9kGto1TQTW1", "type": "WebsiteRegistrationRecord", "version": "0.2.4" } } ... ``` **After:** ``` ok github.com/cerc-io/laconicd/x/registry/keeper 1.573s ❯ laconic cns record list --all --typ eWebsiteRegistrationRecord [] ❯ laconic cns record list --all --type WebsiteRegistrationRecord [ { "id": "bafyreies5he2mxyrjso2quewwlmh6cisekkjnf7yijpd2742wrzxgzuazi", "names": null, "owners": [ "FC9B9FB065D70DBB10C8F511348421C16669B37D" ], "bondId": "a9c7161fc154cf44ee61efc699a59c8a27c804bb23ce4c8a7ffa0a39fcc540b1", "createTime": "2023-11-28T19:09:03Z", "expiryTime": "2024-11-27T19:09:03Z", "attributes": { "url": "https://hello-urbit.laconic.com", "repo_registration_record_cid": "QmTZQ8ZJS6mALjEM2wY71msFno6zzxFftVCiZELj9xREPx", "build_artifact_cid": "~lostex-rabdur-labtul-moltev/hello-urbit", "tls_cert_cid": "QmR1acEmQt7Tjmhp9cFtymie2eFcrHURQKt9kGto1TQTW1", "type": "WebsiteRegistrationRecord", "version": "0.2.4" } } ... ``` Reviewed-on: cerc-io/laconicd#123 Co-authored-by: Thomas E Lackey <telackey@bozemanpass.com> Co-committed-by: Thomas E Lackey <telackey@bozemanpass.com> |
||
|---|---|---|
| .bencher | ||
| .github | ||
| app | ||
| client | ||
| cmd | ||
| contrib/scripts | ||
| crypto | ||
| docs | ||
| encoding | ||
| ethereum/eip712 | ||
| gql | ||
| indexer | ||
| networks/local | ||
| nix | ||
| proto | ||
| rpc | ||
| scripts | ||
| server | ||
| testnet | ||
| tests | ||
| testutil | ||
| tools | ||
| types | ||
| utils | ||
| version | ||
| x | ||
| .clang-format | ||
| .dockerignore | ||
| .flake8 | ||
| .gitattributes | ||
| .gitignore | ||
| .gitleaks.toml | ||
| .golangci.yml | ||
| .goreleaser.yml | ||
| .markdownlint.yml | ||
| .markdownlintignore | ||
| .mergify.yml | ||
| .protolint.yml | ||
| .semgrepignore | ||
| .solhint.json | ||
| .yamllint | ||
| buf.work.yaml | ||
| CHANGELOG.md | ||
| CODE_OF_CONDUCT.md | ||
| codecov.yml | ||
| CONTRIBUTING.md | ||
| default.nix | ||
| docker-compose.yml | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| gometalinter.json | ||
| gomod2nix.toml | ||
| init.bat | ||
| init.sh | ||
| LICENSE | ||
| Makefile | ||
| mlc_config.json | ||
| README.md | ||
| starport.yml | ||
Laconic Network
The Source of Proof. Laconic is a next generation data availability & verifiability layer with cryptographic proofs, powering internet-scale Web3 applications, built on Proof-of-Stake with fast-finality using the Cosmos SDK which runs on top of Tendermint Core consensus engine.
Note: Requires Go 1.19+
Installation
make install
Usage
To quickly get started with a single node fixture, run:
./init.sh
Community
The following chat channels and forums are a great spot to ask questions about Ethermint:
Contributing
Looking for a good place to start contributing? Check out some good first issues.
For additional instructions, standards and style guides, please refer to the Contributing document.
