Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ version = "1.0.9"
crate-type = ["cdylib", "rlib", "staticlib"]

[dependencies]
dojo-world = { git = "https://github.com/dojoengine/dojo", rev = "1aa06e1" }
dojo-types = { git = "https://github.com/dojoengine/dojo", rev = "1aa06e1"}
torii-client = { git = "https://github.com/dojoengine/dojo", rev = "1aa06e1" }
dojo-world = { git = "https://github.com/dojoengine/dojo", rev = "0a186fa" }
dojo-types = { git = "https://github.com/dojoengine/dojo", rev = "0a186fa"}
torii-client = { git = "https://github.com/dojoengine/dojo", rev = "0a186fa" }
torii-grpc = { git = "https://github.com/dojoengine/dojo", features = [
"client",
], rev = "1aa06e1" }
torii-typed-data = { git = "https://github.com/dojoengine/dojo", rev = "1aa06e1" }
torii-relay = { git = "https://github.com/dojoengine/dojo", rev = "1aa06e1" }
], rev = "0a186fa" }
torii-typed-data = { git = "https://github.com/dojoengine/dojo", rev = "0a186fa" }
torii-relay = { git = "https://github.com/dojoengine/dojo", rev = "0a186fa" }

starknet = "0.12.0"
starknet-crypto = "0.7.2"
Expand Down
51 changes: 39 additions & 12 deletions dojo.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ struct Subscription;
struct EntityKeysClause;
struct Struct;
struct Token;
struct U256;
struct TokenBalance;
struct Provider;
struct Account;
Expand Down Expand Up @@ -211,6 +212,23 @@ typedef struct WorldMetadata {
struct CArrayCHashItemFieldElementModelMetadata models;
} WorldMetadata;

typedef enum ResultWorldMetadata_Tag {
OkWorldMetadata,
ErrWorldMetadata,
} ResultWorldMetadata_Tag;

typedef struct ResultWorldMetadata {
ResultWorldMetadata_Tag tag;
union {
struct {
struct WorldMetadata ok;
};
struct {
struct Error err;
};
};
} ResultWorldMetadata;

typedef enum ResultSubscription_Tag {
OkSubscription,
ErrSubscription,
Expand Down Expand Up @@ -266,9 +284,13 @@ typedef struct ResultCArrayToken {
};
} ResultCArrayToken;

typedef struct U256 {
uint8_t data[32];
} U256;

