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

Rename serialized keys values/0 #3

Open
wants to merge 308 commits into
base: main
Choose a base branch
from

Conversation

bengineer42
Copy link
Owner

Description

Related issue

Tests

  • Yes
  • No, because they aren't needed
  • No, because I need help

Added to documentation?

  • README.md
  • Dojo Book
  • No documentation needed

Checklist

  • I've formatted my code (scripts/prettier.sh, scripts/rust_fmt.sh, scripts/cairo_fmt.sh)
  • I've linted my code (scripts/clippy.sh, scripts/docs.sh)
  • I've commented my code
  • I've requested a review after addressing the comments

tarrencev and others added 30 commits August 16, 2024 16:14
* feat: add interfaces for testing set into the world

* fix: update tests

* fix: internalize the world test for better devX during testing

* feat: add qualified path to DojoModel manifest
* opt(torii): indexing model schema retrieval

* :fix and optimize grpc

* chore: clippy
* default index pending & and make polling_interval configurable

* fix with recommandation

* back to 1s interval

* feat: default values for engine

---------

Co-authored-by: notV4l <[email protected]>
* feat: add get_models_test_class_hashes macro

* feat: add new spawn_test_world_full macro

* fix: enhance macro for spawn world
…2316)

* add warnings for migrations with prints

* fix: formatting and diagnostic text

---------

Co-authored-by: glihm <[email protected]>
* [fix] converted hash map to ordered vec in fetch events func

* [fix] Orthographic error in comment

* [fix] run fmt

* [fix] returning a single Vec<EmittedEvent>

* [fix] returning a Vec<Log> for ethereum.rs  fetch_logs

* [fix] debugger

* [fix] using compiler inference for Vecs

* Update crates/katana/core/src/service/messaging/starknet.rs

Co-authored-by: glihm <[email protected]>

---------

Co-authored-by: glihm <[email protected]>
…missions (dojoengine#2341)

* fix: ensure ACLs are restrictive with possible governance

* fix: fix tests

* fix: fix tests

* fix: adjust diagnostic error for dojo init
add a validator for validating incoming transaction on the rpc level. the validation will happen right before the transaction is added to the pool, and its result will determine whether the tx will get added to the pool or not.

before this all txs regardless of their validity are added to the pool. the validation will happen asynchronously where txs will get validated the same time as it is being executed. this happen later in the execution stage of the pipeline which is detached from the rpc side, at this point the rpc has already finished its request and has no context of the tx validity (hence what it means by asyncly).

this doesn't follow the same behaviour as mainnet, which would invalidate the txs on the rpc level. meaning if your tx, eg has invalid signatures, the sequencer would return the validation error as the response in the same `add_*_transaction` request you used to send the invalid tx.

this change also requires some changes on the blockifier side. added the necessary changes in a new branch [**blockifier:cairo-2.7-new**](https://github.com/dojoengine/blockifier/tree/cairo-2.7-new)
…ojoengine#2348)

* fix: ensure the store traits are exposing high level functions for get/set/update

* fix: fix tests

* fix: fix test by using explicit store trait
* feat(libp2p): websocket transport

* feat: websocket port

* feat: libp2p clinet websys trnasport

* fmt

* chore: use pkg vesrion for identify spec

* fix: wasm

* feat: relay client websocket

* fmt
…ail (dojoengine#2350)

* fix: ensure already registered resources don't make migration fail

* fix: clippy
…er (dojoengine#2353)

* wip

* wip

* wip

* fix blockifier patch

* fix

* clippy

* fix

* fmt

* fmt

* fix
…l per transaction (dojoengine#2351)

* opt(torii): remove unused receipt from processor & reduce one rpc call per transaction

* fix formatting

* fix lints

* comment out transaction processor part
* Update devcontainer image: v1.0.0-alpha.8

* fix: fix clippy

---------

Co-authored-by: glihm <[email protected]>
* chore(torii): less noise in logs

* chore: debug logs
dojoengine#2359)

* feat: ensure models and contracts are processed in order by Typescript plugin

* fix: run clippy on the whole workspace

* feat: add ordering to the unity plugin
edisontim and others added 30 commits November 4, 2024 11:52
…2625)

* Permit complex calldata when initializing contracts

* Address PR comments + format

* fix CI + remove dead code
dojoengine#2627)

* feat: separate the resource registration and permission phase for testing

* ci: add simple and core-cairo-test to tests

* tests: fix world tests
* feat: add batch operations and remove historical events

* fix: ensure Array is returned and not span for multiples

* fix: fix historical and add batch entities

* chore: bump scarb

* tests: fix tests for not copiable type
* added member access back into the world store

* added tests

* simpolifying modelptr

* Made model ptr a struct

* added test

* CHanged to match Model convention

* Merged in main

* Fixed lib

* added tests

* Empty commit

* added tests

* simpolifying modelptr

* Made model ptr a struct

* Empty commit

* removed duplicate test

* fix: remove ptrs to let user manage this part

* fix: fix spaces

---------

Co-authored-by: glihm <[email protected]>
Every block interval, the node would take transactions from the pool - removing it directly from the pool. this creates a small window (depending on the machine) that the transaction appears nonexistent. this is due to how the tx flows from the pool and executor. this applies for both instant and interval block production mode. 

For instant mining, the window is between tx being picked up from the pool and the tx being committed to db. while for interval, tx being picked up from the pool and the tx being [inserted into the pending block](https://github.com/dojoengine/dojo/blob/d09cbcffd8c8f2745770888f9d3f30d07b8555ae/crates/katana/executor/src/implementation/blockifier/mod.rs#L208).

When a tx is being queried thru the rpc, the node will first check if the it exist in the db, else find in the pending block (if interval mode). this pr adds a new (last) step, which is to try finding the tx in the pool if it doesn't exist anywhere else.
A system is any function found in a dojo contract that is exposed in the ABI
with the state mutability as external.
Event if Dojo per se doesn't modify the storage of the contract,
it's required that the user explicitely identify the systems with
ref self.
…ngine#2649)

* fix: ensure the local manifest is used when possible

* fix: add missing tag for the models and events

* fix: regenerate db with new migration spawn and move

* tests: add missing tests
…e#2650)

* feat: add fee token to TransactionOption and TxnConfig

* fix: fix clap help text

* fix: remove unused file and switch to single match for fee config

* fix: add v3 to multicall and display better error for validation error

* fix: better display of options and update sepolia manifest
* feat: add back sozo auth + new sozo auth list

* feat: add permission cloning
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.