Skip to content
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

Merge latest katana changes into solis #3

Closed
wants to merge 32 commits into from
Closed

Merge latest katana changes into solis #3

wants to merge 32 commits into from

Conversation

remiroyc
Copy link

No description provided.

gianalarcon and others added 30 commits January 4, 2024 17:29
* print values

* Implement ModelObject struct, add fn resolve_many()

* Added model name/hash ordering fields

* fix

* fix

* use constants

* remove fn new()

* remove imports

* Feat: Implement fn resolve_many()

* Feat: Add test for ordering by name ASC

* fmt

* enable tests

* Clean code

---------

Co-authored-by: broody <[email protected]>
* refactor(sozo): change priority order for arguments

* fix: tests

* fix: code coverage
…gine#1404)

* replace compiled class hash with class hash

* replace old address
* tests: refactor and add new tests

* tests: add tests for options/account

* fix: typo

* refactor(sozo): AccountOptions doesn't require `account_address` while specifying `private_key` to be consistent with `keystore`

* fix: formatting

* fix: remove unnecessary TODO

* fix: formatting
…joengine#1419)

* feat(sozo/account): legacy bool flag to use old calldata encoding

* feat(sozo/account): legacy bool flag to use old calldata encoding

* fix: make suggested improvements
… stderr (dojoengine#1427)

* feat(katana): write katana logs to tempdir and print log file path to stderr

* fix: typo and formatting
…ojoengine#1424)

* fix: ensure local manifest and remote manifest are compared with the same models name

* add test

---------

Co-authored-by: Kariy <[email protected]>
…ne#1433)

feat: add ensure_abi method into model generated contract
* Refactor torii cli to use SocketAddr cli args

* Remove unused dojo-lang dep from dojo-world
* Update dojo example

* Update dojo v0.5.0

* docs: minor fixes on new address

---------

Co-authored-by: glihm <[email protected]>
* feat: add more info on model deserialization fail

* fix: fix cairo tests

* fix: use trait path function call instead of prelude

* fix: fix cairo tests

* fix tests

* fix test
* skeleton for deriving print for enum

* print enum variant names

* add example enum to plugin_test_data

* cargo fmt

* remove unecessary derives

* add core and comma

* fix tests

* fix tests

* remove class hash changes

* revert Cargo.lock

* fix tests

* use OptionTypeClause

* fix: ensure print is expanded under test cfg

---------

Co-authored-by: glihm <[email protected]>
* feat: add first version of plugin-like integration for bindgen

* feat: add unity backend template

* refacto: move the BackendBuilder trait into backends module

* docs: adjust function docs

* fix: rename all to plugin for clarity

* docs: update README

* docs: fix typos

* fix: ensure only dojo contracts are excluded from bindgen

* feat: add DojoMetadata with info about models

* fix: use hashmap instead of vec for models in metadata

* fix: run cairo test fix

* fix: remove unused model

* docs: fix docs

* tests: add tests

* fix: bump cainome and work on tests

* tests: fix tests

* tests: ensure correct path for test file

* feat: add ensure_abi method into model generated contract

* feat: add generate_models_bindings setup for builtin plugins

* fix: improve code parsing and plugin API

* feat: identify systems and use new cainome tokenized abi

* tests: fix building with dojo-test-utils + fix tests

* fix: clean example to have correct class hash

* fix: fix tests

* chore: bump cainome to 0.2.2 to fix composite details in functions

* fix: comment out testing until stack error on windows is investigated
)

Refer to dojoengine#1456 for full context.

The new timeout value has been chosen arbitrarily, I just thought it seems reasonable enough.
Resolves dojoengine#1448

Creates new crate under `katana`, `katana-tasks`, for managing spawning blocking tasks. RPC calls that mostly perform blocking tasks are now sent to their designated threadpools and won't block the async threads.

- `TokioTaskSpawner`: mainly for spawning blocking IO-bound tasks (ie reading from storage)
- `BlockingThreadPool`: mainly for spawning expensive CPU-bound tasks

Depends on dojoengine#1455 because now the RPC requests (that used to block the thread before) have to wait for the blocking tasks to finish and thus may be idling for more than 2 seconds which will result in a connection timeout.

Doing `sozo migrate` on 2s timeout will failed when calling `/esimateFee` for estimating the World contract declare tx with error `connection closed before message completed`.

Raw error message from `sozo` against the new changes:
```console
Caused by:
    Failed to deploy world: Failed to migrate world: Migrator(Provider(Other(TransportError(Reqwest(reqwest::Error { kind: Request, url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(5050), path: "/", query: None, fragment: None }, source: hyper::Error(IncompleteMessage) })))))
```
@remiroyc remiroyc changed the title Merge katana into solis Merge latest katana changes into solis Jan 23, 2024
@remiroyc remiroyc closed this Mar 31, 2024
ybensacq added a commit that referenced this pull request Apr 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants