-
Notifications
You must be signed in to change notification settings - Fork 188
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: namespaces #2148
feat: namespaces #2148
Conversation
* fix(migrate): when `init_calldata` depends on contract that was already deployed (#2058) * fix(migrate): when `init_calldata` depends on contract that was already deployed * add tests * fix(ci): ensure katana runs in debian:bookworm-slim (#2073) * Ensure katana runs in debian:bookworm-slim * chore: switch to cartridge fork and adjust CI to 4 core to build Katana * chore: add old prover-sdk version to check CI fail * fix katana bin permissions * chore: add ensure-docker as requirement for big jobs * chore: point to http-prover using rustls-tls * dbg * wip * chore: bump to artifacts v4 * fix: typo * wip * fix: don't use path explicitely * wip * fix: fix artifacts managment * add ls * fix: use other path with checkout * fix: remove prints --------- Co-authored-by: glihm <[email protected]> * [dojo-core]: update gas logs (#1877) dojo-core: update gas logs Co-authored-by: glihm <[email protected]> * Prepare release: v0.7.1 (#2076) Co-authored-by: glihm <[email protected]> * fix: allow the use of self and world in an exclusive manner (#2063) * fix: allow the use of self and world in an exclusive manner * fix: fmt * fix: cairo fmt * fix: ensure a warning is emitted with generate trait and world * fix: cairo fmt * Update devcontainer image: v0.7.1 (#2077) Co-authored-by: glihm <[email protected]> * Namespace feature --------- Co-authored-by: lambda-0x <[email protected]> Co-authored-by: Tarrence van As <[email protected]> Co-authored-by: glihm <[email protected]> Co-authored-by: notV4l <[email protected]> Co-authored-by: glihm <[email protected]>
* standardize model/system interface for name/namespace/selectors * wip
* load custom overlay manifests * update metadata management + some fixes * update sozo commands with namespace
* update sozo auth command + auto-auth feature * fix: fix some tests --------- Co-authored-by: glihm <[email protected]>
* replace {WORLD,BASE}_CONTRACT_NAME by {WORLD,BASE}_CONTRACT_TAG * fix: ensure model selector correctly computed in tests * fix: wip on tests and use Katana Runner --------- Co-authored-by: glihm <[email protected]>
* initial commit * add seed to manifest and remove from cli * add overlays for dojo_init * make tests compile * fix some tests * fix lints * fix: use same name for seed tests --------- Co-authored-by: glihm <[email protected]>
* feat(torii-core): namespace in processor & db migration * refactor: selector logic and model readers for new namespace * feat: compute correct selector on model register * fix: contract address in event data * refactor: update proto for new namespace * feat: update torii client for new namespaces * refactor: cache and schema types * feat: rebase from main update to new types * feat: update grpc service to support namespaces * feat: add namespace to broker * feat: fix libp2p and update grpc subs for pattern on models * feat: finish up refactor on grpc * chore: revert changes on proto to use onlky model field * feat: first graphql support * fix: composite clauses & wrap up * fix: storage and tests * refactor: storage to use selector * fix: storage subscriptions * escape composite tbales * Overlays (#2127) * load custom overlay manifests * update metadata management + some fixes * update sozo commands with namespace * fix: change tag separator to `-` (#2132) * wip * fix tests * merge and remove print * fix: remove print * fix: fmt and clippy wip * fix: graphql tests * model tests * query test * fmt * fix: query * chore: graphql subscription tests * wip: fix testing * wip: wip on testing * fix: fix typo * fix: use correct model name * wip: testing * feat: add namespace to model object * fix: fix subscription tests * fix: fix tests * fix: fmt * fix: clippy * wip: latest torii test * fix: fmt * fix(torii-libp2p): validate namespace message * fix(torii-libp2p): escape table name * fmt --------- Co-authored-by: Rémy Baranx <[email protected]> Co-authored-by: glihm <[email protected]>
…2141) * fix: fix compiler diags by rewriting the function with rewrite node * fix: ensure dojo init also shows correct diagnostics * fix: fmt + clippy * fix: ensure impl is correctly impl with RewriteNode
* fix: test fixes for wasm32 changes * fix: fix cairo tests
* fix: clean should only remove target/manifest file of particular profile by defaul * fix lints * fix formatting * fix: ensure every target is considered independently --------- Co-authored-by: glihm <[email protected]>
Important Review skippedMore than 25% of the files skipped due to max files limit. The review is being skipped to prevent a low-quality review. 105 files out of 263 files are above the max files limit of 50. Please upgrade to Pro plan to get higher limits. You can disable this status message by setting the Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2148 +/- ##
==========================================
+ Coverage 67.82% 67.90% +0.07%
==========================================
Files 334 336 +2
Lines 42048 43086 +1038
==========================================
+ Hits 28519 29256 +737
- Misses 13529 13830 +301 ☔ View full report in Codecov by Sentry. |
Description
This PR introduces the namespaces for contracts and models.
This implies that anytime one wants to refer to a contract or a model, the namespace + the name of the contract/model must be provided.
A new term is introduce: a
tag
. Atag
is a unique identifier or a contract/model containing the namespace and the name of the contract/model separated by-
:dojo_examples-actions
ordojo_examples-Position
.For model names, the regex is
[_a-zA-Z]
enforced by Cairo. The exact same regex is expected for the namespace, and will be enforced bysozo
(currently not enforced by the contract, but Torii will be updated to ignore any invalid namespace).Currently, the default namespace is the
package
of theScarb.toml
, which allowssozo
to automatically pick up this if no namespace is provided.To provide a namespace:
Sozo commands have been updated to take in account this
tag
, or if no namespace is given, the default namespace is used.Torii has also been updated to use this
tag
in order to query a specific model.Felt
type