typedef struct Token {
const char *id;
struct FieldElement contract_address;
struct U256 token_id;
const char *name;
const char *symbol;
uint8_t decimals;
Expand Down Expand Up @@ -305,14 +327,10 @@ typedef struct IndexerUpdate {
} IndexerUpdate;

typedef struct TokenBalance {
uint64_t balance[4];
#if defined(TARGET_POINTER_WIDTH_32)
uint32_t balance[8]
#endif
;
struct U256 balance;
struct FieldElement account_address;
struct FieldElement contract_address;
const char *token_id;
struct U256 token_id;
} TokenBalance;

typedef enum ResultCArrayFieldElement_Tag {
Expand Down Expand Up @@ -788,7 +806,6 @@ extern "C" {
* Result containing pointer to new ToriiClient instance or error
*/
struct ResultToriiClient client_new(const char *torii_url,
const char *rpc_url,
const char *libp2p_relay_url,
struct FieldElement world);

Expand Down Expand Up @@ -1015,7 +1032,7 @@ struct ResultCArrayEntity client_event_messages(struct ToriiClient *client,
* # Returns
* WorldMetadata structure containing world information
*/
struct WorldMetadata client_metadata(struct ToriiClient *client);
struct ResultWorldMetadata client_metadata(struct ToriiClient *client);

/**
* Subscribes to entity state updates
Expand Down Expand Up @@ -1121,7 +1138,9 @@ struct ResultSubscription client_on_starknet_event(struct ToriiClient *client,
*/
struct ResultCArrayToken client_tokens(struct ToriiClient *client,
const struct FieldElement *contract_addresses,
uintptr_t contract_addresses_len);
uintptr_t contract_addresses_len,
const struct U256 *token_ids,
uintptr_t token_ids_len);

/**
* Subscribes to token updates
Expand All @@ -1137,6 +1156,8 @@ struct ResultCArrayToken client_tokens(struct ToriiClient *client,
struct ResultSubscription client_on_token_update(struct ToriiClient *client,
const struct FieldElement *contract_addresses,
uintptr_t contract_addresses_len,
const struct U256 *token_ids,
uintptr_t token_ids_len,
void (*callback)(struct Token));

/**
Expand All @@ -1156,7 +1177,9 @@ struct ResultCArrayTokenBalance client_token_balances(struct ToriiClient *client
const struct FieldElement *contract_addresses,
uintptr_t contract_addresses_len,
const struct FieldElement *account_addresses,
uintptr_t account_addresses_len);
uintptr_t account_addresses_len,
const struct U256 *token_ids,
uintptr_t token_ids_len);

/**
* Subscribes to indexer updates
Expand Down Expand Up @@ -1192,6 +1215,8 @@ struct ResultSubscription client_on_token_balance_update(struct ToriiClient *cli
uintptr_t contract_addresses_len,
const struct FieldElement *account_addresses,
uintptr_t account_addresses_len,
const struct U256 *token_ids,
uintptr_t token_ids_len,
void (*callback)(struct TokenBalance));

/**
Expand All @@ -1213,7 +1238,9 @@ struct Resultbool client_update_token_balance_subscription(struct ToriiClient *c
const struct FieldElement *contract_addresses,
uintptr_t contract_addresses_len,
const struct FieldElement *account_addresses,
uintptr_t account_addresses_len);
uintptr_t account_addresses_len,
const struct U256 *token_ids,
uintptr_t token_ids_len);

/**
* Serializes a string into a byte array
Expand Down
33 changes: 21 additions & 12 deletions dojo.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -592,24 +592,24 @@ struct Event {
FieldElement transaction_hash;
};

struct U256 {
uint8_t data[32];
};

struct Token {
const char *id;
FieldElement contract_address;
U256 token_id;
const char *name;
const char *symbol;
uint8_t decimals;
const char *metadata;
};

struct TokenBalance {
uint64_t balance[4];
#if defined(TARGET_POINTER_WIDTH_32)
uint32_t balance[8]
#endif
;
U256 balance;
FieldElement account_address;
FieldElement contract_address;
const char *token_id;
U256 token_id;
};

struct IndexerUpdate {
Expand Down Expand Up @@ -947,7 +947,6 @@ extern "C" {
/// # Returns
/// Result containing pointer to new ToriiClient instance or error
Result<ToriiClient*> client_new(const char *torii_url,
const char *rpc_url,
const char *libp2p_relay_url,
FieldElement world);

Expand Down Expand Up @@ -1144,7 +1143,7 @@ Result<CArray<Entity>> client_event_messages(ToriiClient *client,
///
/// # Returns
/// WorldMetadata structure containing world information
WorldMetadata client_metadata(ToriiClient *client);
Result<WorldMetadata> client_metadata(ToriiClient *client);

/// Subscribes to entity state updates
///
Expand Down Expand Up @@ -1236,7 +1235,9 @@ Result<Subscription*> client_on_starknet_event(ToriiClient *client,
/// Result containing array of Token information or error
Result<CArray<Token>> client_tokens(ToriiClient *client,
const FieldElement *contract_addresses,
uintptr_t contract_addresses_len);
uintptr_t contract_addresses_len,
const U256 *token_ids,
uintptr_t token_ids_len);

/// Subscribes to token updates
///
Expand All @@ -1250,6 +1251,8 @@ Result<CArray<Token>> client_tokens(ToriiClient *client,
Result<Subscription*> client_on_token_update(ToriiClient *client,
const FieldElement *contract_addresses,
uintptr_t contract_addresses_len,
const U256 *token_ids,
uintptr_t token_ids_len,
void (*callback)(Token));

/// Gets token balances for given accounts and contracts
Expand All @@ -1267,7 +1270,9 @@ Result<CArray<TokenBalance>> client_token_balances(ToriiClient *client,
const FieldElement *contract_addresses,
uintptr_t contract_addresses_len,
const FieldElement *account_addresses,
uintptr_t account_addresses_len);
uintptr_t account_addresses_len,
const U256 *token_ids,
uintptr_t token_ids_len);

/// Subscribes to indexer updates
///
Expand Down Expand Up @@ -1299,6 +1304,8 @@ Result<Subscription*> client_on_token_balance_update(ToriiClient *client,
uintptr_t contract_addresses_len,
const FieldElement *account_addresses,
uintptr_t account_addresses_len,
const U256 *token_ids,
uintptr_t token_ids_len,
void (*callback)(TokenBalance));

/// Updates an existing token balance subscription
Expand All @@ -1318,7 +1325,9 @@ Result<bool> client_update_token_balance_subscription(ToriiClient *client,
const FieldElement *contract_addresses,
uintptr_t contract_addresses_len,
const FieldElement *account_addresses,
uintptr_t account_addresses_len);
uintptr_t account_addresses_len,
const U256 *token_ids,
uintptr_t token_ids_len);

/// Serializes a string into a byte array
///
Expand Down
Loading
Loading